3859710e9738ec2f3ef756b87557108d3ca8ba5b
[gnulib.git] / ChangeLog
1 2006-10-10  Bruno Haible  <bruno@clisp.org>
2
3         Make it possible to #define stpcpy, strdup to aliases.
4         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
5         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
6
7 2006-10-10  Bruno Haible  <bruno@clisp.org>
8
9         Make it possible to #define gcd to an alias.
10         * lib/gcd.c: Include config.h.
11
12 2006-10-10  Bruno Haible  <bruno@clisp.org>
13
14         Make it possible to #define c_isascii to an alias.
15         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
16         defined. Undefine the macros before defining them, to avoid gcc
17         warnings.
18         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
19         define NO_C_CTYPE_MACROS early.
20
21 2006-10-10  Bruno Haible  <bruno@clisp.org>
22
23         Make it possible to #define set_program_name to an alias.
24         * lib/progname.c: Don't undefine set_program_name; instead, undefine
25         ENABLE_RELOCATABLE early.
26
27 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
28
29         Port to Tandem NSK OSS, which has 64-bit signed int but at most
30         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
31         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
32         More generally, don't assume that 64-bit signed int is available
33         if unsigned int is, and vice versa.
34         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
35         unsigned symbols, not on their signed counterparts.
36         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
37         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
38         (UINT64_C, UINTMAX_C):
39         Likewise.
40         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
41         unsigned counterparts.
42         (Have_long_long, Unsigned): New macros.
43         (Int): Renamed from INT.
44         (strtoimax): Use the new macros.
45         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
46         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
47         * modules/inttypes (inttypes.h): Substitute
48         HAVE_UNSIGNED_LONG_LONG_INT.
49         * modules/stdint (stdint.h): Likewise.
50         (Files): Add m4/ulonglong.m4.
51
52 2006-10-10  Bruno Haible  <bruno@clisp.org>
53
54         Fix a gcc -Wshadow warning.
55         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
56         to 'bucket'.
57         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
58         gl_linked_indexof_from_to): Likewise.
59         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
60         Likewise.
61         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
62         Likewise.
63         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
64         Reported by Eric Blake.
65
66 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
67
68         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
69         for NetBSD.  Problem reported by Bruno Haible.
70
71 2006-10-09  Jim Meyering  <jim@meyering.net>
72
73         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
74         Patch from Bruno Haible.
75
76 2006-10-09  Jim Meyering  <jim@meyering.net>
77
78         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
79         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
80         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
81
82 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
83
84         Don't include <config.h> twice; this doesn't work in some cases,
85         e.g., when config.h has "#define intmax_t long long int" and
86         we include <config.h>, <inttypes.h>, <config.h> in that order.
87         Problem reported by Matthew Woehlke in:
88         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
89         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
90         * lib/fts-cycle.c: Don't include config.h.
91         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
92         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
93         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
94         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
95         inttypes.h.
96         * lib/xstrtoumax.c: Likewise.
97         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
98         __strtol and the like, so that this module is more like its siblings.
99         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
100         Remove; no longer needed now that we assume gnulib inttypes.h.
101
102 2006-10-08  Bruno Haible  <bruno@clisp.org>
103
104         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
105         option.
106
107 2006-10-07  Jim Meyering  <jim@meyering.net>
108
109         * modules/inttypes (inttypes.h): Revert what seems to have been
110         an inadvertent part of today's change: use "|", not "/" in the
111         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
112
113 2006-10-07  Bruno Haible  <bruno@clisp.org>
114
115         * modules/sublist: New file.
116
117 2006-10-07  Bruno Haible  <bruno@clisp.org>
118
119         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
120         * modules/argz (argz.h): Likewise.
121         * modules/arpa_inet (arpa/inet.h): Likewise.
122         * modules/byteswap (byteswap.h): Likewise.
123         * modules/configmake (configmake.h): Likewise.
124         * modules/fcntl (fcntl.h): Likewise.
125         * modules/fnmatch (fnmatch.h): Likewise.
126         * modules/getopt (getopt.h): Likewise.
127         * modules/glob (glob.h): Likewise.
128         * modules/inttypes (inttypes.h): Likewise.
129         * modules/netinet_in (netinet/in.h): Likewise.
130         * modules/poll (poll.h): Likewise.
131         * modules/stdbool (stdbool.h): Likewise.
132         * modules/stdint (stdint.h): Likewise.
133         * modules/sys_select (sys/select.h): Likewise.
134         * modules/sys_socket (sys/socket.h): Likewise.
135         * modules/sys_stat (sys/stat.h): Likewise.
136         * modules/sysexits (sysexits.h): Likewise.
137         * modules/unistd (unistd.h): Likewise.
138         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
139         Add a "DO NOT EDIT" comment to the generated file.
140         (func_import): Likewise for gnulib-comp.m4.
141
142 2006-10-07  Bruno Haible  <bruno@clisp.org>
143
144         * lib/gl_sublist.h: New file.
145         * lib/gl_sublist.c: New file.
146
147 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
148
149         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
150         name (relative to the original working directory) and the file
151         name component (relative to the temporary working directory).  All
152         callers changed.
153         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
154         * lib/mkdir-p.c (make_dir_parents): Likewise.
155         * lib/mkdir-p.h (make_dir_parents): Likewise.
156
157 2006-10-06  Eric Blake  <ebb9@byu.net>
158
159         Define several macros for use by the clean-temp module.
160         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
161         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
162         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
163
164         * lib/clean-temp.h (close_stream_temp): New declaration.
165         * lib/clean-temp.c (includes): Pull in headers according to what
166         other modules are in use.
167         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
168
169 2006-10-06  Bruno Haible  <bruno@clisp.org>
170
171         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
172         instead of fopen, fwriteerror.
173
174 2006-10-06  Bruno Haible  <bruno@clisp.org>
175
176         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
177         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
178         int.
179         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
180         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
181         Return an error indicator.
182         Suggested by Eric Blake.
183
184 2006-10-06  Bruno Haible  <bruno@clisp.org>
185
186         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
187         Reported by Eric Blake.
188
189 2006-10-06  Bruno Haible  <bruno@clisp.org>
190
191         * modules/closeout (Description): Mention stderr too.
192
193 2006-10-06  Bruno Haible  <bruno@clisp.org>
194         and Paul Eggert  <eggert@cs.ucla.edu>
195
196         * lib/closeout.c (close_stdout): Also close stderr.
197         * lib/closeout.h: Update comment.
198
199 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
200
201         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
202         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
203         * lib/dirchownmod.c: Include lchown.h.
204         * lib/lchown.c: Don't include files that lchown.h now includes.
205         Don't declare chown, since lchown.h now does that.
206         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
207         (lchown): Define to rpl_chown if lchown is declared but
208         does not exist.  Declare using a prototype if lchown is not
209         declared.  Add a copyright notice.
210         * lib/mkstemp.h: Include <unistd.h>.
211         * lib/openat.c: Include lchown.h.
212
213         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
214         we now test for that separately.
215         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
216         rather than O_NOFOLLOW, when testing whether it's possible to
217         avoid a race condition reliably.
218         * lib/savewd.c (savewd_chdir): Likewise.
219
220         Remove macros that are no longer needed now that stdint.h is
221         reliable.
222         * lib/fsusage.c (UINTMAX_MAX): Remove.
223         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
224         * lib/utimecmp.c (SIZE_MAX): Remove.
225
226         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
227
228         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
229         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
230         O_NOATIME works.
231
232 2006-10-05  Bruno Haible  <bruno@clisp.org>
233
234         * lib/gl_list.h (gl_sortedlist_search_from_to,
235         gl_sortedlist_indexof_from_to): New declarations.
236         (gl_list_implementation): New fields sortedlist_search_from_to,
237         sortedlist_indexof_from_to.
238         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
239         inline functions.
240         * lib/gl_list.c (gl_sortedlist_search_from_to,
241         gl_sortedlist_indexof_from_to): New functions.
242         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
243         function.
244         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
245         (gl_array_sortedlist_search_from_to): New function.
246         (gl_array_list_implementation): Update.
247         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
248         function.
249         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
250         (gl_carray_sortedlist_search_from_to): New function.
251         (gl_carray_list_implementation): Update.
252         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
253         gl_linked_sortedlist_indexof_from_to): New functions.
254         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
255         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
256         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
257         gl_tree_sortedlist_indexof_from_to): New functions.
258         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
259         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
260         Update.
261         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
262         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
263         Update.
264
265 2006-10-05  Bruno Haible  <bruno@clisp.org>
266
267         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
268         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
269         (struct gl_list_implementation): Add fields search_from_to,
270         indexof_from_to. Remove fields search, indexof.
271         (gl_list_search): Use the search_from_to method.
272         (gl_list_search_from, gl_list_search_from_to): New functions.
273         (gl_list_indexof): Use the indexof_from_to method.
274         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
275         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
276         (gl_list_search_from, gl_list_search_from_to): New functions.
277         (gl_list_indexof): Use the indexof_from_to method.
278         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
279         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
280         gl_array_indexof. Add start_index, end_index arguments.
281         (gl_array_search_from_to): Renamed from gl_array_search. Add
282         start_index, end_index arguments.
283         (gl_array_remove, gl_array_list_implementation): Update.
284         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
285         gl_carray_indexof. Add start_index, end_index arguments.
286         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
287         start_index, end_index arguments.
288         (gl_carray_remove, gl_carray_list_implementation): Update.
289         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
290         gl_linked_search. Add start_index, end_index arguments.
291         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
292         start_index, end_index arguments.
293         (gl_linked_remove): Update.
294         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
295         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
296         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
297         field to 'size_t'.
298         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
299         gl_tree_search. Add start_index, end_index arguments.
300         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
301         start_index, end_index arguments.
302         (gl_tree_remove): Update.
303         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
304         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
305         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
306         function.
307         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
308         gl_tree_search. Add start_index, end_index arguments.
309         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
310         start_index, end_index arguments.
311         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
312         Update.
313         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
314
315 2006-10-05  Bruno Haible  <bruno@clisp.org>
316
317         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
318
319         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
320         fwriteerror_temp): New declarations.
321         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
322         (descriptors): New variable.
323         (cleanup): First, close the descriptors.
324         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
325         fclose_temp, fwriteerror_temp): New functions.
326
327 2006-10-04  Jim Meyering  <jim@meyering.net>
328
329         * lib/fts.c (fts_open): Tiny comment change.
330
331 2006-10-04  Bruno Haible  <bruno@clisp.org>
332
333         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
334         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
335         gl_LOCK_BODY.
336         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
337         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
338         gl_LOCK_EARLY_BODY.
339         (gl_LOCK): Require gl_LOCK_BODY.
340
341 2006-10-04  Bruno Haible  <bruno@clisp.org>
342
343         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
344         (gl_oset_search_atleast): New declaration.
345         (struct gl_oset_implementation): Add field 'search_atleast'.
346         (gl_oset_search_atleast): New inline function.
347         * lib/gl_oset.c (gl_oset_search_atleast): New function.
348         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
349         (gl_array_oset_implementation): Update.
350         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
351         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
352         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
353
354 2006-10-04  Bruno Haible  <bruno@clisp.org>
355
356         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
357
358 2006-10-03  Bruno Haible  <bruno@clisp.org>
359
360         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
361         from gl_avltreehash_list_implementation.
362
363 2006-10-03  Bruno Haible  <bruno@clisp.org>
364
365         * lib/gl_oset.c (gl_oset_add): Fix return type.
366
367 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
368
369         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
370
371 2006-10-02  Eric Blake  <ebb9@byu.net>
372
373         * modules/strnlen (Depends-on): Add extensions.
374
375 2006-10-02  Eric Blake  <ebb9@byu.net>
376
377         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
378         definition in 2.60+.
379
380 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
381
382         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
383         checks.
384
385 2006-10-02  Bruno Haible  <bruno@clisp.org>
386
387         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
388         to the AUTOMAKE_OPTIONS.
389         Reported by Jim Meyering.
390
391 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
392
393         Work around bug in Solaris 10 /proc file system:
394         /proc/self/fd/NNN/.. isn't the parent directory of
395         the directory whose file descriptor is NNN.  This needs to
396         be worked around at run time, not compile time, since a
397         program might be built on Solaris 8, where things work, and
398         run on Solaris 10.
399         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
400         to use the following interface instead:
401         (OPENAT_BUFFER_SIZE): New macro.
402         (openat_proc_name): New function.
403         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
404         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
405         Likewise.
406         * lib/openat-proc.c: New file.
407         * modules/openat (Files): Add lib/openat-proc.c.
408         (Depends-on): Add same-inode, stdbool.
409         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
410
411 2006-09-29  Bruno Haible  <bruno@clisp.org>
412
413         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
414         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
415         argument. Set stdout_closed before testing for ferror, not after.
416         (fwriteerror, fwriteerror_no_ebadf): New functions.
417
418 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
419
420         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
421
422 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
423
424         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
425         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
426
427 2006-09-28  Jim Meyering  <jim@meyering.net>
428
429         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
430         Include <unistd.h>.
431
432 2006-09-28  Bruno Haible  <bruno@clisp.org>
433
434         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
435         * modules/linkedhash-list (Depends-on): Likewise.
436         * modules/rbtreehash-list (Depends-on): Likewise.
437
438 2006-09-28  Bruno Haible  <bruno@clisp.org>
439
440         * lib/strndup.h: Simplify the redefinition of strndup.
441         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
442         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
443
444 2006-09-28  Bruno Haible  <bruno@clisp.org>
445
446         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
447         * lib/gl_linkedhash_list.c: Likewise.
448         * lib/gl_rbtreehash_list.c: Likewise.
449
450 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
451
452         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
453         getaddrinfo.
454
455         * lib/__fpending.h: Don't include <stdio_ext.h> unless
456         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
457         it causes <stdio_ext.h> to cause a compile-time error.
458         Problem reported by Nelson H. F. Beebe.
459         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
460         of HAVE_DECL___PENDING.
461
462         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
463         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
464         declaration.
465
466 2006-09-27  Jim Meyering  <jim@meyering.net>
467
468         This file could end up with a definition for a function
469         named __strndup, rather than rpl_strndup on a system with
470         incomplete weak_alias support.
471         * lib/strndup.c (strndup): Rename from __strndup.
472         Remove #defines that used to map __strndup to strndup.
473         Don't use K&R prototypes.
474         Remove LIBC-related code, since this file is not sync'd with glibc.
475         * lib/strndup.h: Revamp, accordingly.
476         * m4/strndup.m4: Modernize.
477
478 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
479
480         * modules/savewd (Depends-on): Add 'raise'.
481         * lib/savewd.c: Include <signal.h>, for 'raise'.
482
483 2006-09-26  Jim Meyering  <jim@meyering.net>
484
485         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
486         when we detect Darwin 8.7.0's acl_get_file bug.
487         Rearrange to perform the new (below) run-test while $LIBS
488         contains any acl-related library.  Set USE_ACL at the end.
489         (gl_ACL_GET_FILE): New function.
490
491 2006-09-26  Eric Blake  <ebb9@byu.net>
492
493         * lib/verror.c: Include <config.h> unconditionally.
494
495 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
496
497         * modules/clock-time (Maintainer): Add self.
498         * modules/getlogin_r (Depends-on): Add extensions.
499
500 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
501
502         * modules/clock-time: New module.
503         * modules/nanosleep (Depends-on): Add clock-time.
504         * modules/gethrxtime (Depends-on): Likewise.
505         * modules/gettime (Depends-on): Likewise.
506         * modules/settime (Depends-on): Likewise.
507
508         * modules/fts-lgpl: Depend on openat.
509         * modules/mkancesdirs: Depend on savewd.
510         * modules/mkdir-p: Likewise.
511
512 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
513
514         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
515
516         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
517         `gl_have_arbitrary_file_name_length_limit' to
518         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
519         actually works between configure runs.
520
521 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
522             Bruno Haible  <bruno@clisp.org>
523
524         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
525
526 2006-09-25  Jim Meyering  <jim@meyering.net>
527
528         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
529         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
530
531 2006-09-25  Eric Blake  <ebb9@byu.net>
532
533         * gnulib-tool (func_import, func_create_testdir): Fix typos in
534         exec's in 2006-09-18 patch when shuffling fds.
535
536 2006-09-25  Bruno Haible  <bruno@clisp.org>
537
538         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
539         Reported by Jim Meyering.
540
541 2006-09-24  Jim Meyering  <jim@meyering.net>
542
543         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
544         compare a pointer against a literal "0".  That caused failures with
545         at least HP-UX's hpcc.
546
547 2006-09-22  Simon Josefsson  <jas@extundo.com>
548
549         * modules/gc-sha1:
550         * modules/gc-md4:
551         * modules/gc-hmac-sha1:
552         * modules/gc-hmac-md5:
553         * modules/gc-des:
554         * modules/gc-arcfour: Distribute more files.
555
556 2006-09-22  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
557
558         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
559         (gl_linked_iterator_from_to): Initialize struct completely.
560         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
561         (gl_tree_iterator_from_to): Likewise
562         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
563         * lib/gl_array_list.c [lint] (gl_array_iterator)
564         (gl_array_iterator_from_to): Likewise.
565         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
566         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
567         (gl_carray_iterator_from_to): Likewise.
568
569         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
570         * lib/md4.c (md4_process_block): Remove unused variable.
571         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
572         parentheses for clarity.
573
574 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
575
576         * modules/bison-i18n (Depends-on): Add gettext.
577
578 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
579
580         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
581         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
582         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
583         also add missing comma that caused broken test.
584         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
585         stdlib.h, for `abort'.
586         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
587         variables.
588         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
589         include unistd.h if present, for `rmdir'.
590         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
591         variables.
592         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
593         in the process include standard headers for prototypes.
594         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
595         gets declared on GNU/Linux.
596         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
597         unistd.h, for `rmdir'.
598         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
599
600         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
601         always true.
602         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
603
604         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
605
606 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
607
608         * gnulib-tool (func_version): Create output all at once.  This
609         may help avoid triggering unnecessary SIGPIPEs, and at any
610         rate it doesn't hurt.
611
612 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
613             Bruno Haible  <bruno@clisp.org>
614
615         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
616         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
617         * m4/signed.m4 (bh_C_SIGNED): Likewise.
618
619         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
620         (gl_FUNC_VASPRINTF): Invoke it.
621
622 2006-09-22  Bruno Haible  <bruno@clisp.org>
623
624         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
625         getloadavg.c as first argument.
626
627 2006-09-22  Bruno Haible  <bruno@clisp.org>
628
629         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
630         at the beginning of the gl_INIT macro.
631         * modules/getloadavg (configure.ac): Pass $gl_source_base to
632         gl_GETLOADAVG.
633
634 2006-09-22  Bruno Haible  <bruno@clisp.org>
635
636         * gnulib-tool (func_create_megatestdir): Don't include the config-h
637         module.
638         Suggested by Ralf Wildenhues.
639
640 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
641
642         Import this patch from libc:
643
644         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
645
646         * lib/regex_internal.c (re_string_reconstruct): Handle
647         offset < pstr->valid_raw_len && pstr->offsets_needed case.
648         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
649         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
650         re_string_context_at.
651
652         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
653         now requires it.
654         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
655         gl_REGEX now does it for us.
656         (gl_REGEX): Add test taken from
657         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
658
659         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
660         Check that large offsets work.  Modernize Autoconf usages.
661         Prefer "yes" to mean a good thing rather than a bad.
662         Don't put "#define mkstemp" in config.h, as this might interfere
663         with standard system headers that "#define mkstemp mkstemp64".
664
665         * modules/mkstemp (Depends-on): Add extensions, so that
666         mkstemp is visible on some platforms.
667         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
668         (Include): Change to "mkstemp.h" from <stdlib.h>.
669         (Files): Add mkstemp.h.
670
671         * lib/mkstemp.h: New file, since some standard headers
672         #define mkstemp.
673         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
674         Include "mkstemp.h".
675         Make the _LIBC code resemble glibc original more,
676         e.g., use K&R style.
677         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
678         (mkstemp): Remove, since mkstemp.h does this for us.
679         * lib/stdlib--.h: Include mkstemp.h.
680
681         Import this patch from libc:
682
683         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
684
685         * lib/tempname.c (__gen_tempname): Change attempts_min
686         into a macro.  Use preprocessor to decide how to initialize
687         attempts [Coverity CID 67].
688
689 2006-09-20  Bruno Haible  <bruno@clisp.org>
690
691         * lib/mkdtemp.c: Import from libc.
692         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
693                 * sysdeps/posix/tempname.c (__gen_tempname): Change
694                 attempts_min into a macro.  Use preprocessor to decide how to
695                 initialize attempts [Coverity CID 67].
696         2001-11-27  Paul Eggert  <eggert@twinsun.com>
697                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
698                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
699
700 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
701
702         * gnulib-tool (func_exit): New function, to allow to pass the
703         exit status portably through the trap.  Use everywhere.
704         (--help, --version): Signal a write error.
705         (trap): catch SIGPIPE, for write errors.
706         Exit at the end of the trap, with the correct exit status.
707
708 2006-09-19  Karl Berry  <karl@gnu.org>
709
710         * doc/gnulib.texi: note about the license texinfo files.
711
712 2006-09-19  Eric Blake  <ebb9@byu.net>
713
714         * gnulib-tool: Avoid space-tab.
715
716 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
717
718         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
719         that prevented coreutils 6.1 from building.  Problem reported
720         by Petter Reinholdtsen.
721
722 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
723
724         * gnulib-tool (avoidlist): Fix typo that broke options like
725         --avoid=lock that are used by coreutils bootstrap.
726
727 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
728
729         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
730         more systematically.
731
732 2006-09-18  Jim Meyering  <jim@meyering.net>
733
734         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
735
736 2006-09-18  Bruno Haible  <bruno@clisp.org>
737
738         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
739
740 2006-09-18  Bruno Haible  <bruno@clisp.org>
741
742         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
743         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
744         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
745         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
746         * m4/gettext.m4: Require autoconf >= 2.52.
747         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
748         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
749         of gl_cv_header_inttypes_h.
750
751 2006-09-18  Bruno Haible  <bruno@clisp.org>
752
753         * lib/javaversion.c: Include configmake.h.
754
755 2006-09-18  Bruno Haible  <bruno@clisp.org>
756
757         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
758         avoid that the while loops be executed in a subshell.
759
760 2006-09-18  Bruno Haible  <bruno@clisp.org>
761
762         * MODULES.html.sh (func_module): Break long lines.
763         Suggested by Bruce Korb <bkorb@gnu.org>.
764
765 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
766
767         Speed up by a factor of 1.12.
768         * gnulib-tool (nl): New variable.
769         (func_import): Rewrite include directive extraction to only read each
770         directive once.
771
772 2006-09-17  Bruno Haible  <bruno@clisp.org>
773
774         * modules/javaversion (Makefile.am): Remove DEFS setting.
775         (Depends-on): Add configmake, for PKGDATADIR definition.
776
777 2006-09-17  Bruno Haible  <bruno@clisp.org>
778
779         * gnulib-tool (func_create_testdir): Rewrite all files at once.
780
781 2006-09-17  Bruno Haible  <bruno@clisp.org>
782
783         * gnulib-tool (func_append): New function, stolen from libtool.m4.
784         (func_modules_transitive_closure, func_modules_add_dummy,
785         func_modules_to_filelist, func_import, func_create_testdir,
786         func_create_megatestdir, ...): Use it wherever possible.
787         Suggested by Ralf Wildenhues.
788
789 2006-09-16  Karl Berry  <karl@gnu.org>
790
791         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
792         to avoid sectioning errors.
793         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
794         [ifinfo]: blank line after @center-ed titles.
795         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
796         Spell FSF address consistently with others.
797         (These changes approved by rms.)
798
799 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
800
801         Speed up by a factor of 1.61.
802         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
803         already checked module names again.
804
805 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
806
807         Speed up by a factor of 1.13.
808         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
809         for new_files, and the input to func_add_or_update.
810
811 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
812
813         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
814         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
815
816 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
817
818         * modules/mkancesdirs (Depends-on): Add fcntl.
819         * modules/savewd: New file.
820         * MODULES.html.sh (File system functions): Add savewd.
821
822         * modules/configmake (Makefile.am): Add support for the
823         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
824
825 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
826
827         * m4/savewd.m4: New file.
828
829 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
830
831         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
832         (dirchownmod): New arg FD.  All callers changed.
833         Use FD rather than opening the directory ourself, as opening is
834         now the caller's responsibility.
835         * lib/dirchownmod.h: Likewise.
836         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
837         hosts that require <sys/types.h> before <sys/stat.h>.  Include
838         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
839         (test_dir): Remove.
840         (mkancesdirs): Return length of prefix of FILE that has already
841         been made, or -2 if there is a child doing the work.  Redo
842         algorithm so that it is O(N) rather than O(N**2).  Optimize away
843         ".", and treat ".." specially since it might stray back into
844         already-created areas.  Use a subprocess if necessary.  New arg
845         WD; all users changed.  MAKE_DIR function should now return 1
846         if it creates a directory that is not readable.  Return -2 if
847         a child process is spun off.
848         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
849         Adjust signature to match code.
850         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
851         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
852         all users changed.
853         * lib/savewd.c, savewd.h: New files.
854
855 2006-09-15  Jim Meyering  <jim@meyering.net>
856
857         * modules/rename-dest-slash: New module.
858         * MODULES.html.sh (posix_compat): Add it here.
859
860         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
861
862 2006-09-15  Jim Meyering  <jim@meyering.net>
863
864         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
865         file.
866
867         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
868
869 2006-09-15  Jim Meyering  <jim@meyering.net>
870
871         * lib/rename-dest-slash.c (has_trailing_slash): Use
872         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
873         (rpl_rename_dest_slash): Perform the cheaper trailing slash
874         test before testing whether SRC is a directory.
875         Suggestions from Bruno Haible.
876
877         Avoid a warning about an unused variable.
878         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
879         into the #ifdef block where it's used.
880
881         * lib/rename-dest-slash.c: New file.
882
883 2006-09-14  Bruno Haible  <bruno@clisp.org>
884
885         * lib/allocsa.c: Include <config.h> unconditionally.
886         * lib/asnprintf.c: Likewise.
887         * lib/asprintf.c: Likewise.
888         * lib/c-strcasecmp.c: Likewise.
889         * lib/c-strcasestr.c: Likewise.
890         * lib/c-strncasecmp.c: Likewise.
891         * lib/c-strstr.c: Likewise.
892         * lib/classpath.c: Likewise.
893         * lib/clean-temp.c: Likewise.
894         * lib/concatpath.c: Likewise.
895         * lib/copy-file.c: Likewise.
896         * lib/csharpcomp.c: Likewise.
897         * lib/csharpexec.c: Likewise.
898         * lib/execute.c: Likewise.
899         * lib/fatal-signal.c: Likewise.
900         * lib/findprog.c: Likewise.
901         * lib/fwriteerror.c: Likewise.
902         * lib/gl_array_list.c: Likewise.
903         * lib/gl_array_oset.c: Likewise.
904         * lib/gl_avltree_list.c: Likewise.
905         * lib/gl_avltree_oset.c: Likewise.
906         * lib/gl_avltreehash_list.c: Likewise.
907         * lib/gl_carray_list.c: Likewise.
908         * lib/gl_linked_list.c: Likewise.
909         * lib/gl_linkedhash_list.c: Likewise.
910         * lib/gl_list.c: Likewise.
911         * lib/gl_oset.c: Likewise.
912         * lib/gl_rbtree_list.c: Likewise.
913         * lib/gl_rbtree_oset.c: Likewise.
914         * lib/gl_rbtreehash_list.c: Likewise.
915         * lib/imaxabs.c: Likewise.
916         * lib/imaxdiv.c: Likewise.
917         * lib/javacomp.c: Likewise.
918         * lib/javaexec.c: Likewise.
919         * lib/javaversion.c: Likewise.
920         * lib/linebreak.c: Likewise.
921         * lib/localcharset.c: Likewise.
922         * lib/lock.c: Likewise.
923         * lib/mbchar.c: Likewise.
924         * lib/mbswidth.c: Likewise.
925         * lib/mkdtemp.c: Likewise.
926         * lib/pipe.c: Likewise.
927         * lib/printf-args.c: Likewise.
928         * lib/printf-parse.c: Likewise.
929         * lib/progname.c: Likewise.
930         * lib/progreloc.c: Likewise.
931         * lib/readlink.c: Likewise.
932         * lib/sh-quote.c: Likewise.
933         * lib/stpcpy.c: Likewise.
934         * lib/stpncpy.c: Likewise.
935         * lib/strcasecmp.c: Likewise.
936         * lib/strcasestr.c: Likewise.
937         * lib/strcspn.c: Likewise.
938         * lib/striconv.c: Likewise.
939         * lib/strncasecmp.c: Likewise.
940         * lib/strnlen1.c: Likewise.
941         * lib/strstr.c: Likewise.
942         * lib/strtok_r.c: Likewise.
943         * lib/tls.c: Likewise.
944         * lib/tmpdir.c: Likewise.
945         * lib/unicodeio.c: Likewise.
946         * lib/unsetenv.c: Likewise.
947         * lib/vasnprintf.c: Likewise.
948         * lib/vasprintf.c: Likewise.
949         * lib/wait-process.c: Likewise.
950         * lib/xallocsa.c: Likewise.
951         * lib/xsetenv.c: Likewise.
952         * lib/xstriconv.c: Likewise.
953
954 2006-09-13  Simon Josefsson  <jas@extundo.com>
955
956         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
957         that internally, suggested by Ralf Wildenhues
958         <Ralf.Wildenhues@gmx.de>.
959
960 2006-09-13  Simon Josefsson  <jas@extundo.com>
961
962         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
963         @LIBOBJS@.
964         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
965
966 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
967
968         * lib/_fpending.c: Include <config.h> unconditionally, since we no
969         longer worry about uses that don't define HAVE_CONFIG_H.
970         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
971         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
972         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
973         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
974         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
975         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
976         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
977         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
978         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
979         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
980         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
981         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
982         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
983         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
984         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
985         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
986         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
987         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
988         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
989         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
990         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
991         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
992         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
993         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
994         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
995         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
996         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
997         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
998         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
999         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
1000         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
1001         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
1002         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
1003         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
1004         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
1005         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
1006         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
1007         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
1008         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
1009         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
1010         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
1011         Likewise.
1012
1013 2006-09-13  Eric Blake  <ebb9@byu.net>
1014
1015         * lib/getopt.c: Fix typo in last commit.
1016
1017 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
1018
1019         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
1020         dgettext.
1021
1022 2006-09-12  Jim Meyering  <jim@meyering.net>
1023
1024         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
1025         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
1026         Reported by Nelson H. F. Beebe.
1027
1028 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
1029
1030         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
1031         program_invocation_name and program_invocation_short_name are
1032         initialized.
1033         * lib/argp-namefrob.h: Move declarations of program_invocation_name
1034         and program_invocation_short_name to argp.h, so they are visible
1035         to user programs.
1036         * lib/argp.h: Likewise
1037
1038 2006-09-10  Bruno Haible  <bruno@clisp.org>
1039
1040         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
1041         m4/inttypes_h.m4, m4/uintmax_t.m4.
1042
1043 2006-09-10  Bruno Haible  <bruno@clisp.org>
1044
1045         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
1046         gl_AC_TYPE_UINTMAX_T.
1047
1048 2006-09-10  Bruno Haible  <bruno@clisp.org>
1049
1050         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
1051
1052 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
1053
1054         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
1055         convention.  Text proposed by Bruno Haible.
1056         (struct argp_option): Document the use of N_() wrappers.
1057
1058         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
1059         '\v', and translate the two parts separately, instead of feeding
1060         the whole string to gettext.  This allows to exclude
1061         '\v' from the strings visible to the translator by writing doc
1062         strings as N_("..") "\v" N_("..").
1063
1064 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
1065
1066         * config/srclist.txt: Undo latest change; the bug was fixed.
1067
1068 2006-09-09  Bruno Haible  <bruno@clisp.org>
1069
1070         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
1071         assignments if building a library without libtool.
1072         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
1073         in func_emit_lib_Makefile_am.
1074         (func_import): When building a static library libfoo.a, arrange to
1075         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
1076         (func_create_testdir): Likewise.
1077         * modules/gc (configure.ac, Makefile.am): If building statically,
1078         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
1079         * modules/iconvme (configure.ac, Makefile.am): Likewise.
1080         * modules/striconv (configure.ac, Makefile.am): Likewise.
1081         Based on a suggestion by Ralf Wildenhues.
1082
1083 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
1084
1085         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
1086         Check for unistd.h too, since Autoconf doesn't assume POSIX.
1087         Also:
1088
1089         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
1090         Add year_2050_test to catch glibc bug 2821
1091         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
1092
1093         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
1094         Prefer #ifdef to #if.
1095
1096         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
1097         Return from 'main' instead of calling 'exit'.
1098
1099 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
1100
1101         * lib/mktime.c (guess_time_tm): Fix bug where mktime
1102         returned the maximum time_t value rather than (time_t) -1.
1103         Problem originally reported by William Bardwell
1104         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
1105
1106         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
1107         Moved to here ...
1108         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
1109         ... from here.
1110
1111 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
1112
1113         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
1114         2821 is fixed.
1115
1116 2006-09-08  Jim Meyering  <jim@meyering.net>
1117
1118         Don't make generated files read-only.  That would bother too many
1119         people.  However, do retain the ability to work when targets are
1120         read-only: remove the destination and temporary files before writing
1121         them (when generated via sed or echo), or by using the -f option for
1122         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
1123         * modules/alloca-opt, modules/argz, modules/arpa_inet:
1124         * modules/byteswap, modules/configmake, modules/fcntl:
1125         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
1126         * modules/localcharset, modules/netinet_in, modules/poll:
1127         * modules/stdbool, modules/stdint, modules/sys_select:
1128         * modules/sys_socket, modules/sys_stat, modules/sysexits:
1129
1130 2006-09-08  Jim Meyering  <jim@meyering.net>
1131
1132         Avoid new build failure on FreeBSD 6.0.
1133         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
1134         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
1135         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
1136
1137 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1138
1139         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
1140
1141 2006-09-07  Jim Meyering  <jim@meyering.net>
1142
1143         Fix global typo in last change: use chmod u-w, not chmod u-x.
1144         Spotted by Paul Eggert and Bruce Korb.
1145         * modules/alloca-opt, modules/argz, modules/arpa_inet:
1146         * modules/byteswap, modules/configmake, modules/fcntl:
1147         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
1148         * modules/localcharset, modules/netinet_in, modules/poll:
1149         * modules/stdbool, modules/stdint, modules/sys_select:
1150         * modules/sys_socket, modules/sys_stat, modules/sysexits:
1151
1152 2006-09-06  Jim Meyering  <jim@meyering.net>
1153
1154         Make generated files be read-only.
1155         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
1156         Ensure that each generated file is now read-only.
1157         * modules/argz: Likewise.
1158         * modules/arpa_inet: Likewise.
1159         * modules/byteswap: Likewise.
1160         * modules/configmake: Likewise.
1161         * modules/fcntl: Likewise.
1162         * modules/fnmatch: Likewise.
1163         * modules/getopt: Likewise.
1164         * modules/glob: Likewise.
1165         * modules/inttypes: Likewise.
1166         * modules/netinet_in: Likewise.
1167         * modules/poll: Likewise.
1168         * modules/stdbool: Likewise.
1169         * modules/stdint: Likewise.
1170         * modules/sys_select: Likewise.
1171         * modules/sys_socket: Likewise.
1172         * modules/sys_stat: Likewise.
1173         * modules/sysexits: Likewise.
1174         * modules/localcharset: Same as above, but continue using temporary
1175         file named "t-$@" (why different?) rather than the "$@-t" used
1176         everywhere else.
1177
1178         * modules/sysexits (Makefile.am): Replace literal occurrences
1179         of "sysexit.h" more readable, and more consistent, "$@".
1180
1181 2006-09-06  Bruno Haible  <bruno@clisp.org>
1182
1183         * modules/striconv: New file.
1184         * modules/xstriconv: New file.
1185         * MODULES.html.sh (Internationalization functions): Add striconv,
1186         xstriconv.
1187
1188 2006-09-06  Bruno Haible  <bruno@clisp.org>
1189
1190         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
1191         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
1192         not using libtool correctly.
1193
1194 2006-09-06  Bruno Haible  <bruno@clisp.org>
1195
1196         * lib/striconv.h: New file.
1197         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
1198         iconvstring.c.
1199         * lib/xstriconv.h: New file.
1200         * lib/xstriconv.c: New file.
1201
1202 2006-09-06  Bruno Haible  <bruno@clisp.org>
1203
1204         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
1205         lib_..._LDFLAGS.
1206
1207 2006-09-05  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1208
1209         * lib/argz_.h: Sync from Libtool.
1210
1211         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
1212                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1213
1214         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
1215
1216 2006-09-05  Davide Angelocola <davide.angelocola@tiscali.it>
1217
1218         * modules/trim: New file.
1219
1220 2006-09-05  Davide Angelocola <davide.angelocola@tiscali.it>
1221
1222         * lib/trim.h: New file.
1223         * lib/trim.c: New file.
1224
1225 2006-09-05  Bruno Haible  <bruno@clisp.org>
1226
1227         * MODULES.html.sh (String handling): Add trim.
1228
1229 2006-09-04  Karl Berry  <karl@gnu.org>
1230
1231         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
1232         until next release.
1233
1234 2006-09-03  Bruno Haible  <bruno@clisp.org>
1235
1236         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
1237         correctly.
1238
1239 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
1240
1241         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
1242         not gl_GETLOADAVG.  Omit unneeded semicolons.
1243         Problems reported by Ralf Wildenhues in
1244         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
1245         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
1246         at the end, which is the usual gnulib style.
1247
1248         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
1249         of doing all the work ourselves.
1250         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
1251         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
1252
1253 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
1254
1255         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
1256         Problem reported by Ralf Wildenhues in
1257         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
1258
1259         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
1260         HAVE_STRUCT_STATFS_F_FSTYPENAME.
1261
1262 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
1263
1264         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
1265         yesterday's patch by changing test -n to test -z.
1266
1267 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
1268
1269         * modules/getloadavg (Files): Add m4/getloadavg.m4.
1270         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
1271         the former is now obsolescent.
1272
1273         * modules/chdir-long (Depends-on): Add fcntl.
1274
1275 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
1276
1277         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
1278         obsolescent, and programs should use gnulib instead.
1279         * m4/getloadavg.m4: New file, with contents taken from Autoconf
1280         but with prefixes changed.
1281
1282 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
1283
1284         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
1285         or stdbool.h, because they might not exist while configuring.
1286
1287         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
1288         Don't include unistd.h or limits.h; not needed, since chdir-long.h
1289         does that for us.
1290         (O_DIRECTORY): Remove.
1291
1292 2006-08-31  Eric Blake  <ebb9@byu.net>
1293
1294         * gnulib-tool: Don't let emacs change spaces to TAB.
1295
1296 2006-08-31  Bruno Haible  <bruno@clisp.org>
1297
1298         * gnulib-tool: When calling func_import more than once, do it in a
1299         subshell.
1300         Reported by Eric Blake <ebb9@byu.net>.
1301
1302 2006-08-31  Bruno Haible  <bruno@clisp.org>
1303
1304         * gnulib-tool (nl): Remove variable.
1305         (sed_transform_lib_file): Use more robust test for config-h module.
1306         (func_import): Fix typo in 2006-08-25 patch.
1307
1308 2006-08-31  Bruno Haible  <bruno@clisp.org>
1309
1310         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
1311         specified, augment Makefile.am variables instead of assigning them.
1312
1313 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
1314
1315         Work around a bug in both the Linux and SunOS 64-bit kernels:
1316         nanosleep mishandles sleeps for longer than 2**31 seconds.
1317         Problem reported by Frank v Waveren in
1318         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
1319         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
1320         Check for nanosleep bug.
1321         (LIB_NANOSLEEP): Append clock_gettime library if needed.
1322
1323 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
1324
1325         Work around a bug in both the Linux and SunOS 64-bit kernels:
1326         nanosleep mishandles sleeps for longer than 2**31 seconds.
1327         Problem reported by Frank v Waveren in
1328         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
1329         * lib/nanosleep.c (BILLION): New constant.
1330         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
1331         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
1332         implementation.
1333
1334 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
1335
1336         * modules/nanosleep (Depends-on): Add gettime.
1337
1338 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
1339         and Simon Josefsson  <jas@extundo.com>
1340         and Oskar Liljeblad  <oskar@osk.mine.nu>
1341
1342         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
1343         * gnulib-tool (func_import): New license type 'unmodifiable license
1344         text'.
1345         * modules/fdl: Use it.  Longer description.
1346         * module/gpl, module/lgpl: New files.
1347
1348 2006-08-30  Jim Meyering  <jim@meyering.net>
1349
1350         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
1351         shadowing the parameter.
1352
1353 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1354
1355         Sync from Libtool:
1356
1357         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1358
1359         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
1360         sharing with gnulib.  Report by Eric Blake.
1361
1362 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
1363
1364         * modules/isapipe: New file.
1365         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
1366
1367 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
1368
1369         * modules/configmake (Makefile.am): Add a comment, and omit
1370         the CONFIGMAKE_ prefix from generated macro names.  Suggested
1371         by Bruno Haible.
1372
1373 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
1374
1375         * m4/isapipe.m4: New file.
1376
1377 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
1378
1379         * lib/isapipe.c, isapipe.h: New files.
1380
1381 2006-08-29  Jim Meyering  <jim@meyering.net>
1382
1383         * modules/configmake (Makefile.am): Make configmake.h depend on
1384         Makefile.  Otherwise, a stale configmake.h could hang around.
1385
1386 2006-08-29  Eric Blake  <ebb9@byu.net>
1387
1388         * lib/error.c (error_at_line, print_errno_message): Match libc, after
1389         resolution of upstream bug 3044.
1390
1391 2006-08-29  Bruno Haible  <bruno@clisp.org>
1392
1393         * modules/localcharset (Depends-on): Add configmake.
1394         (Makefile.am): Remove setting of LIBDIR through DEFS.
1395
1396 2006-08-29  Bruno Haible  <bruno@clisp.org>
1397
1398         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
1399         defined.
1400
1401 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
1402
1403         * modules/fcntl: New file.
1404         * modules/chdir-safer (Depends-on): Add fcntl.
1405         * modules/fts: Likewise.
1406         * modules/mkdir-p: Likewise.
1407
1408         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
1409         This undoes the most recent change, since we're now addressing the
1410         problem in a different way.
1411
1412         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
1413         into output, since the output might be called Makefile.am even
1414         if $makefile_name is something different.
1415         (func_import): Use $makefile_am rather than
1416         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
1417         empty.
1418
1419         * modules/inttypes (Files): Add m4/inttypes-h.m4.
1420
1421 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
1422
1423         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
1424         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
1425         recent change to stdint.m4, since we're now addressing the problem in a
1426         different way.
1427
1428 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
1429
1430         * m4/fcntl_h.m4: New file.
1431
1432 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
1433
1434         * lib/fcntl_.h: New file.
1435         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
1436         the fcntl module.
1437         * lib/dirchownmod.c: Likewise.
1438         * lib/fts.c: Likewise.
1439
1440         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
1441         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
1442         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
1443         just before including <inttypes.h>, to avoid circular inclusion.
1444
1445 2006-08-28  Jim Meyering  <jim@meyering.net>
1446
1447         * doc/visibility.texi: Actually read and correct the grammar of the
1448         sentence affected by yesterday's change.
1449
1450 2006-08-28  Eric Blake  <ebb9@byu.net>
1451
1452         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
1453         needs wrapper.
1454
1455 2006-08-28  Eric Blake  <ebb9@byu.net>
1456
1457         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
1458
1459 2006-08-28  Eric Blake  <ebb9@byu.net>
1460
1461         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
1462
1463 2006-08-28  Bruno Haible  <bruno@clisp.org>
1464
1465         * modules/c-strstr: New file, from GNU gettext.
1466         * MODULES.html.sh (String handling): Add c-strstr.
1467
1468 2006-08-28  Bruno Haible  <bruno@clisp.org>
1469
1470         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
1471         macros.
1472         Reported by Eric Blake.
1473
1474 2006-08-28  Bruno Haible  <bruno@clisp.org>
1475
1476         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
1477         (VASNPRINTF): Return a string of length > INT_MAX without failing.
1478         * lib/vasprintf.c: Include errno.h, limits.h.
1479         (EOVERFLOW): New fallback definition.
1480         (vasprintf): Test here whether the string length is > INT_MAX.
1481         * lib/vsnprintf.c: Include errno.h, limits.h.
1482         (EOVERFLOW): New fallback definition.
1483         (vsnprintf): Fix bug when generated string was too long for the buffer.
1484         Test here whether the string length is > INT_MAX.
1485
1486 2006-08-28  Bruno Haible  <bruno@clisp.org>
1487
1488         * lib/inttypes_.h (SCNX*): Remove definitions.
1489         Reported by Eric Blake.
1490
1491 2006-08-28  Bruno Haible  <bruno@clisp.org>
1492
1493         * lib/c-strstr.h: New file, from GNU gettext.
1494         * lib/c-strstr.c: New file, from GNU gettext.
1495
1496 2006-08-28  Bruno Haible  <bruno@clisp.org>
1497
1498         * gnulib-tool: Reorder some statements.
1499
1500 2006-08-28  Bruno Haible  <bruno@clisp.org>
1501
1502         * gnulib-tool: New option --makefile-name.
1503         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
1504         $makefile_name.
1505         (func_import): Write $makefile_name to the cache file, and read it from
1506         there unless explicitly specified. Use $makefile_name as file name
1507         instead of Makefile.am. Adjust the recommendations accordingly.
1508
1509 2006-08-28  Bruno Haible  <bruno@clisp.org>
1510
1511         * gnulib-tool (func_verify_module): Check against misapplying patch.
1512
1513 2006-08-28  Bruno Haible  <bruno@clisp.org>
1514
1515         * gnulib-tool (func_relativize, func_relconcat): New functions.
1516         Give an error if --local-dir is given with --update.
1517         Remove trailing slashes from $local_gnulib_dir.
1518         (func_import): Store the relativized $local_gnulib_dir in
1519         gnulib-cache.m4, and read it from there if not specified explicitly.
1520
1521 2006-08-28  Bruno Haible  <bruno@clisp.org>
1522
1523         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
1524         is the current directory. Respect also $local_gnulib_dir.
1525
1526 2006-08-28  Bruno Haible  <bruno@clisp.org>
1527             Simon Josefsson  <jas@extundo.com>
1528
1529         BeOS portability.
1530         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
1531
1532 2006-08-27  Jim Meyering  <jim@meyering.net>
1533
1534         * doc/visibility.texi: Remove duplicate word: "pointer".
1535
1536 2006-08-26  Bruno Haible  <bruno@clisp.org>
1537
1538         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
1539         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
1540         (Makefile.am): Create inttypes.h from inttypes_.h.
1541         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
1542
1543         * modules/imaxabs: New file.
1544
1545         * modules/imaxdiv: New file.
1546
1547 2006-08-26  Bruno Haible  <bruno@clisp.org>
1548
1549         * m4/inttypes.m4: New file.
1550         * m4/_inttypes_h.m4: Remove file.
1551         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
1552         PRI_MACROS_BROKEN.
1553         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
1554
1555         * m4/imaxabs.m4: New file.
1556
1557         * m4/imaxdiv.m4: New file.
1558
1559 2006-08-26  Bruno Haible  <bruno@clisp.org>
1560
1561         * lib/inttypes_.h: New file.
1562         * lib/inttypes.h: Remove file.
1563         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
1564
1565         * lib/imaxabs.c: New file.
1566
1567         * lib/imaxdiv.c: New file.
1568
1569 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
1570
1571         New config-h module, so that "make" output needn't be cluttered
1572         by -DHAVE_CONFIG_H.
1573         * MODULES.html.sh (Support for building libraries and executables):
1574         Add config-h.
1575         * modules/config-h: New file.
1576         * gnulib-tool (nl, sed_transform_lib_file): New vars.
1577         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
1578         the config-h module is used.
1579
1580         New configmake module, so that "make" output needn't be cluttered
1581         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
1582         * MODULES.html.sh (Support for building libraries and executables):
1583         Add configmake.
1584         * modules/configmake: New file.
1585
1586 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
1587
1588         * m4/config-h.m4: New file.
1589
1590 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
1591
1592         * config/srclist.txt: Add elisp-comp.
1593
1594 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
1595
1596         * MODULES.html.sh (Support for building libraries and executables):
1597         Add elisp-comp.
1598         * build-aux/elisp-comp: New file.
1599         * modules/elisp-comp: New file.
1600
1601 2006-08-24  Bruno Haible <bruno@clisp.org>
1602
1603         * gnulib-tool (func_create_testdir): Use non-default values of
1604         sourcebase and m4base.
1605
1606 2006-08-24  Bruno Haible <bruno@clisp.org>
1607
1608         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
1609         HTML structure.
1610
1611 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
1612
1613         * modules/openat (Depends-on): Add lchown.
1614
1615 2006-08-23  Bruno Haible <bruno@clisp.org>
1616
1617         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
1618         of gl_LOCK_EARLY instead of gl_LOCK.
1619
1620 2006-08-23  Bruno Haible  <bruno@clisp.org>
1621
1622         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
1623         on OSF/1 to no.
1624         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
1625
1626 2006-08-23  Bruno Haible  <bruno@clisp.org>
1627
1628         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
1629         as unusable.
1630
1631         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
1632         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
1633         (gl_LOCK): New macro.
1634
1635 2006-08-22  Simon Josefsson  <jas@extundo.com>
1636
1637         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
1638         to md5 module.
1639
1640 2006-08-22  Simon Josefsson  <jas@extundo.com>
1641
1642         * MODULES.html.sh: Add "Support for maintaining and release
1643         projects".
1644
1645         * build-aux/gnupload: New file, from coreutils.
1646
1647 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
1648
1649         Avoid the need for AC_LIBSOURCES in m4 macros.
1650         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
1651         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
1652         * modules/check-version (EXTRA_DIST): Add check-version.h.
1653         * modules/crc (EXTRA_DIST): Add crc.h.
1654         * modules/des (EXTRA_DIST): Add des.h.
1655         * modules/gc (EXTRA_DIST): Add gc.h.
1656         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
1657         * modules/getline (EXTRA_DIST): Add getline.h.
1658         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
1659         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
1660         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
1661         * modules/md2 (EXTRA_DIST): Add md2.h.
1662         * modules/md4 (EXTRA_DIST): Add md4.h.
1663         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
1664         * modules/read-file (EXTRA_DIST): Add read-file.h.
1665         * modules/readline (EXTRA_DIST): Add readline.h.
1666         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
1667         rijndael-api-fst.h.
1668
1669 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
1670
1671         * m4/rijndael.m4 (gl_ARCFOUR):
1672         * m4/arctwo.m4 (gl_ARCTWO):
1673         * m4/check-version.m4 (gl_CHECK_VERSION):
1674         * m4/crc.m4 (gl_CRC):
1675         * m4/des.m4 (gl_DES):
1676         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
1677         * m4/gc.m4 (gl_GC):
1678         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
1679         * m4/getline.m4 (gl_FUNC_GETLINE):
1680         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
1681         * m4/hmac-md5.m4 (gl_HMAC_MD5):
1682         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
1683         * m4/md2.m4 (gl_MD2):
1684         * m4/md4.m4 (gl_MD4):
1685         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
1686         * m4/read-file.m4 (gl_FUNC_READ_FILE):
1687         * m4/readline.m4 (gl_FUNC_READLINE):
1688         * m4/rijndael.m4 (gl_RIJNDAEL):
1689         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
1690         to get the necessary .h files and whatnot.
1691
1692 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
1693
1694         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
1695         gnulib rather than the other way around.
1696         * config/srclistvars.sh (COREUTILS): Remove.
1697
1698 2006-08-22  Jim Meyering  <jim@meyering.net>
1699
1700         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
1701
1702         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
1703
1704 2006-08-22  Eric Blake  <ebb9@byu.net>
1705
1706         * modules/regexprops-generic: New file.
1707         * MODULES.html.sh (Support for building documentation): List it.
1708
1709 2006-08-22  Eric Blake  <ebb9@byu.net>
1710
1711         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
1712         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
1713         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
1714         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
1715
1716 2006-08-22  Bruno Haible <bruno@clisp.org>
1717
1718         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
1719         and lib_LTLIBRARIES like the other lib_* variables.
1720
1721 2006-08-22  Bruno Haible <bruno@clisp.org>
1722
1723         * build-aux/x-to-1.in: New file, from GNU gettext.
1724
1725 2006-08-22  Bruno Haible  <bruno@clisp.org>
1726
1727         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
1728         <utmpx.h> exists.
1729
1730 2006-08-22  Bruno Haible  <bruno@clisp.org>
1731
1732         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
1733         <utmpx.h> exists.
1734
1735 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
1736
1737         BeOS portability.
1738         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
1739         exist.
1740         Problem reported by Bruno Haible.
1741
1742 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
1743
1744         Avoid the need for AC_LIBSOURCES in m4 macros.
1745         * modules/acl (EXTRA_DIST): Add acl.h.
1746         * modules/argmatch (Files): Add m4/argmatch.m4.
1747         (configure.ac): Add gl_ARGMATCH.
1748         (EXTRA_DIST): Renamed from lib_SOURCES, for
1749         consistency with the other modules.  Remove argmatch.c.
1750         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
1751         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
1752         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
1753         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
1754         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
1755         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
1756         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
1757         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
1758         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
1759         * modules/closeout (EXTRA_DIST): Add closeout.h.
1760         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
1761         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
1762         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
1763         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
1764         dirname.h; remove basename.c and stripslash.c.
1765         * modules/exclude (EXTRA_DIST): Add exclude.h.
1766         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
1767         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
1768         * modules/file-type (EXTRA_DIST): Add file-type.h.
1769         * modules/filemode (EXTRA_DIST): Add filemode.h.
1770         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
1771         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
1772         * modules/fpending (EXTRA_DIST): Add __fpending.h.
1773         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
1774         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
1775         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
1776         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
1777         * modules/getdate (EXTRA_DIST): Add getdate.c.
1778         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
1779         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
1780         * modules/getpass (EXTRA_DIST): Add getpass.h.
1781         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
1782         * modules/group-member (EXTRA_DIST): Add group-member.h.
1783         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
1784         * modules/hash (EXTRA_DIST): Add hash.h.
1785         * modules/human (EXTRA_DIST): Add human.h.
1786         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
1787         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
1788         * modules/lchown (EXTRA_DIST): Add lchown.h.
1789         * modules/long-options (EXTRA_DIST): Add long-options.h.
1790         * modules/lstat (EXTRA_DIST): Add lstat.h.
1791         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
1792         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
1793         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
1794         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
1795         * modules/memxor (EXTRA_DIST): Add memxor.h.
1796         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
1797         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
1798         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
1799         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
1800         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
1801         * modules/physmem (EXTRA_DIST): Add physmem.h.
1802         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
1803         * modules/posixver (EXTRA_DIST): Add posixver.h.
1804         * modules/quote (EXTRA_DIST): Add quote.h.
1805         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
1806         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
1807         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
1808         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
1809         regex_internal.h regexec.c.
1810         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
1811         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
1812         * modules/same (EXTRA_DIST): Add same.h.
1813         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
1814         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
1815         * modules/savedir (EXTRA_DIST): Add savedir.h.
1816         * modules/sha1 (EXTRA_DIST): Add sha1.h.
1817         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
1818         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
1819         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
1820         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
1821         * modules/strdup (EXTRA_DIST): Add strdup.h.
1822         * modules/strftime (EXTRA_DIST): Add strftime.h.
1823         * modules/strndup (EXTRA_DIST): Add strndup.h.
1824         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
1825         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
1826         * modules/time_r (EXTRA_DIST): Add time_r.h.
1827         * modules/timespec (EXTRA_DIST): Add timespec.h.
1828         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
1829         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
1830         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
1831         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
1832         * modules/userspec (EXTRA_DIST): Add userspec.h.
1833         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
1834         * modules/utimens (EXTRA_DIST): Add utimens.h.
1835         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
1836         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
1837         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
1838         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
1839         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
1840         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
1841         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
1842         * modules/yesno (EXTRA_DIST): Add yesno.h.
1843
1844 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
1845
1846         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
1847
1848         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
1849         * m4/dev-ino.m4, same-inode.m4: Remove.
1850
1851         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
1852         * m4/acl.m4 (AC_FUNC_ACL):
1853         * m4/backupfile.m4 (gl_BACKUPFILE):
1854         * m4/c-strtod.m4 (gl_C99_STRTOLD):
1855         * m4/canon-host.m4 (gl_CANON_HOST):
1856         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
1857         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
1858         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
1859         * m4/cloexec.m4 (gl_CLOEXEC):
1860         * m4/close-stream.m4 (gl_CLOSE_STREAM):
1861         * m4/closeout.m4 (gl_CLOSEOUT):
1862         * m4/dirfd.m4 (gl_FUNC_DIRFD):
1863         * m4/dirname.m4 (gl_DIRNAME):
1864         * m4/exclude.m4 (gl_EXCLUDE):
1865         * m4/exitfail.m4 (gl_EXITFAIL):
1866         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
1867         * m4/file-type.m4 (gl_FILE_TYPE):
1868         * m4/filemode.m4 (gl_FILEMODE):
1869         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
1870         * m4/fpending.m4 (gl_FUNC_FPENDING):
1871         * m4/fprintftime.m4 (gl_FPRINTFTIME):
1872         * m4/fts.m4 (gl_FUNC_FTS):
1873         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
1874         * m4/getdate.m4 (gl_GETDATE):
1875         * m4/gethrxtime.m4 (gl_GETHRXTIME):
1876         * m4/getpagesize.m4 (gl_GETPAGESIZE):
1877         * m4/getpass.m4 (gl_FUNC_GETPASS):
1878         * m4/gettime.m4 (gl_GETTIME):
1879         * m4/getugroups.m4 (gl_GETUGROUPS):
1880         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
1881         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
1882         * m4/hard-locale.m4 (gl_HARD_LOCALE):
1883         * m4/hash.m4 (gl_HASH):
1884         * m4/idcache.m4 (gl_IDCACHE):
1885         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
1886         * m4/lchown.m4 (gl_FUNC_LCHOWN):
1887         * m4/long-options.m4 (gl_LONG_OPTIONS):
1888         * m4/lstat.m4 (gl_FUNC_LSTAT):
1889         * m4/md5.m4 (gl_MD5):
1890         * m4/memcasecmp.m4 (gl_MEMCASECMP):
1891         * m4/memcoll.m4 (gl_MEMCOLL):
1892         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
1893         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
1894         * m4/memxor.m4 (gl_MEMXOR):
1895         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
1896         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
1897         * m4/modechange.m4 (gl_MODECHANGE):
1898         * m4/mountlist.m4 (gl_MOUNTLIST):
1899         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
1900         * m4/openat.m4 (gl_FUNC_OPENAT):
1901         * m4/pathmax.m4 (gl_PATHMAX):
1902         * m4/physmem.m4 (gl_PHYSMEM):
1903         * m4/posixtm.m4 (gl_POSIXTM):
1904         * m4/posixver.m4 (gl_POSIXVER):
1905         * m4/quote.m4 (gl_QUOTE):
1906         * m4/quotearg.m4 (gl_QUOTEARG):
1907         * m4/readtokens.m4 (gl_READTOKENS):
1908         * m4/readutmp.m4 (gl_READUTMP):
1909         * m4/regex.m4 (gl_REGEX):
1910         * m4/safe-read.m4 (gl_SAFE_READ):
1911         * m4/safe-write.m4 (gl_SAFE_WRITE):
1912         * m4/same.m4 (gl_SAME):
1913         * m4/save-cwd.m4 (gl_SAVE_CWD):
1914         * m4/savedir.m4 (gl_SAVEDIR):
1915         * m4/settime.m4 (gl_SETTIME):
1916         * m4/sha1.m4 (gl_SHA1):
1917         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
1918         * m4/stat-macros.m4 (gl_STAT_MACROS):
1919         * m4/stat-time.m4 (gl_STAT_TIME):
1920         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
1921         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
1922         * m4/strdup.m4 (gl_FUNC_STRDUP):
1923         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
1924         * m4/strndup.m4 (gl_FUNC_STRNDUP):
1925         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
1926         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
1927         * m4/time_r.m4 (gl_TIME_R):
1928         * m4/timespec.m4 (gl_TIMESPEC):
1929         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
1930         * m4/unlinkdir.m4 (gl_UNLINKDIR):
1931         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
1932         * m4/userspec.m4 (gl_USERSPEC):
1933         * m4/utimecmp.m4 (gl_UTIMECMP):
1934         * m4/utimens.m4 (gl_UTIMENS):
1935         * m4/xalloc.m4 (gl_XALLOC):
1936         * m4/xgetcwd.m4 (gl_XGETCWD):
1937         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
1938         * m4/xreadlink.m4 (gl_XREADLINK):
1939         * m4/xstrtod.m4 (gl_XSTRTOD):
1940         * m4/yesno.m4 (gl_YESNO):
1941         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
1942         to get the necessary .h files and whatnot.
1943
1944 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
1945             Bruno Haible <bruno@clisp.org>
1946
1947         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
1948         /bin/sh understanding of '!' conditional negation.
1949
1950 2006-08-21  Jim Meyering  <jim@meyering.net>
1951
1952         * modules/openat (Depends-on): Really alphabetize.
1953
1954         * modules/acl (Depends-on): Add error and quote.
1955
1956         * check-module (find_included_lib_files): Add at-func.c to the
1957         ok-to-include-more-than-once white list.
1958
1959         * modules/openat (Depends-on): Add lstat.  Alphabetize.
1960
1961 2006-08-21  Bruno Haible <bruno@clisp.org>
1962
1963         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
1964         Emit a pkgdata_DATA variable only if some snippets add contents to it.
1965         Reported by Martin Lambers <marlam@marlam.de>.
1966
1967 2006-08-21  Bruno Haible <bruno@clisp.org>
1968
1969         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
1970         specify an installation location, don't emit a noinst_LIBRARIES or
1971         noinst_LTLIBRARIES assignment.
1972
1973 2006-08-21  Bruno Haible  <bruno@clisp.org>
1974
1975         BeOS portability.
1976         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
1977         BeOS has mbrtowc() but no <wctype.h>.
1978
1979 2006-08-21  Bruno Haible  <bruno@clisp.org>
1980
1981         BeOS portability.
1982         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
1983         exist.
1984
1985 2006-08-21  Bruno Haible  <bruno@clisp.org>
1986
1987         BeOS portability.
1988         * lib/mbchar.h: Include <wctype.h> only if it exists.
1989
1990 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
1991
1992         Remove files that are no longer needed by their respective modules.
1993         * m4/obstack.m4: Remove.
1994         * m4/strerror_r.m4: Remove.
1995         * m4/uint32_t.m4: Remove.
1996         * m4/uintptr_t.m4: Remove.
1997         * m4/ullong_max.m4: Remove.
1998         * m4/xstrtoimax.m4: Remove.
1999         * m4/xstrtoumax.m4: Remove.
2000
2001         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
2002         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
2003         dependencies now capture this.
2004
2005         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
2006         Do not use AC_LIBSOURCES, since gnulib modules now do this.
2007         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
2008         * m4/human.m4 (gl_HUMAN): Likewise.
2009         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
2010         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
2011
2012         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
2013
2014         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
2015         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
2016         stdint.
2017         * m4/human.m4 (gl_HUMAN): Likewise.
2018         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
2019         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
2020         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
2021         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
2022         * m4/xstrtol (gl_XSTRTOL): Likewise.
2023
2024         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
2025         AC_TYPE_LONG_LONG_INT.
2026         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
2027         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
2028         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
2029         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
2030
2031         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
2032         on stdbool.
2033
2034         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
2035         (gl_PREREQ_XSTRTOUL): Remove.
2036
2037         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
2038
2039         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
2040         mode.
2041
2042 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
2043
2044         Add and change modules to make it easier for coreutils to use
2045         gnulib-tool.
2046         * modules/backupfile (Files): Remove m4/d-ino.m4.
2047         (Depends-on): Add d-ino.
2048         * modules/cycle-check (Depends-on): Add stdint.
2049         (lib_SOURCES): Add cycle-check.h.
2050         * modules/d-ino: New module.
2051         * modules/d-type: New module.
2052         * modules/error (Files): Remove m4/strerror_r.m4.
2053         * modules/filemode (Files): Add m4/st_dm_mode.m4.
2054         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
2055         m4/inttypes_h.m4, m4/uintmax_t.m4.
2056         (Depends-on): Add stdint.
2057         (lib_SOURCES): Add fsusage.h.
2058         * modules/getcwd (Files): Remove d-ino.m4.
2059         (Depends-on): Add d-ino.
2060         * modules/getndelim2 (Depends-on): Add stdint.
2061         * modules/glob (Files): Remove m4/d-type.m4.
2062         (Depends-on): Add d-type.
2063         * modules/host-os: New module.
2064         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
2065         m4/inttypes_h.m4, m4/uintmax_t.m4.
2066         * Depends-on: Add stdint.
2067         (lib_SOURCES): Add human.h.
2068         * modules/inttostr (Files): Remove m4/intmax_t.m4,
2069         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
2070         m4/uintmax_t.m4, m4/ulonglong.m4.
2071         (Depends-on): Add stdint.
2072         (EXTRA_DIST): Add inttostr.h.
2073         * modules/lchmod: New module.
2074         * modules/link-follow: New module.
2075         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
2076         (Depends-on): Add lchmod.
2077         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
2078         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
2079         (Depends-on): Add stdint.
2080         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
2081         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
2082         (Depends-on): Add stdint.
2083         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
2084         * modules/perl: New module.
2085         * modules/regex (Depends-on): Add stdint.
2086         * modules/rmdir-errno: New module.
2087         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
2088         m4/intmax_t.m4.
2089         (Depends-on): Add stdint.
2090         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
2091         m4/uintmax_t.m4.
2092         (Depends-on): Add stdint.
2093         * modules/unlink-busy: New module.
2094         * modules/utimecmp (Depends-on): Add stdint.
2095         * modules/uptime: New module.
2096         * modules/winsz-ioctl: New module.
2097         * modules/winsz-termios: New module.
2098         * modules/xnanosleep (Depends-on): Add nanosleep.
2099         * modules/ullong_max: Remove.
2100         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
2101         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
2102         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
2103         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
2104         (Depends-on): Add inttypes.
2105         (lib_SOURCES): Add xstrtol.h.
2106         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
2107         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
2108         * MODULES.html.sh: Move 'assert' into the assert section.
2109         Move 'dummy' into the linking section.
2110         Remove ullong_max.
2111         Add section for compatibility checks for POSIX:2001 functions,
2112         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
2113         winsz-ioctl, and winsz-termios into it.
2114         Add lchmod.
2115         Add top-level Misc section and put host-os, perl, and uptime
2116         into it.
2117
2118 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
2119
2120         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
2121         now assume the stdint module.  Do not include inttypes.h.
2122         * lib/fsusage.h: Likewise.
2123         * lib/getndelim2.c: Likewise.
2124         * lib/human.h: Likewise.
2125         * lib/inttostr.h: Likewise.
2126         * lib/obstack.c: Likewise.
2127         * lib/regex_internal.h: Likewise.
2128         * lib/tempname.c: Likewise.
2129         * lib/utimecmp.c: Likewise.
2130         * lib/xstrtol.h: Likewise.
2131
2132         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
2133
2134         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
2135         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
2136         * lib/xtime.h: Likewise.
2137
2138 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
2139
2140         * modules/openat (Files): Add lib/fchmodat.c.
2141         Fixes problem reported by Jay Youngman.
2142
2143 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
2144
2145         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
2146         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
2147
2148 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
2149             Bruno Haible  <bruno@clisp.org>
2150
2151         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
2152         and is a script that invokes bison. Tighten the code. Add comments.
2153
2154 2006-08-18  Jim Meyering  <jim@meyering.net>
2155
2156         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
2157         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
2158         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
2159         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
2160
2161 2006-08-18  Bruno Haible  <bruno@clisp.org>
2162
2163         * modules/bison-i18n: New file.
2164         * MODULES.html.sh (Internationalization functions): Add it.
2165
2166 2006-08-18  Bruno Haible  <bruno@clisp.org>
2167
2168         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
2169         sys/statvfs.h. When getmntinfo was found, check its declaration and
2170         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
2171
2172 2006-08-18  Bruno Haible  <bruno@clisp.org>
2173
2174         * m4/bison-i18n.m4: New file, from bison.
2175
2176 2006-08-18  Bruno Haible  <bruno@clisp.org>
2177
2178         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
2179         (ME_DUMMY): Treat "kernfs" as a dummy.
2180         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
2181
2182 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
2183
2184         Update from coreutils.
2185
2186         2006-08-15  Jim Meyering  <jim@meyering.net>
2187
2188         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
2189
2190         2006-01-17  Jim Meyering  <jim@meyering.net>
2191
2192         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
2193
2194         2006-01-11  Jim Meyering  <jim@meyering.net>
2195
2196         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
2197         Check for the lchmod function.
2198
2199 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
2200
2201         Update from coreutils.
2202
2203         * lib/__fpending.h: Add copyright notice.
2204         * lib/fprintftime.h: Likewise.
2205         * lib/savedir.c: Use (C) in copyright notice.
2206         * lib/savedir.h: Likewise.
2207
2208         2006-08-15  Jim Meyering  <jim@meyering.net>
2209
2210         * lib/at-func.c: New file, with the logic of all emulated at-functions.
2211         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
2212         in support of the EXPECTED_ERRNO macro.
2213         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
2214         definitions.  Instead, define the appropriate symbols and include
2215         "at-func.c".
2216         * lib/mkdirat.c (mkdirat): Likewise.
2217         * lib/fchmodat.c (fchmodat): Likewise.
2218         (ENOSYS): Remove definition.
2219         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
2220         it.  Don't include "unistd--.h" -- it wasn't ever used.
2221
2222         2006-01-17  Jim Meyering  <jim@meyering.net>
2223
2224         Rewrite fts.c not to change the current working directory,
2225         by using openat, fstatat, fdopendir, etc..
2226
2227         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
2228         (HAVE_OPENAT_SUPPORT): Define.
2229         [_LIBC] (fchdir): Don't undef or define; no longer used.
2230         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
2231         Now, this `function' always succeeds, and consumes its file descriptor
2232         parameter -- so callers must not close such FDs.  Update callers.
2233         (diropen_fd, opendirat, cwd_advance_fd): New functions.
2234         (diropen): Add parameter, SP.  Adjust all callers.
2235         Implement using diropen_fd, rather than open.
2236         (fts_open): Initialize new member, fts_cwd_fd.
2237         Remove fts_rft-setting code.
2238         (fts_close): Close fts_cwd_fd, if necessary.
2239         (__opendir2): Define in terms of opendir or opendirat,
2240         depending on whether the FST_NOCHDIR flag is set.
2241         (fts_build): Since fts_safe_changedir consumes its FD, and since
2242         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
2243         and close the dup'd file descriptor upon failure.
2244         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
2245         (fts_safe_changedir): Tweak semantics to reflect that this function
2246         now calls cwd_advance_fd and hence consumes its FD argument.
2247         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
2248         [struct FTS] (fts_rft): Remove now-unused member.
2249         [struct FTS] (fts_cycle.state): Improve comment.
2250
2251         * lib/openat.c (openat_needs_fchdir): New function.
2252         * lib/openat.h (openat_needs_fchdir): Declare it.
2253
2254 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
2255
2256         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
2257         Problem and fix reported by Pádraig Brady in
2258         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
2259
2260 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
2261
2262         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
2263
2264 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
2265
2266         * lib/memcoll.c (memcoll): Optimize for the common case where the
2267         arguments are bytewise equal.
2268
2269 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
2270
2271         * doc/regexprops-generic.texi: Add a copyright notice.
2272
2273 2006-08-15  Bruno Haible  <bruno@clisp.org>
2274
2275         * modules/tmpdir (License): Change to LGPL.
2276
2277 2006-08-15  Bruno Haible  <bruno@clisp.org>
2278
2279         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
2280         module.
2281
2282 2006-08-14  Simon Josefsson  <jas@extundo.com>
2283
2284         * config/srclist.txt: Add gnupload.
2285
2286 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
2287
2288         Change copyright notice from LGPL 2 to GPL 2, since that's the
2289         standard form used in the gnulib repository.
2290         * tests/test-lock.c: Likewise.
2291         * tests/test-stdint.c: Likewise.
2292         * tests/test-tls.c: Likewise.
2293
2294         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
2295         prelude-manager.  User shorter URLs for GNU projects, without '?'.
2296         Add copyright notice.
2297
2298         * check-module: Add copyright notice.  Output a copyright
2299         notice if "--version" is specified.
2300         * modules/COPYING: New file.
2301         * tests/test-getaddrinfo.c: Add copyright notice.
2302         * tests/test-verify.c: Likewise.
2303
2304 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
2305
2306         Change copyright notice from LGPL 2 to GPL 2, since that's the
2307         standard form used in the gnulib repository.
2308         * lib/lock.c: LGPL -> GPL.
2309         * lib/lock.h: Likewise.
2310         * lib/strnlen1.c: Likewise.
2311         * lib/strnlen1.h: Likewise.
2312         * lib/tls.c: Likewise.
2313         * lib/tls.h: Likewise.
2314         * lib/tmpdir.c: Likewise.
2315
2316         * lib/TODO: Remove; this belongs only in coreutils.
2317
2318 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
2319
2320         Add copyright notices to long-enough files that lack them, since
2321         otherwise the files aren't clearly free.  Use the same notice that
2322         getdate.texi already uses.
2323         * doc/alloca-opt.texi: Add copyright notice.
2324         * doc/alloca.texi: Likewise.
2325         * doc/ctime.texi: Likewise.
2326         * doc/functions.texi: Likewise.
2327         * doc/gcd.texi: Likewise.
2328         * doc/gnulib-tool.texi: Likewise.
2329         * doc/inet_ntoa.texi: Likewise.
2330         * doc/visibility.texi: Likewise.
2331
2332         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
2333         * doc/quote.texi: Add copyright notice.
2334
2335         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
2336         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
2337         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
2338         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
2339         is now obsolete, and give a pointer to the Sun list.
2340         Add copyright notice.
2341
2342 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
2343
2344         * config/srclistvars.sh: Add copyright notice.
2345
2346 2006-08-14  Eric Blake  <ebb9@byu.net>
2347
2348         Import the following change from libc:
2349
2350         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
2351
2352         Upstream bug 2997.
2353         * lib/misc/error.c: Add space between program name and message if file
2354         name is missing.
2355
2356 2006-08-12  Karl Berry  <karl@gnu.org>
2357
2358         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
2359         remove, these originate in gnulib now.
2360
2361 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2362
2363         * doc/Makefile (standards.info standards.html standards.dvi):
2364         Also depend on make-stds.texi.
2365
2366 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
2367
2368         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
2369         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
2370
2371         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
2372         in wchar_t.  Problem reported by Eric Blake.
2373
2374         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
2375         LEN is smaller than SIZE.  Suggested by Bruno Haible.
2376         Also, help the compiler to keep LEN in a register.
2377
2378 2006-08-11  Eric Blake  <ebb9@byu.net>
2379
2380         * users.txt: Sort.  Add tar.
2381
2382 2006-08-11  Bruno Haible  <bruno@clisp.org>
2383
2384         * users.txt: New file.
2385
2386 2006-08-11  Bruno Haible  <bruno@clisp.org>
2387
2388         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
2389         before <wchar.h>. Needed for OSF/1 and BSD/OS.
2390
2391 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
2392
2393         * modules/snprintf (Depends-on): Remove minmax.
2394         (Maintainer): Add self and Bruno.
2395
2396 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
2397
2398         * lib/.cppi-disable: Add snprintf.h, socket_.h.
2399         * lib/snprintf.c: Include <errno.h> and <limits.h>.
2400         (EOVERFLOW): Define if the system does not.
2401         Do not include "minmax.h"; it wasn't used.
2402         (snprintf): Don't assume size_t promotes to an unsigned type.
2403         Fix bug when generated string was too long for the buffer: the
2404         buffer's contents are supposed to be the initial prefix of the
2405         output.  Don't assume vasnprintf returns EOVERFLOW if the size
2406         exceeds INT_MAX; do the check ourselves.
2407
2408         Import the following changes from libc:
2409
2410         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
2411
2412         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
2413         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
2414         set wc to the byte which couldn't be converted.
2415         (re_string_reconstruct): Don't clear valid_raw_len before calling
2416         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
2417         tip_context using re_string_context_at.
2418
2419         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
2420
2421         * lib/posix/regex.h: g++ still cannot handled [restrict].
2422
2423         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
2424
2425         * lib/posix/regex.h: Remove special handling for VMS.
2426
2427 2006-08-10  Jim Meyering  <jim@meyering.net>
2428
2429         * modules/same-inode: New module.
2430         * modules/dev-ino: New module.
2431         * modules/cycle-check: Depend on these modules, rather than simply
2432         including their .h files.
2433         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
2434         required via m4/cycle-check.m4.
2435         * modules/same: Depend on new same-inode module, rather than
2436         including same-inode.h.
2437         * modules/chdir-safer: New file.
2438
2439         * modules/chown (Depends-on): Add stat-macros.
2440
2441 2006-08-10  Jim Meyering  <jim@meyering.net>
2442
2443         * m4/cycle-check.m4: New file.
2444         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
2445         * m4/dev-ino.m4, same-inode.m4: New files.
2446
2447 2006-08-10  Eric Blake  <ebb9@byu.net>
2448
2449         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
2450         in from original proposal.
2451
2452 2006-08-10  Eric Blake  <ebb9@byu.net>
2453         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2454
2455         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
2456         namespace.
2457
2458 2006-08-10  Bruno Haible  <bruno@clisp.org>
2459
2460         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
2461         as well.
2462
2463 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
2464
2465         Sync from coreutils.
2466
2467         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
2468
2469         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
2470         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
2471
2472 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
2473
2474         * modules/restrict: Remove; no longer needed now that we assume
2475         Autoconf 2.59 or later.
2476         * MODULES.html.sh: Remove 'restrict'.
2477         * modules/argp (Depends-on): Remove 'restrict'.
2478         * modules/base64 (Depends-on): Likewise.
2479         * modules/gc (Depends-on): Likewise.
2480         * modules/getaddrinfo (Depends-on): Likewise.
2481         * modules/glob (Depends-on): Likewise.
2482         * modules/inet_ntop (Depends-on): Likewise.
2483         * modules/inet_pton (Depends-on): Likewise.
2484         * modules/memxor (Depends-on): Likewise.
2485         * modules/regex (Depends-on): Likewise.
2486         * modules/strtok_r (Depends-on): Likewise.
2487         * modules/time_r (Depends-on): Likewise.
2488
2489 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
2490
2491         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
2492         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
2493         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
2494         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
2495         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
2496         * m4/memxor.m4 (gl_MEMXOR): Likewise.
2497         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
2498         gl_C_RESTRICT replaced by AC_C_RESTRICT.
2499
2500         Merge from coreutils.
2501         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
2502         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
2503         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
2504         * m4/time_r.m4 (gl_TIME_R): Likewise.
2505
2506 2006-08-09  Karl Berry  <karl@gnu.org>
2507
2508         * config/srclist.txt: no more gettext-tools, per Bruno.
2509
2510 2006-08-08  Eric Blake  <ebb9@byu.net>
2511
2512         * modules/verror: New module.
2513         * MODULES.html.sh: Document it.
2514
2515 2006-08-08  Eric Blake  <ebb9@byu.net>
2516
2517         * lib/verror.h, verror.c: New files.
2518
2519 2006-08-08  Eric Blake  <ebb9@byu.net>
2520
2521         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
2522         verror_at_line output complies with GNU Coding Standards even when
2523         file is NULL.
2524
2525 2006-08-07  Bruno Haible  <bruno@clisp.org>
2526
2527         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
2528         versions of AIX.
2529         Reported by Ralf Wildenhues.
2530
2531 2006-08-07  Bruno Haible  <bruno@clisp.org>
2532
2533         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
2534         in an AC_DEFUN. Needed so that the autoconf snippets can use
2535         AC_REQUIRE.
2536
2537 2006-08-06  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2538
2539         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
2540         Initialize pkgdata_DATA.
2541         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
2542         overriding it.
2543
2544 2006-08-06  Eric Blake  <ebb9@byu.net>
2545
2546         * lib/error.h: Fold in some upstream changes from glibc.
2547         * lib/error.c: Likewise.
2548
2549 2006-08-04  Bruno Haible  <bruno@clisp.org>
2550
2551         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
2552         Make the mostlyclean-local rule depend on mostlyclean-generic.
2553         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
2554
2555 2006-07-31  Bruno Haible  <bruno@clisp.org>
2556
2557         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
2558         <stdlib.h>, <string.h>.
2559
2560 2006-07-30  Bruno Haible  <bruno@clisp.org>
2561
2562         * modules/readlink (License): Change to LGPL.
2563
2564 2006-07-30  Bruno Haible  <bruno@clisp.org>
2565
2566         * modules/javaversion (Makefile.am): Distribute javaversion.java and
2567         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
2568         set PKGDATADIR to point to it.
2569
2570 2006-07-30  Bruno Haible  <bruno@clisp.org>
2571
2572         * modules/csharpexec (configure.ac): Comment out macro invocation.
2573         * modules/javaexec (configure.ac): Likewise.
2574         * modules/javacomp-script (configure.ac): Likewise.
2575
2576         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
2577
2578 2006-07-30  Bruno Haible  <bruno@clisp.org>
2579
2580         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
2581         linked-list.
2582
2583 2006-07-30  Bruno Haible  <bruno@clisp.org>
2584
2585         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
2586
2587 2006-07-30  Bruno Haible  <bruno@clisp.org>
2588
2589         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
2590         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
2591         get removed.
2592
2593 2006-07-29  Bruno Haible  <bruno@clisp.org>
2594
2595         Make it possible for gnulib-tool to work with locally modified or
2596         augmented gnulib repositories.
2597         * gnulib-tool (func_usage): Document --local-dir option.
2598         (local_gnulib_dir): New variable.
2599         Handle --local-dir option.
2600         (func_lookup_file): New function.
2601         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
2602         (func_get_description, func_get_filelist, func_get_description,
2603         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
2604         func_get_automake_snippet, func_get_include_directive,
2605         func_get_license, func_get_maintainer): Use func_lookup_file.
2606         (func_import, func_create_testdir): Use func_lookup_file.
2607
2608 2006-07-29  Bruno Haible  <bruno@clisp.org>
2609
2610         * modules/setenv (Depends-on): Add unistd.
2611
2612 2006-07-29  Bruno Haible  <bruno@clisp.org>
2613
2614         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
2615
2616 2006-07-29  Bruno Haible  <bruno@clisp.org>
2617
2618         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
2619
2620 2006-07-29  Bruno Haible  <bruno@clisp.org>
2621
2622         * gnulib-tool (import, update): If there is no Makefile.am, look at
2623         aclocal.m4, instead of bailing out.
2624
2625 2006-07-29  Bruno Haible  <bruno@clisp.org>
2626
2627         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
2628         Categorize the options by when they are useful.
2629
2630 2006-07-29  Bruno Haible  <bruno@clisp.org>
2631
2632         * gnulib-tool (func_usage): Document option --no-libtool.
2633         Handle option --no-libtool.
2634         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
2635         for changed semantics of $libtool variable.
2636         (func_import): Likewise. If libtool is not used, show this through
2637         an option --no-libtool.
2638         (func_create_testdir): Update.
2639
2640 2006-07-29  Bruno Haible  <bruno@clisp.org>
2641
2642         * gnulib-tool (func_import): Extend error message about missing
2643         --doc-base.
2644
2645 2006-07-29  Bruno Haible  <bruno@clisp.org>
2646
2647         * gnulib-tool (func_import): Don't create the $docbase directory if
2648         there is no file to store there.
2649
2650 2006-07-29  Bruno Haible  <bruno@clisp.org>
2651
2652         * gnulib-tool (autoconf_minversion): If a --dir option is given and
2653         relevant, look for configure.ac there, not in the current directory.
2654         Also use a simple search for AC_PREREQ, not "autoconf --trace".
2655
2656 2006-07-29  Bruno Haible  <bruno@clisp.org>
2657
2658         * gnulib-tool (SORT): New variable.
2659         (func_usage): Undocument --assume-autoconf option.
2660         Remove --assume-autoconf option handling.
2661         (autoconf_minversion): Determine from the contents of configure.ac.
2662         (func_import): Remove autoconf_minversion handling.
2663         Suggested by Eric Blake.
2664
2665 2006-07-29  Bruno Haible  <bruno@clisp.org>
2666
2667         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
2668
2669 2006-07-29  Bruno Haible  <bruno@clisp.org>
2670
2671         * config/srclist.txt (*setenv.[ch]): Remove rules.
2672
2673 2006-07-28  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
2674
2675         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
2676
2677 2006-07-28  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
2678
2679         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
2680         arpa/inet.h.
2681
2682 2006-07-28  Simon Josefsson  <jas@extundo.com>
2683
2684         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
2685         * modules/inet_pton (Depends-on): Likewise.
2686
2687 2006-07-28  Simon Josefsson  <jas@extundo.com>
2688
2689         * m4/netinet_in_h.m4: New file.
2690
2691 2006-07-28  Simon Josefsson  <jas@extundo.com>
2692
2693         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
2694         #include's.
2695
2696 2006-07-28  Simon Josefsson  <jas@extundo.com>
2697
2698         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
2699         #include's.
2700
2701 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
2702
2703         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
2704         setgid on directories only if they set these bits.
2705         * lib/modechange.h: Remove obsolete comment about masks.
2706
2707 2006-07-28  Eric Blake  <ebb9@byu.net>
2708
2709         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
2710         macro expansion.
2711
2712 2006-07-28  Bruno Haible <bruno@clisp.org>
2713
2714         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
2715
2716 2006-07-28  Bruno Haible  <bruno@clisp.org>
2717
2718         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
2719
2720 2006-07-28  Bruno Haible  <bruno@clisp.org>
2721
2722         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
2723         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
2724         Define fallbacks.
2725         Avoids link error on FreeBSD 4.x.
2726         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
2727
2728         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
2729         encoding.
2730         * lib/mbswidth.c (iswcntrl): Likewise.
2731
2732 2006-07-27  Bruno Haible  <bruno@clisp.org>
2733
2734         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
2735         test.
2736
2737 2006-07-27  Bruno Haible  <bruno@clisp.org>
2738
2739         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
2740         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
2741         defined.
2742
2743 2006-07-26  Eric Blake  <ebb9@byu.net>
2744
2745         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
2746
2747 2006-07-26  Eric Blake  <ebb9@byu.net>
2748
2749         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
2750         like mingw that lack mkstemp.
2751         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
2752         avoid compilation warning on mingw.
2753
2754 2006-07-26  Bruno Haible  <bruno@clisp.org>
2755
2756         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
2757         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
2758         INT_FAST*_MIN, INTPTR_MIN.
2759
2760 2006-07-25  Bruno Haible  <bruno@clisp.org>
2761
2762         * modules/version-etc (Depends-on): Add stdarg.
2763
2764 2006-07-25  Bruno Haible  <bruno@clisp.org>
2765
2766         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
2767         complex commands.
2768
2769 2006-07-25  Bruno Haible  <bruno@clisp.org>
2770
2771         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
2772         defined in <stdarg.h> or config.h.
2773
2774 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
2775
2776         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
2777         (gl_STDIO_SAFER): Remove.
2778
2779 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
2780
2781         * MODULES.html.sh (File stream based Input/Output):
2782         Add fopen-safer, tmpfile-safer; remove stdio-safer.
2783         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
2784         * modules/fopen-safer, modules/tmpfile-safer: New files.
2785         * modules/stdio-safer: Remove.
2786
2787 2006-07-24  Bruno Haible  <bruno@clisp.org>
2788
2789         * modules/tmpdir: New file.
2790         * MODULES.html.sh (File system functions): Add it.
2791
2792 2006-07-24  Bruno Haible  <bruno@clisp.org>
2793
2794         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
2795         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
2796
2797 2006-07-24  Bruno Haible  <bruno@clisp.org>
2798
2799         * modules/clean-temp: New file.
2800
2801 2006-07-24  Bruno Haible  <bruno@clisp.org>
2802
2803         * m4/tmpdir.m4: New file, from GNU gettext.
2804
2805 2006-07-24  Bruno Haible  <bruno@clisp.org>
2806
2807         * lib/tmpdir.h: New file, from GNU gettext.
2808         * lib/tmpdir.c: New file, from GNU gettext.
2809
2810 2006-07-24  Bruno Haible  <bruno@clisp.org>
2811
2812         * lib/clean-temp.h: New file, from GNU gettext.
2813         * lib/clean-temp.c: New file, from GNU gettext.
2814
2815 2006-07-23  Eric Blake  <ebb9@byu.net>
2816
2817         * modules/stdio-safer (Files): Add tmpfile-safer.c.
2818         (Depends-on): Add binary-io.
2819
2820 2006-07-23  Eric Blake  <ebb9@byu.net>
2821
2822         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
2823
2824 2006-07-23  Eric Blake  <ebb9@byu.net>
2825
2826         * lib/tmpfile-safer.c: New file.
2827         * lib/stdio-safer.h (fopen_safer): Add prototype.
2828         * lib/stdio--.h (tmpfile): Make safer.
2829
2830 2006-07-23  Bruno Haible  <bruno@clisp.org>
2831
2832         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
2833         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
2834         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
2835         gl_linked_remove_at): Use it.
2836
2837 2006-07-22  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
2838         and Simon Josefsson <jas@extundo.com>
2839
2840         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
2841
2842         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
2843
2844 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
2845
2846         * modules/close-stream: New file.
2847         * modules/closeout (Description): Make it clear that it exits
2848         with a diagnostic on error.
2849         (Depends-on): Add close-stream.  Remove fpending, stdbool.
2850         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
2851
2852 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
2853
2854         * m4/close-stream.m4: New file.
2855
2856 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
2857
2858         * lib/close-stream.c, close-stream.h: New files.
2859
2860 2006-07-22  Bruno Haible  <bruno@clisp.org>
2861
2862         Merge from GNU gettext 0.15.
2863
2864         2006-05-01  Bruno Haible  <bruno@clisp.org>
2865
2866                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
2867
2868         2006-07-22  Bruno Haible  <bruno@clisp.org>
2869
2870                 * modules/javaversion: New file.
2871                 * MODULES.html.sh (Java): Add javaversion.
2872
2873         2006-03-12  Bruno Haible  <bruno@clisp.org>
2874
2875                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
2876
2877         2005-12-04  Bruno Haible  <bruno@clisp.org>
2878
2879                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
2880                 (untested).
2881
2882         2006-06-21  Bruno Haible  <bruno@clisp.org>
2883
2884                 Avoid warnings from recent versions of mcs.
2885                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
2886                 -o, -L, -r any more. Use options documented since mcs-1.0
2887                 instead. Similarly for -g.
2888
2889         2005-12-04  Bruno Haible  <bruno@clisp.org>
2890
2891                 * build-aux/csharpcomp.sh.in: Suffix for resources is
2892                 .resources, not .resource.
2893
2894         2005-07-09  Bruno Haible  <bruno@clisp.org>
2895
2896                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
2897                 add a .dll suffix.
2898                 Reported by Mark Junker <mjscod@gmx.de>.
2899
2900         2006-07-22  Bruno Haible  <bruno@clisp.org>
2901
2902                 * modules/gettext: Upgrade to gettext-0.15.
2903                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
2904                 m4/visibility.m4.
2905                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
2906
2907 2006-07-22  Bruno Haible  <bruno@clisp.org>
2908
2909         Merge from GNU gettext 0.15.
2910
2911         2006-03-25  Bruno Haible  <bruno@clisp.org>
2912
2913                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
2914
2915         2006-07-21  Bruno Haible  <bruno@clisp.org>
2916
2917                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
2918                 "1.1".
2919
2920         2006-05-09  Bruno Haible  <bruno@clisp.org>
2921
2922                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
2923                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
2924                 for the conftestver execution.
2925
2926         2006-05-01  Bruno Haible  <bruno@clisp.org>
2927
2928                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
2929                 optional target-version argument. Verify that the compiler
2930                 groks source of the specified source-version, or add -source
2931                 option as necessary. Verify that the compiler produces
2932                 bytecode in the specified target-version, or add -target and
2933                 -source options as necessary. Make the result of the test
2934                 available as variable CONF_JAVAC. Also log error output in
2935                 config.log.
2936
2937         2006-03-11  Bruno Haible  <bruno@clisp.org>
2938
2939                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
2940
2941         2006-05-09  Bruno Haible  <bruno@clisp.org>
2942
2943                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
2944                 CLASSPATH_SEPARATOR to a semicolon.
2945
2946         2006-03-12  Bruno Haible  <bruno@clisp.org>
2947
2948                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
2949                 available as variable CONF_JAVA, for subsequent autoconf
2950                 tests. Also log error output in config.log.
2951
2952         2006-07-19  Bruno Haible  <bruno@clisp.org>
2953
2954                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
2955                 that getline works on glibc2 systems. Needed to avoid trouble
2956                 in relocatable.c.
2957                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
2958
2959         2005-12-04  Bruno Haible  <bruno@clisp.org>
2960
2961                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
2962                 launcher (untested).
2963
2964         2005-12-04  Bruno Haible  <bruno@clisp.org>
2965
2966                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
2967
2968         2006-07-22  Bruno Haible  <bruno@clisp.org>
2969
2970                 * gettext.m4: Update from GNU gettext-0.15.
2971                 * nls.m4: Likewise.
2972                 * po.m4: Likewise.
2973                 * inttypes-pri.m4: Likewise.
2974                 * inttypes-h.m4: Renamed from inttypes.m4.
2975                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
2976
2977 2006-07-22  Bruno Haible  <bruno@clisp.org>
2978
2979         Merge from GNU gettext 0.15.
2980
2981         2005-07-05  Bruno Haible  <bruno@clisp.org>
2982
2983                 * printf-args.c (printf_fetchargs): Work around broken
2984                 definition of wint_t on mingw.
2985
2986         2005-02-12  Bruno Haible  <bruno@clisp.org>
2987
2988                 * xallocsa.h: Add extern "C" for C++.
2989
2990         2006-05-17  Bruno Haible  <bruno@clisp.org>
2991
2992                 Cygwin portability.
2993                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
2994
2995         2006-04-30  Bruno Haible  <bruno@clisp.org>
2996
2997                 * progreloc.c: Include <mach-o/dyld.h> if available.
2998                 (find_executable): Use _NSGetExecutablePath when possible.
2999
3000         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
3001
3002                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
3003                 function.
3004
3005         2005-12-29  Bruno Haible  <bruno@clisp.org>
3006
3007                 * progreloc.c (set_program_name_and_installdir): Fix
3008                 compilation error.
3009
3010         2005-12-04  Bruno Haible  <bruno@clisp.org>
3011
3012                 Cygwin portability.
3013                 * progreloc.c: Include <windows.h> also on Cygwin.
3014                 (find_executable): Add support for Cygwin.
3015                 (set_program_name_and_installdir): Handle also platforms with
3016                 nonempty EXEEXT.
3017
3018         2006-07-11  Bruno Haible  <bruno@clisp.org>
3019
3020                 * javacomp.c: Fix a comment.
3021                 Reported by Jim Meyering.
3022
3023         2006-04-30  Bruno Haible  <bruno@clisp.org>
3024
3025                 * javacomp.h (compile_java_class): Add source_version,
3026                 target_version arguments.
3027                 * javacomp.c: Rewritten to choose only a compiler that
3028                 respects the specified source_version and target_version.
3029
3030         2006-06-27  Bruno Haible  <bruno@clisp.org>
3031
3032                 Assume correct S_ISDIR macro.
3033                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
3034
3035         2006-07-22  Bruno Haible  <bruno@clisp.org>
3036
3037                 * javaversion.h: New file, from GNU gettext.
3038                 * javaversion.c: New file, from GNU gettext.
3039                 * javaversion.java: New file, from GNU gettext.
3040                 * javaversion.class: New file, from GNU gettext.
3041
3042         2006-05-17  Bruno Haible  <bruno@clisp.org>
3043
3044                 Cygwin portability.
3045                 * javaexec.c (execute_java_class): Test for jview program
3046                 also on Cygwin.
3047
3048         2006-04-09  Bruno Haible  <bruno@clisp.org>
3049
3050                 * fatal-signal.c: Don't include string.h.
3051                 (at_fatal_signal): Use a copying loop instead of memcpy.
3052
3053         2005-12-04  Bruno Haible  <bruno@clisp.org>
3054
3055                 * csharpexec.c: Add support for 'clix' launcher (untested).
3056                 (execute_csharp_using_sscli): New function.
3057                 (execute_csharp_program): Call it.
3058
3059         2006-06-21  Bruno Haible  <bruno@clisp.org>
3060
3061                 Avoid warnings from recent versions of mcs.
3062                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
3063                 -o, -L, -r any more. Use options documented since mcs-1.0
3064                 instead. Similarly for -g.
3065
3066         2005-07-09  Bruno Haible  <bruno@clisp.org>
3067
3068                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
3069                 add a .dll suffix.
3070                 Reported by Mark Junker <mjscod@gmx.de>.
3071
3072         2006-06-17  Bruno Haible  <bruno@clisp.org>
3073
3074                 * config.charset: Update for NetBSD 3.0.
3075
3076         2006-05-17  Bruno Haible  <bruno@clisp.org>
3077
3078                 Cygwin portability.
3079                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
3080
3081         2006-05-16  Bruno Haible  <bruno@clisp.org>
3082
3083                 * localcharset.c [CYGWIN]: Include <windows.h>.
3084                 (get_charset_aliases): For Cygwin, return the same CPxxx
3085                 aliases list as under WIN32.
3086                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
3087                 the environment variables. Fall back to GetACP().
3088
3089         2006-04-05  Bruno Haible  <bruno@clisp.org>
3090
3091                 * config.charset: Update Juan Manuel Guerrero's address.
3092
3093         2005-02-12  Bruno Haible  <bruno@clisp.org>
3094
3095                 * allocsa.h: Add extern "C" for C++.
3096
3097         2005-02-10  Bruno Haible  <bruno@clisp.org>
3098
3099                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
3100                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
3101
3102         2006-07-22  Bruno Haible  <bruno@clisp.org>
3103
3104                 * gettext.h: Update to GNU gettext-0.15.
3105
3106 2006-07-22  Bruno Haible  <bruno@clisp.org>
3107
3108         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
3109         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
3110         lib-prefix.m4, longdouble.m4, ssize_t.m4.
3111
3112 2006-07-21  Eric Blake  <ebb9@byu.net>
3113
3114         * modules/stdlib-safer: New file.
3115         * MODULES.html.sh (File stream based Input/Output): Add
3116         stdlib-safer.
3117
3118 2006-07-21  Eric Blake  <ebb9@byu.net>
3119
3120         * lib/stdlib-safer.h: New file from coreutils, required by
3121         stdlib--.h.
3122
3123 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
3124
3125         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
3126
3127 2006-07-20  Bruno Haible  <bruno@clisp.org>
3128
3129         * gnulib-tool: Recognize new option --assume-autoconf.
3130         (autoconf_minversion): New variable.
3131         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
3132
3133 2006-07-20  Bruno Haible  <bruno@clisp.org>
3134
3135         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
3136
3137 2006-07-19  Derek R. Price  <derek@ximbiot.com>
3138
3139         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
3140         Reindent and repaginate.
3141
3142 2006-07-19  Derek Price  <derek@ximbiot.com>
3143
3144         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
3145         Correct grammar.
3146
3147 2006-07-17  Bruno Haible  <bruno@clisp.org>
3148
3149         * modules/list: New file.
3150         * modules/array-list: New file.
3151         * modules/carray-list, modules/carray-list-tests: New files.
3152         * modules/linked-list, modules/linked-list-tests: New files.
3153         * modules/avltree-list, modules/avltree-list-tests: New files.
3154         * modules/rbtree-list, modules/rbtree-list-tests: New files.
3155         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
3156         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
3157         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
3158         * modules/oset: New file.
3159         * modules/array-oset: New file.
3160         * modules/avltree-oset, modules/avltree-oset-tests: New files.
3161         * modules/rbtree-oset, rbtree-oset-tests: New files.
3162         * tests/test-carray_list.c: New file.
3163         * tests/test-linked_list.c: New file.
3164         * tests/test-avltree_list.c: New file.
3165         * tests/test-rbtree_list.c: New file.
3166         * tests/test-linkedhash_list.c: New file.
3167         * tests/test-avltreehash_list.c: New file.
3168         * tests/test-rbtreehash_list.c: New file.
3169         * tests/test-avltree_oset.c: New file.
3170         * tests/test-rbtree_oset.c: New file.
3171         * MODULES.html.sh (Container data structures): New section.
3172
3173 2006-07-17  Bruno Haible  <bruno@clisp.org>
3174
3175         * m4/gl_list.m4: New file.
3176
3177 2006-07-17  Bruno Haible  <bruno@clisp.org>
3178
3179         * lib/gl_list.h: New file.
3180         * lib/gl_list.c: New file.
3181         * lib/gl_array_list.h: New file.
3182         * lib/gl_array_list.c: New file.
3183         * lib/gl_carray_list.h: New file.
3184         * lib/gl_carray_list.c: New file.
3185         * lib/gl_linked_list.h: New file.
3186         * lib/gl_linked_list.c: New file.
3187         * lib/gl_anylinked_list1.h: New file.
3188         * lib/gl_anylinked_list2.h: New file.
3189         * lib/gl_avltree_list.h: New file.
3190         * lib/gl_avltree_list.c: New file.
3191         * lib/gl_anyavltree_list1.h: New file.
3192         * lib/gl_anyavltree_list2.h: New file.
3193         * lib/gl_rbtree_list.h: New file.
3194         * lib/gl_rbtree_list.c: New file.
3195         * lib/gl_anyrbtree_list1.h: New file.
3196         * lib/gl_anyrbtree_list2.h: New file.
3197         * lib/gl_anytree_list1.h: New file.
3198         * lib/gl_anytree_list2.h: New file.
3199         * lib/gl_linkedhash_list.h: New file.
3200         * lib/gl_linkedhash_list.c: New file.
3201         * lib/gl_anyhash_list1.h: New file.
3202         * lib/gl_anyhash_list2.h: New file.
3203         * lib/gl_avltreehash_list.h: New file.
3204         * lib/gl_avltreehash_list.c: New file.
3205         * lib/gl_rbtreehash_list.h: New file.
3206         * lib/gl_rbtreehash_list.c: New file.
3207         * lib/gl_anytreehash_list1.h: New file.
3208         * lib/gl_anytreehash_list2.h: New file.
3209
3210         * lib/gl_oset.h: New file.
3211         * lib/gl_oset.c: New file.
3212         * lib/gl_array_oset.h: New file.
3213         * lib/gl_array_oset.c: New file.
3214         * lib/gl_avltree_oset.h: New file.
3215         * lib/gl_avltree_oset.c: New file.
3216         * lib/gl_rbtree_oset.h: New file.
3217         * lib/gl_rbtree_oset.c: New file.
3218         * lib/gl_anytree_oset.h: New file.
3219
3220 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
3221
3222         * m4/mkancesdirs.m4: New file.
3223         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
3224         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
3225         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
3226         it.
3227
3228 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
3229
3230         * lib/dirchownmod.c, dirchownmod.h, mkancesdirs.c, mkancesdirs.h:
3231         New files.
3232         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
3233         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
3234         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
3235         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
3236         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
3237         callers changed.  Revamp internals significantly, by not
3238         attempting to create directories that are temporarily more
3239         permissive than the final results.  Do not attempt to use
3240         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
3241         This removes some race conditions, fixes some bugs, and simplifies
3242         things.  Use new dirchownmod function to do owner and mode changes.
3243         * lib/mkdir-p.h: Likewise.
3244         * lib/modechange.c (octal_to_mode): New function.
3245         (struct mode_change): New member mentioned.
3246         (make_node_op_equals): New arg mentioned.  All callers changed.
3247         (mode_compile): Keep track of which mode bits the user has explicitly
3248         mentioned.
3249         (mode_adjust): New arg DIR, so that we implement the X op correctly.
3250         New arg PMODE_BITS, to keep track of which mode bits the user
3251         mentioned; it treats S_ISUID and S_ISGID speciall.
3252         All callers changed.
3253         * lib/modechange.h: Likewise.
3254
3255 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
3256
3257         * MODULES.html.sh: Add mkancestors.
3258         * modules/mkancesdirs: New module.
3259         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
3260         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
3261         The chdir-safer and afs files are now orphans; I'll remove them
3262         unless someone speaks up.
3263         Add lib/dirchownmod.c, lib/dirchownmod.h.
3264         (Depends-on): Remove alloca, chown, save-cwd, dirname.
3265         Add lchown, mkancesdirs.
3266         (Maintainer): Add self.
3267
3268 2006-07-15  Karl Berry  <karl@gnu.org>
3269
3270         * gnulib-tool: help message wording/arrangement.
3271
3272 2006-07-14  Simon Josefsson  <jas@extundo.com>
3273
3274         * doc/gnulib.texi (Libtool and Windows): New section.
3275
3276 2006-07-12  Simon Josefsson  <jas@extundo.com>
3277
3278         * modules/gendocs (License): Fix license, approved by Karl.
3279
3280 2006-07-12  Eric Blake  <ebb9@byu.net>
3281
3282         * MODULES.html.sh: Add gendocs.
3283
3284 2006-07-11  Eric Blake  <ebb9@byu.net>
3285
3286         * modules/fdl: New module, to install doc/fdl.texi.
3287         * MODULES.html.sh: Add new section for documentation modules.
3288         * gnulib-tool: Avoid space-tab.
3289         (--doc-base): New option, to manage files from doc.
3290
3291 2006-07-11  Eric Blake  <ebb9@byu.net>
3292
3293         * m4/absolute-header.m4: Fix comments to match recent change.
3294
3295 2006-07-11  Eric Blake  <ebb9@byu.net>
3296
3297         * gnulib-tool: List --doc-base before --tests-base.
3298
3299 2006-07-11  Derek R. Price  <derek@ximbiot.com>
3300
3301         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
3302
3303 2006-07-11  Bruno Haible  <bruno@clisp.org>
3304
3305         * README: Mention where to put documentation.
3306
3307 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3308
3309         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
3310
3311 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
3312
3313         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
3314         to stdint.m4.
3315
3316 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
3317
3318         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
3319         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
3320         "no/such/file/stdint.h" when there is no such file, so that
3321         the resulting C code can be parsed by dodgy compilers.
3322         Problems reported by Bob Proulx.
3323
3324 2006-07-10  Derek R. Price  <derek@ximbiot.com>
3325
3326         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
3327         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
3328         macros into the GNU _D_EXACT_NAMLEN.
3329         * lib/savedir.c:  Likewise.
3330         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
3331
3332 2006-07-10  Derek R. Price  <derek@ximbiot.com>
3333         and Paul Eggert  <eggert@cs.ucla.edu>
3334
3335         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
3336         * m4/savedir.m4:
3337         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
3338         macros into the GNU _D_EXACT_NAMLEN.
3339
3340 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
3341
3342         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
3343         around the absolute name, to work around a problem with the HP-UX
3344         11.23 native C compiler, reported by Bob Proulx.
3345
3346 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
3347
3348         * doc/maintain.texi, make-stds.texi: Sync from
3349         <http://savannah.gnu.org/projects/gnustandards>.
3350
3351 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
3352
3353         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
3354
3355 2006-07-09  Jim Meyering  <jim@meyering.net>
3356
3357         * m4/glob.m4: Remove a doubled word in a comment.
3358
3359 2006-07-09  Jim Meyering  <jim@meyering.net>
3360
3361         * lib/argp-pv.c: Remove a doubled word in a comment.
3362         * lib/check-version.c (check_version): Likewise.
3363         * lib/javacomp.c (compile_java_class): Likewise.
3364
3365 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
3366
3367         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
3368         for the benefit of people using Autoconf 2.60.  If you want to
3369         support older Autoconf versions you can copy m4/onceonly_2_57.m4
3370         (or m4/onceonly.m4, if pre-2.57) manually.
3371
3372 2006-07-08  Jim Meyering  <jim@meyering.net>
3373
3374         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
3375         comment.
3376         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
3377         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
3378         comment.
3379
3380 2006-07-08  Jim Meyering  <jim@meyering.net>
3381
3382         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
3383
3384 2006-07-07  Simon Josefsson  <jas@extundo.com>
3385
3386         * tests/test-crc.c: Change expected crc value, the test vector
3387         were probably computed using the old broken crc.c?
3388
3389 2006-07-06  Simon Josefsson  <jas@extundo.com>
3390
3391         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
3392         now the canonical place for the M4 file).
3393
3394         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
3395         from the sys_socket dependency now.
3396
3397         * modules/inet_pton (Files): Ditto.
3398
3399         * modules/inet_ntop (Files): Ditto.
3400
3401 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
3402
3403         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
3404         not gl_PREREQ_GETUSERSHELL.
3405
3406 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3407
3408         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
3409         with only one argument, for Autoconf 2.60.
3410         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
3411         expand to nothing, so add a shell command to avoid syntax error.
3412         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
3413
3414 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3415
3416         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
3417
3418 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
3419
3420         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
3421         no longer needed.  Check for isblank decl.
3422         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
3423         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
3424         of existence.
3425
3426 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
3427
3428         * lib/getloadavg.c: Use __VMS, not VMS.
3429         * lib/getopt.c: Likewise.
3430         * lib/getpagesize.h: Likewise.
3431         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
3432         and probably does not work.
3433
3434 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
3435
3436         * lib/.cppi-disable: Add wcwidth.
3437         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
3438         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
3439         (ISGRAPH): Remove.  All uses changed to isgraph.
3440         (FOLD) [!defined _LIBC]: Remove special case.
3441         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
3442         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
3443         HAVE_ISBLANK.
3444         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
3445         case.
3446
3447 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
3448
3449         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
3450         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
3451         brackets.  Other minor changes to suppress some compiler
3452         warnings.
3453
3454 2006-07-06  Derek R. Price  <derek@ximbiot.com>
3455         and Paul Eggert  <eggert@cs.ucla.edu>
3456
3457         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
3458         of invoking obsolescent AC_HEADER_DIRENT macro.
3459         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
3460         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
3461         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
3462         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
3463         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
3464         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
3465         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
3466         * m4/readdir.m4: Remove; no longer needed.
3467
3468 2006-07-06  Derek R. Price  <derek@ximbiot.com>
3469         and Paul Eggert  <eggert@cs.ucla.edu>
3470
3471         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
3472         Don't worry about this obsolete case any more.
3473         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
3474         directories.
3475         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
3476         worry about this obsolete case any more.
3477         * lib/fts.c: Likewise.
3478         * lib/getcwd.c: Likewise.
3479         * lib/glob.h: Likewise.
3480         * lib/savedir.c: Likewise.
3481
3482 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
3483
3484         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
3485         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
3486         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
3487         needed.
3488         All uses removed.
3489         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
3490         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
3491         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
3492         needed.
3493         * m4/getdate.m4 (gl_GETDATE): Likewise.
3494         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
3495         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
3496         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
3497         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
3498         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
3499         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
3500         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
3501         needed.
3502
3503 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
3504
3505         * lib/memcasecmp.c: Include <limits.h>.
3506         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
3507         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
3508         Don't assume isdigit succeeds only on '0' through '9'.
3509
3510 2006-07-05  Eric Blake  <ebb9@byu.net>
3511
3512         * modules/getaddrinfo (Depends-on): Add snprintf.
3513
3514 2006-07-05  Eric Blake  <ebb9@byu.net>
3515
3516         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
3517         to avoid 'header present but could not be compiled' on cygwin.
3518
3519 2006-07-05  Eric Blake  <ebb9@byu.net>
3520
3521         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
3522         missing from netdb.h.
3523         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
3524
3525 2006-07-05  Derek R. Price  <derek@ximbiot.com>
3526
3527         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
3528         no longer needed.
3529         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
3530         * m4/getdate.m4 (gl_GETDATE): Likewise.
3531         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
3532         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
3533         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
3534         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
3535         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
3536
3537 2006-07-05  Derek R. Price  <derek@ximbiot.com>
3538
3539         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
3540         All uses of is_space replaced by isspace.
3541         * lib/exit.h: Don't talk about STDC_HEADERS.
3542         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
3543         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
3544         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
3545         replaced by isprint etc.
3546         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
3547         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
3548         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
3549         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
3550         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
3551         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
3552
3553 2006-07-05  Bruno Haible  <bruno@clisp.org>
3554
3555         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
3556         the function exists, before testing against AIX.
3557         Reported by Martin Lambers <marlam@marlam.de>.
3558
3559 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
3560
3561         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
3562         From Mark D. Baushke.
3563
3564 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
3565
3566         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
3567         to the absolute name, not just one, to bypass Sun C 5.8's
3568         "warning: #include of /usr/include/... may be non-portable".
3569
3570 2006-07-04  Eric Blake  <ebb9@byu.net>
3571
3572         * modules/dirname-tests: New test module.
3573         * tests/test-dirname.c: New file, replacing dirname.c
3574         TEST_DIRNAME section that was recently deleted.
3575
3576 2006-07-04  Bruno Haible  <bruno@clisp.org>
3577
3578         Assume ANSI C header files and <ctype.h> functions.
3579         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
3580         (mbsnwidth): Use isprint, iscntrl instead.
3581
3582 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
3583
3584         Merge from coreutils.
3585         * MODULES.html.sh: Add xstrtold.
3586         * modules/xstrtold: New file.
3587         * modules/cycle-check (Files): Add lib/same-inode.h.
3588         * modules/dirname (Files): Add m4/double-slash-root.m4.
3589         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
3590         * modules/mkdir-p (Files): Add lib/same-inode.h.
3591         * modules/same (Files): Add lib/same-inode.h.
3592
3593 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
3594
3595         * m4/absolute-header.m4: Renamed from full-header-path.m4.
3596         This is to keep the terminology clean; POSIX talks about
3597         "absolute pathnames", not "full pathnames", but the GNU
3598         Coding Standards say to use "path" for something else;
3599         so use "absolute" to keep both sides happy.
3600         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
3601         Set gl_absolute_header, not gl_full_header_path.
3602         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
3603         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
3604         All uses changed.
3605
3606         Merge from coreutils.
3607
3608         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
3609
3610         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
3611         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
3612         want to require the building of c-strtod.o.
3613         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
3614         needs -lm directly.
3615         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
3616
3617         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
3618
3619         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
3620         --as-needed option if available.  Problem reported by Albert Chin in
3621         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
3622         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
3623         cc merely issues a bunch of annoying warnings for --as-needed
3624         (this problem was reported by Bob Proulx).  Also, try linking with
3625         -lm to detect a bug in binutils 2.16 (this problem was reported
3626         by Ralf Wildenhues).
3627
3628         2006-06-18  Jim Meyering  <jim@meyering.net>
3629
3630         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
3631         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
3632         macro.
3633         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
3634         also check for glibc-2.4's abort-inducing bug.
3635
3636         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
3637         Low-probability clean-up should be to use rmdir to get rid of
3638         the just-created directory, not unlink.
3639
3640         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
3641         configure fail, and request a bug report to inform us about it.
3642         Add a comment that, barring reports to the contrary, in 2007 we'll
3643         assume ftruncate is universally available.
3644
3645         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
3646
3647         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
3648
3649         2006-03-12  Jim Meyering  <jim@meyering.net>
3650
3651         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
3652         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
3653         * m4/same.m4 (gl_SAME): Likewise.
3654         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
3655
3656         2006-03-11  Eric Blake  <ebb9@byu.net>
3657
3658         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
3659         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
3660         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
3661         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
3662
3663 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
3664
3665         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
3666         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
3667         reported by Mark D. Baushke, one in
3668         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
3669
3670         Merge from coreutils.
3671
3672         * lib/.cppi-disable: Add stdint_.h.
3673         * lib/.cvsignore: Add stdint.h.
3674
3675         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
3676
3677         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
3678         both double and long double versions.
3679         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
3680         * lib/xstrtold.c: New file.
3681         * lib/xstrtod.h (xstrtold): New decl.
3682
3683         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
3684
3685         * lib/filemode.c (setst): Remove.
3686         (strmode): Rewrite to avoid setst.  This makes the code shorter,
3687         (arguably) clearer, and the generated code is a bit smaller on my
3688         Debian GNU/Linux stable x86 host.
3689
3690         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
3691
3692         * lib/filemode.c: Include "filemode.h" first, to test the interface.
3693         Assume that filemode.h includes sys/types.h and sys/stat.h.
3694         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
3695         (ftypelet): Reorder to put common cases first, for efficiency.
3696         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
3697         to do 'M'.
3698         (strmode): Renamed from mode_string, and now stores 12 bytes instead
3699         of 10, for compatibility with FreeBSD.  All callers changed.
3700         (filemodestring): Now stores 12 bytes instead of 10, and sets file
3701         types that can't be deduced solely from st_mode.  First arg is now a
3702         const pointer.
3703         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
3704         (strmode): Renamed from mode_string.
3705         (filemodestring): New decl.
3706         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
3707         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
3708         needed.
3709         (S_ISPORT, S_ISWHT): New macros, if not already defined.
3710
3711         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
3712
3713         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
3714         fsusage.h now does that.  Include fsusage.h first, to test interface.
3715         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
3716         at most one method (the old code could have generated decls that
3717         didn't conform to C89, not that this was ever exercised).
3718         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
3719
3720         2006-03-19  Jim Meyering  <jim@meyering.net>
3721
3722         Work even in a chroot where d_ino values for entries in "/"
3723         don't match the stat.st_ino values for the same names.
3724         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
3725         number, iterate through all entries again, using lstat instead.
3726         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
3727         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
3728
3729         * lib/getcwd.c (__getcwd): Clarify a comment.
3730         Use memcpy in place of a call to strcpy.
3731
3732         2006-03-12  Jim Meyering  <jim@meyering.net>
3733
3734         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
3735         matches that of the current directory (which we're about to chdir ".."
3736         out of), then save the dev-ino of the parent, instead.
3737
3738         * lib/same-inode.h (SAME_INODE): New file/macro.
3739         * lib/chdir-safer.c (SAME_INODE): Remove definition.
3740         Include "same-inode.h", instead.
3741         * lib/same.c: Likewise.
3742         * lib/cycle-check.h: Include "same-inode.h".
3743         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
3744         * lib/cycle-check.c (SAME_INODE): Remove definition.
3745         * lib/root-dev-ino.h: Include "same-inode.h".
3746
3747         2006-03-11  Eric Blake  <ebb9@byu.net>
3748
3749         * lib/same.c (same_name): s/base_name/last_component/
3750         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
3751         * lib/filenamecat.c (file_name_concat): Likewise.
3752
3753         2006-03-11  Eric Blake  <ebb9@byu.net>,
3754                     Paul Eggert  <eggert@cs.ucla.edu>
3755
3756         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
3757         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
3758         drive prefix.
3759         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
3760         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
3761         (last_component): New method.
3762         * lib/dirname.c (dir_len): Determine when drive letters need a
3763         subsequent slash.  Preserve // when it is special.
3764         (dir_name): Don't append dot when drive letter is absolute.
3765         [TEST_DIRNAME]: Move into a full-blown gnulib test.
3766         * lib/basename.c (base_name): New semantics - malloc the result.
3767         Preserve // when it is special.  Preserve relative files that look
3768         like drive letters.
3769         (base_len): Preserve // when it is special.
3770         (last_component): New method, similar to old base_name semantics.
3771         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
3772         base_name.  Strip redundant slashes from ///.
3773
3774 2006-07-03  Jim Meyering  <jim@meyering.net>
3775
3776         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
3777         macro is used before the first cycle_check call.
3778
3779 2006-07-03  Eric Blake  <ebb9@byu.net>
3780
3781         * modules/dirname (Depends-on): Add xstrndup.
3782
3783 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
3784
3785         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
3786         test cases, so that config.log is a bit easier to follow.
3787
3788 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
3789
3790         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
3791         both are 64 bits, since this seems to be the tradition, and this
3792         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
3793         we ever run into a host that prefers long long to long in this
3794         case, we'll need another configure-time test.  Problem reported by
3795         Jim Meyering.
3796
3797 2006-07-02  Eric Blake  <ebb9@byu.net>
3798
3799         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
3800
3801 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
3802
3803         * modules/inttypes (Depends-on): No longer depends on stdint.
3804         * modules/stdint (Description): Say more about assumptions.
3805         Say that the fast types might differ.  Say macros are used.
3806         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
3807         (Makefile.am): Revise list of substituted symbols to match
3808         new stdint.m4.
3809         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
3810         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
3811         * tests/test-stdint.c (verify_same_types)
3812         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
3813         the code conforms to C99/C89.
3814         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
3815         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
3816
3817 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
3818
3819         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
3820         but fix a bug, by requiring at least 64 bits.
3821         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
3822         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
3823         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
3824         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
3825
3826         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
3827         changes.  Make 2.59 a prerequisite.  Check and substitute for
3828         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
3829         inttypes.h.  Do not use special include files; just use the
3830         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
3831         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
3832         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
3833         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
3834         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
3835         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
3836         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
3837         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
3838         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
3839         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
3840         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
3841         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
3842         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
3843         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
3844         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
3845         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
3846         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
3847         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
3848         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
3849         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
3850         WINT_MAX.  Check for C99 conformance more strictly, by detecting
3851         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
3852         not check for things that C99 does not require, e.g., int8_t.  If
3853         a test isn't needed unless <stdint.h> isn't working, and is
3854         unlikely to be needed for any other reason, then don't do it
3855         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
3856         size_t, since we assume C89 freestanding at least.  Do not check
3857         for sig_atomic_t, wchar_t, or wint_t, since the code now does
3858         the right thing even if the types are not defined.  Instead use:
3859         (gl_STDINT_TYPE_PROPERTIES): New macro.
3860         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
3861         testing whether <sys/types.h> clashes, as Autoconf does this for
3862         us now.  All uses removed.
3863         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
3864         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
3865         (gl_CHECK_TYPE_SAME):
3866         Remove; no longer needed.
3867         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
3868         exists, since we'll return 0 anyway in that case.
3869         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
3870
3871 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
3872
3873         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
3874         possible collision with system files.
3875         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
3876         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
3877         WCHAR_MIN and WCHAR_MAX in this case.
3878         (<stddef.h>): Do not include; no longer needed.
3879         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
3880         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
3881         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
3882         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
3883         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
3884         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
3885         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
3886         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
3887         !defined(__c99))]: Include in this case too, since it's harmless
3888         now.
3889         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
3890         dangerous to do so.
3891         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
3892         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
3893         (_STDINT_MIN, _STDINT_MAX): New macros.
3894         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
3895         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
3896         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
3897         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
3898         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
3899         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
3900         macros, not typedefs; this simplifies things quite a bit.
3901         Use long int for all types narrower than int64_t.
3902         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
3903         Define in terms of long long int or int64_t or long int,
3904         not int64_t or int32_t.  This saves some compile-time testing.
3905         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
3906         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
3907         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
3908         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
3909         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
3910         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
3911         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
3912         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
3913         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
3914         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
3915         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
3916         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
3917         undef any previous version and define our own version, for
3918         simplicity and consistency with the new macros for types.
3919         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
3920         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
3921         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
3922         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
3923         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
3924         @WINT_T_SUFFIX@ to keep things simple here.
3925         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
3926         Simplify by assuming typical 8/16/32/64 host, since we're
3927         already doing that elsewhere anyway.
3928         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
3929         and assume long long int is 64 bits if available.  This
3930         speeds up 'configure'.
3931
3932 2006-07-01  Eric Blake  <ebb9@byu.net>
3933
3934         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
3935         Reported by Andreas Buening.
3936
3937 2006-07-01  Eric Blake  <ebb9@byu.net>
3938
3939         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
3940
3941 2006-06-30  Jim Hyslop <jhyslop@dreampossible.ca>  (tiny change)
3942
3943         * lib/getaddrinfo.c: fixed typo
3944
3945 2006-06-29  Jim Meyering  <jim@meyering.net>
3946
3947         * modules/strftime (Maintainer): Add my name, since with the
3948         FPRINTFTIME changes strftime.c has forked from glibc.
3949
3950 2006-06-29  Eric Blake  <ebb9@byu.net>
3951
3952         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
3953
3954 2006-06-29  Eric Blake  <ebb9@byu.net>
3955
3956         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
3957
3958 2006-06-29  Eric Blake  <ebb9@byu.net>
3959
3960         * lib/stat_.h: New file.
3961
3962 2006-06-29  Eric Blake  <ebb9@byu.net>
3963
3964         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
3965         unused static function.
3966
3967 2006-06-29  Eric Blake  <ebb9@byu.net>
3968
3969         * doc/functions.texi (Function Portability): Document missing lstat
3970         on mingw.
3971
3972 2006-06-29  Eric Blake  <ebb9@byu.net>
3973
3974         * MODULES.html.sh: Add sys_stat.
3975         * modules/sys_stat: New module.
3976         * modules/mkstemp (Depends-on): Add sys_stat.
3977
3978 2006-06-29  Derek R. Price  <derek@ximbiot.com>
3979
3980         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
3981
3982 2006-06-29  Derek R. Price  <derek@ximbiot.com>
3983
3984         * m4/c-bs-a.m4: Removed.
3985
3986 2006-06-29  Derek R. Price  <derek@ximbiot.com>
3987
3988         * lib/strftime.c: Assume strftime() exists.
3989
3990 2006-06-29  Derek Price  <derek@ximbiot.com>
3991
3992         * modules/c-bs-a: Removed - \a is C89.
3993         * MODULES.html.sh: Remove c-bs-a.
3994
3995 2006-06-29  Bruno Haible  <bruno@clisp.org>
3996
3997         * modules/wcwidth (License): Change to LGPL.
3998
3999 2006-06-28  Simon Josefsson  <jas@extundo.com>
4000
4001         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
4002         on _WIN32.
4003
4004         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
4005         getnameinfo.
4006
4007 2006-06-28  Simon Josefsson  <jas@extundo.com>
4008
4009         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
4010
4011 2006-06-28  Simon Josefsson  <jas@extundo.com>
4012
4013         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
4014         functions there.  It will succeed on Windows XP, but on Windows
4015         2000 and (presumably) earlier, it will fail, and use the internal
4016         re-implementation.
4017         (use_win32_p): New function.
4018         (getaddrinfo): Use strtoul on servname, to support numeric ports.
4019         Support AI_NUMERICSERV to disable getservbyname.
4020         (getnameinfo): New function, only supports
4021         NI_NUMERICHOST|NI_NUMERICSERV for now.
4022
4023         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
4024         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
4025         getnameinfo.
4026
4027 2006-06-28  Eric Blake  <ebb9@byu.net>
4028
4029         * modules/wcwidth: New file.
4030         * modules/mbchar (Depends-on): Add wcwidth.
4031         * modules/mbswidth (Depends-on): Add wcwidth.
4032         * MODULES.html.sh: Add wcwidth.
4033
4034 2006-06-28  Eric Blake  <ebb9@byu.net>
4035
4036         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
4037         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
4038
4039 2006-06-28  Eric Blake  <ebb9@byu.net>
4040
4041         * lib/xvasprintf.h: Fix comments.
4042
4043 2006-06-28  Eric Blake  <ebb9@byu.net>
4044
4045         * lib/mbchar.h (wcwidth): Include wcwidth.h.
4046         * lib/mbswidth.c (wcwidth): Move from here...
4047         * lib/wcwidth.h: ...to this new file.
4048
4049 2006-06-28  Derek R. Price  <derek@ximbiot.com>
4050
4051         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
4052
4053         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
4054         it's obsolete.
4055         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
4056
4057 2006-06-28  Derek R. Price  <derek@ximbiot.com>
4058
4059         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
4060         Autoconf 2.60 says this stuff was obsolete.
4061
4062 2006-06-28  Bruno Haible  <bruno@clisp.org>
4063
4064         * modules/wcwidth (Files): Add m4/wchar_t.m4.
4065
4066 2006-06-28  Bruno Haible  <bruno@clisp.org>
4067
4068         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
4069         gt_TYPE_WCHAR_T.
4070
4071 2006-06-28  Bruno Haible  <bruno@clisp.org>
4072
4073         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
4074         declaration for wcwidth.
4075         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
4076
4077 2006-06-28  Bruno Haible  <bruno@clisp.org>
4078
4079         * lib/mkdtemp.c [MINGW]: Include <io.h>.
4080         (mkdir): Define using _mkdir.
4081
4082 2006-06-28  Bruno Haible  <bruno@clisp.org>
4083
4084         * lib/getaddrinfo.h: Fix POSIX URL.
4085         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
4086         _WIN32.
4087         (use_win32_p): Make static.
4088         (getaddrinfo): Reject service name if it is empty or does not consist
4089         solely of decimal digits, or if its value is > 65535.
4090         (getnameinfo): Remove useless casts.
4091
4092 2006-06-27  Simon Josefsson  <jas@extundo.com>
4093
4094         * modules/sys_select: New file, suggested by Bruno Haible, Paul
4095         Eggert and Martin Lambers.
4096
4097 2006-06-27  Simon Josefsson  <jas@extundo.com>
4098
4099         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
4100         Eggert and Martin Lambers.
4101
4102 2006-06-27  Bruno Haible  <bruno@clisp.org>
4103
4104         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
4105         result to 0, not to empty.
4106         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
4107
4108 2006-06-27  Bruno Haible  <bruno@clisp.org>
4109
4110         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
4111
4112 2006-06-26  Simon Josefsson  <jas@extundo.com>
4113
4114         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
4115         present.
4116
4117 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
4118
4119         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
4120         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
4121         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
4122
4123 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
4124
4125         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
4126
4127 2006-06-26  Bruno Haible  <bruno@clisp.org>
4128
4129         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
4130
4131 2006-06-26  Bruno Haible  <bruno@clisp.org>
4132
4133         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
4134
4135 2006-06-26  Bruno Haible  <bruno@clisp.org>
4136
4137         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
4138         SGI C compiler in pre-C99 mode.
4139         Suggested by Mark D. Baushke and Larry Jones.
4140
4141 2006-06-26  Bruno Haible  <bruno@clisp.org>
4142
4143         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
4144         WCHAR_MAX.
4145         Reported by Mark D. Baushke and Larry Jones.
4146
4147 2006-06-26  Bruno Haible  <bruno@clisp.org>
4148
4149         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
4150         in pre-C99 mode.
4151         Suggested by Mark D. Baushke and Larry Jones.
4152
4153 2006-06-23  Simon Josefsson  <jas@extundo.com>
4154             Bruno Haible  <bruno@clisp.org>
4155
4156         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
4157         Emit mostlyclean-local rule.
4158         (func_emit_tests_Makefile_am): Likewise.
4159         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
4160
4161 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
4162
4163         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
4164
4165 2006-06-23  Bruno Haible  <bruno@clisp.org>
4166
4167         * tests/test-stdint.c: Update to match ISO C 99 Technical
4168         Corrigendum 1.
4169
4170 2006-06-23  Bruno Haible  <bruno@clisp.org>
4171
4172         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
4173
4174 2006-06-23  Bruno Haible  <bruno@clisp.org>
4175
4176         * lib/stdint_.h: Treat IRIX like OpenBSD.
4177
4178 2006-06-23  Bruno Haible  <bruno@clisp.org>
4179
4180         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
4181         ISO C 99 Technical Corrigendum 1.
4182
4183 2006-06-22  Simon Josefsson  <jas@extundo.com>
4184
4185         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
4186         MinGW.
4187
4188 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
4189
4190         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
4191         needed.  Some compiler complained about some of them.  Problem reported
4192         by Larry Jones in
4193         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
4194
4195 2006-06-21  Simon Josefsson  <jas@extundo.com>
4196
4197         * tests/test-getaddrinfo.c: New file.
4198
4199         * modules/getaddrinfo-tests: New file.
4200
4201         * MODULES.html.sh: Add inet_pton.
4202
4203         * modules/inet_pton: New file.
4204
4205 2006-06-21  Simon Josefsson  <jas@extundo.com>
4206
4207         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
4208         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
4209         of using the (limited) gnulib implementation on Windows XP.
4210
4211         * m4/inet_pton.m4: New file.
4212
4213 2006-06-21  Simon Josefsson  <jas@extundo.com>
4214
4215         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
4216         variable.
4217
4218         * lib/socket_.h: Don't define WINVER.
4219
4220         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
4221         slightly modified to work in gnulib.
4222
4223 2006-06-21  Simon Josefsson  <jas@extundo.com>
4224
4225         * doc/gnulib.texi (Windows sockets): Add.
4226
4227 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
4228
4229         * lib/read-file.c (fread_file): Start with buffer allocation of
4230         0 bytes rather than 1 byte; this simplifies the code.
4231         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
4232         code to free buffer and save/restore errno.
4233         (internal_read_file): Remove unused local.
4234
4235 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
4236
4237         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
4238         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
4239         Problem reported by Denis Excoffier in
4240         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
4241
4242 2006-06-19  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
4243
4244         * modules/sys_socket, modules/socklen: Include sys/types since
4245         FreeBSD 4.x's sys/socket.h needs it.
4246
4247 2006-06-19  Simon Josefsson  <jas@extundo.com>
4248
4249         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
4250
4251 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
4252
4253         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
4254
4255 2006-06-19  Bruno Haible  <bruno@clisp.org>
4256
4257         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
4258         and FULL_PATH_INTTYPES_H in angle brackets.
4259         Reported by Mark D. Baushke <mdb@gnu.org>.
4260
4261 2006-06-17  Eric Blake  <ebb9@byu.net>
4262
4263         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
4264         errno.
4265
4266 2006-06-17  Bruno Haible  <bruno@clisp.org>
4267
4268         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
4269         <sys/inttypes.h>.
4270
4271 2006-06-17  Bruno Haible  <bruno@clisp.org>
4272
4273         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
4274         whether errno is declared. Assume <errno.h> declares errno.
4275
4276 2006-06-17  Bruno Haible  <bruno@clisp.org>
4277
4278         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
4279
4280 2006-06-17  Bruno Haible  <bruno@clisp.org>
4281
4282         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
4283         problem on Solaris 2.5.1.
4284
4285 2006-06-16  Eric Blake  <ebb9@byu.net>
4286
4287         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
4288         * lib/unicodeio.c [!defined errno]: Likewise.
4289         * lib/strtol.c [!defined errno]: Likewise.
4290         * lib/strtod.c [!defined errno]: Likewise.
4291
4292 2006-06-15  Eric Blake  <ebb9@byu.net>
4293
4294         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
4295
4296 2006-06-15  Eric Blake  <ebb9@byu.net>
4297
4298         * config/srclist.txt (ssize_t.m4): Lose sync.
4299
4300 2006-06-15  Bruno Haible  <bruno@clisp.org>
4301
4302         * modules/stdint (Files): Include m4/full-header-path.m4,
4303         m4/size_max.m4, m4/wchar_t.m4.
4304         (Makefile.am): Many more substitutions.
4305         * modules/stdint-tests: New file.
4306         * tests/test-stdint.c: New file.
4307
4308 2006-06-15  Bruno Haible  <bruno@clisp.org>
4309
4310         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
4311         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
4312         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
4313         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
4314         gl_CHECK_TYPE_SAME): New macros.
4315
4316 2006-06-15  Bruno Haible  <bruno@clisp.org>
4317
4318         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
4319
4320 2006-06-15  Bruno Haible  <bruno@clisp.org>
4321
4322         * lib/stdint_.h: Rewritten to be fully auto-configured.
4323         Fixes bug on HP-UX/IA64.
4324
4325 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
4326
4327         * lib/getdate.y (__attribute__): Don't define if already defined.
4328         Problem reported by Larry Jones.
4329         * lib/utimens.c (__attribute__): Likewise.
4330
4331 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
4332
4333         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
4334         reported by Andreas Schwab.
4335
4336 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4337             Bruno Haible  <bruno@clisp.org>
4338
4339         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
4340         check for the declaration of strnlen and a run test that exposes the
4341         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
4342         rpl_strndup.
4343
4344 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4345             Bruno Haible  <bruno@clisp.org>
4346
4347         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
4348
4349 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4350
4351         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
4352         compile test, for Tru64 4.0D.
4353
4354 2006-05-28  Karl Berry  <karl@gnu.org>
4355
4356         * config/srclist.txt (printf-args.c): lose sync.
4357
4358 2006-05-26  Martin Lambers  <marlam@marlam.de>
4359
4360         * lib/getpass.c: Updates the test for the native W32 API, and adds
4361         missing includes, thus fixing compilation warnings.
4362
4363 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
4364
4365         * lib/exclude.c (exclude_fnmatch): New function.
4366         (excluded_file_name): Call exclude_fnmatch.
4367         * lib/exclude.h (excluded_file_name): New prototype
4368
4369 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
4370
4371         * lib/tempname.c (small_open, large_open): New macros.
4372         (__open, __open64) [!_LIBC]: Remove.
4373         (__gen_tempname): Use small_open and large_open instead of __open
4374         and __open64.  This fixes a portability bug on HP-UX 11.11i
4375         reported by Simon Wing-Tang in
4376         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
4377
4378 2006-05-24  Bruno Haible  <bruno@clisp.org>
4379
4380         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
4381         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
4382         Reported by Thorsten Maerz <torte@netztorte.de> via
4383         Aaron Stone <aaron@serendipity.cx>.
4384
4385 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
4386
4387         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
4388         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
4389         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
4390         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
4391         not really conditional on the cache.
4392         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
4393
4394 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
4395
4396         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
4397         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
4398         (my_usleep): Don't mishandle maximum value.
4399
4400 2006-05-19  Jim Meyering  <jim@meyering.net>
4401
4402         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
4403
4404 2006-05-17  Bruno Haible  <bruno@clisp.org>
4405
4406         Cygwin portability.
4407         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
4408
4409 2006-05-17  Bruno Haible  <bruno@clisp.org>
4410
4411         * lib/stdint_.h: Fix recognition of Cygwin.
4412
4413 2006-05-15  Bruno Haible  <bruno@clisp.org>
4414
4415         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
4416         on libtool patch by Ralf Wildenhues.
4417
4418 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
4419
4420         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
4421         test for C99 conformance; (bool) 0.5 is an integer constant
4422         expression, but (bool) -0.5 is not.  Problem reported by Fedor
4423         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
4424
4425 2006-05-11  Simon Josefsson  <jas@extundo.com>
4426
4427         * m4/xvasprintf.m4: Fix obvious typo.
4428
4429 2006-05-11  Jim Meyering  <jim@meyering.net>
4430
4431         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
4432         James Lemley.
4433
4434 2006-05-10  Simon Josefsson  <jas@extundo.com>
4435
4436         * lib/md4.c: Typo fix, update copyright years.
4437         (K1, K2): Don't use L because it turn computations into 64-bit on
4438         64-bit platforms.
4439
4440 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
4441
4442         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
4443         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
4444         unwanted sign propagation, e.g., on hosts with 64-bit int.
4445         There still are some problems with reeelly weird theoretical hosts
4446         (e.g., 33-bit int) but it's not worth worrying about now.
4447         * lib/sha1.c (rol): Likewise.
4448         (K1, K2, K3, K4): Remove unnecessary L suffix.
4449
4450 2006-05-10  Bruno Haible  <bruno@clisp.org>
4451
4452         * lib/des.c: Cast to avoid warnings.
4453
4454 2006-05-09  Bruno Haible  <bruno@clisp.org>
4455
4456         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
4457         (Depends-on): Depend also on xsize, stdarg.
4458         (configure.ac): Add gl_XVASPRINTF.
4459
4460 2006-05-09  Bruno Haible  <bruno@clisp.org>
4461
4462         * m4/xvasprintf.m4: New file.
4463
4464 2006-05-09  Bruno Haible  <bruno@clisp.org>
4465
4466         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
4467         (EOVERFLOW): Define fallback value.
4468         (xstrcat): New function.
4469         (xvasprintf): Recognize the special case of a string concatenation.
4470
4471 2006-05-08  Eric Blake  <ebb9@byu.net>
4472
4473         * gnulib-tool (func_version): Base copyright year on CVS date.
4474         (func_emit_copyright_notice): New function.
4475         (func_emit_lib_Makefile_am): Use it.
4476         (func_emit_tests_Makefile_am): Likewise.
4477         (func_import): Likewise.
4478
4479 2006-05-08  Bruno Haible  <bruno@clisp.org>
4480
4481         * modules/stdarg: New file.
4482         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
4483
4484 2006-05-08  Bruno Haible  <bruno@clisp.org>
4485
4486         * m4/stdarg.m4: New file, from GNU gettext.
4487
4488 2006-05-08  Bruno Haible  <bruno@clisp.org>
4489
4490         * config/srclist.txt (build-aux/config.rpath): different from latest
4491         release.
4492
4493 2006-05-08  Bruno Haible  <bruno@clisp.org>
4494
4495         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
4496
4497 2006-05-05  Jim Meyering  <jim@meyering.net>
4498
4499         * m4/warning.m4: New file, derived from bison's file by the same name.
4500
4501 2006-05-03  Bruno Haible  <bruno@clisp.org>
4502
4503         * lib/stdint_.h: Shorter URL.
4504         * lib/inttypes.h: Likewise.
4505
4506 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
4507
4508         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
4509
4510 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
4511
4512         * lib/verify.h: Document the internals better.  Most of this change
4513         was written by Bruno Haible.
4514
4515 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
4516
4517         * doc/verify.texi: New file, partly based on a proposal by
4518         Bruno Haible.
4519
4520 2006-05-02  Bruno Haible  <bruno@clisp.org>
4521
4522         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
4523         test from here...
4524         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
4525
4526 2006-04-29  Bruno Haible  <bruno@clisp.org>
4527
4528         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
4529         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
4530
4531 2006-04-29  Bruno Haible  <bruno@clisp.org>
4532
4533         * gnulib-tool: Make --update option actually work.
4534
4535 2006-04-29  Bruno Haible  <bruno@clisp.org>
4536
4537         * doc/gcd.texi: New file.
4538         * doc/gnulib.texi: Include it.
4539
4540 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
4541
4542         * lib/getdate.y (get_date): When adding relative date, start with the
4543         initial time, not with the result of the first mktime call.
4544
4545 2006-04-25  Bruno Haible  <bruno@clisp.org>
4546
4547         * gnulib-tool (func_import): Output the include directives in three
4548         blocks, sorted separately.
4549         Reported by Ben Pfaff <blp@cs.stanford.edu>.
4550
4551 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
4552
4553         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
4554         to define main with arguments, for C++.  Reported by Eric Blake.
4555         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
4556         Prefer 'int main ()' to 'int main (void)', for C++.
4557         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
4558         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
4559         for 'main', for C99 and C++.
4560
4561 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
4562
4563         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
4564         Don't assume that exit status -1 is valid.
4565         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
4566         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
4567         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
4568         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
4569         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
4570         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
4571         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
4572         functions can be used without declaring them, or that you can
4573         exit with status -1.
4574         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
4575
4576 2006-04-24  Karl Berry  <karl@gnu.org>
4577
4578         * config/srclist.txt (longdouble.m4): sync lost.
4579
4580 2006-04-24  Eric Blake  <ebb9@byu.net>
4581
4582         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
4583
4584 2006-04-24  Bruno Haible  <bruno@clisp.org>
4585
4586         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
4587         poll() implementation in AIX.
4588         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
4589
4590 2006-04-24  Bruno Haible  <bruno@clisp.org>
4591
4592         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
4593         assigned exactly once.
4594
4595 2006-04-23  Claudio Fontana  <claudio@gnu.org>
4596             Bruno Haible  <bruno@clisp.org>
4597
4598         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
4599         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
4600         for AM_CPPFLAGS.
4601
4602 2006-04-23  Bruno Haible  <bruno@clisp.org>
4603
4604         * modules/copy-file: Depend on unistd.
4605         * modules/execute: Likewise.
4606         * modules/fatal-signal: Likewise.
4607         * modules/findprog: Likewise.
4608         * modules/mkdtemp : Likewise.
4609         * modules/pipe: Likewise.
4610         * modules/wait-process: Likewise.
4611
4612 2006-04-23  Bruno Haible  <bruno@clisp.org>
4613
4614         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
4615         condition was already detected.
4616         Reported by Ben Pfaff <blp@cs.stanford.edu>.
4617
4618 2006-04-23  Bruno Haible  <bruno@clisp.org>
4619
4620         * lib/copy-file.c: Include <unistd.h> unconditionally.
4621         * lib/execute.c: Likewise.
4622         * lib/fatal-signal.c: Likewise.
4623         * lib/findprog.c: Likewise.
4624         * lib/mkdtemp.c: Likewise.
4625         * lib/pipe.h: Likewise.
4626         * lib/pipe.c: Likewise.
4627         * lib/wait-process.h: Likewise.
4628
4629 2006-04-23  Bruno Haible  <bruno@clisp.org>
4630
4631         * gnulib-tool (func_usage): Fix --import description. Document
4632         --update.
4633         (func_import): Create temporary file in a temporary directory, if
4634         --dry-run is specified. Silence errors from 'grep' when there are no
4635         m4 files in $m4dir.
4636         (func_create_testdir): Silence errors from 'grep' when there are no
4637         m4 files in $m4dir.
4638         Reported by Karl Berry <karl@freefriends.org>.
4639
4640 2006-04-20  Bruno Haible  <bruno@clisp.org>
4641
4642         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
4643         one argument, so that the code will be portable to Autoconf 2.60.
4644         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
4645         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
4646         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
4647
4648 2006-04-19  Derek Price  <derek@ximbiot.com>
4649             Eric Blake  <ebb9@byu.net>
4650
4651         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
4652         rather than "/full/path.h".  Update comment to match.  Shorten &
4653         generalize m4_translit call via AS_TR_CPP.
4654
4655 2006-04-19  Derek Price  <derek@ximbiot.com>
4656             Eric Blake  <ebb9@byu.net>
4657
4658         * lib/inttypes.h: Correct grammar in comment.
4659
4660 2006-04-18  Derek Price  <derek@ximbiot.com>
4661             Paul Eggert  <eggert@cs.ucla.edu>
4662
4663         * modules/inttypes: New file.
4664         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
4665
4666 2006-04-18  Derek Price  <derek@ximbiot.com>
4667             Paul Eggert  <eggert@cs.ucla.edu>
4668
4669         * m4/_inttypes_h.m4, full-header-path.m4, include_next: New files.
4670
4671 2006-04-18  Derek Price  <derek@ximbiot.com>
4672             Paul Eggert  <eggert@cs.ucla.edu>
4673
4674         * lib/inttypes.h: New file.
4675         * lib/strtoimax.c: Assume <inttypes.h>.
4676
4677 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
4678
4679         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
4680         isn't mounted.  Problem reported by Kir Kolyshkin.
4681
4682 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
4683
4684         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
4685         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
4686         Derek R. Price.
4687         * lib/regex.h (RE_DUP_MAX): Update comment to match current
4688         implementation.
4689
4690 2006-04-12  Eric Blake  <ebb9@byu.net>
4691
4692         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
4693         is now done automatically by the corresponding Autoconf macro.
4694
4695 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
4696
4697         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
4698         time_r.h.
4699
4700 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
4701
4702         Merge regex changes from libc, removing some of our
4703         POSIX-conformance changes that were rejected and redoing them in a
4704         less-intrusive way.
4705
4706         * lib/regcomp.c (re_compile_internal, init_dfa):
4707         Length arg is now size_t, not Idx.  All uses changed.
4708         (peek_token): Forward decl now says internal_function.
4709         (__re_error_msgid, __re_error_msgid_idx):
4710         Now static rather than extern with attribute_hidden.
4711         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
4712         For some reason libc prefers K&R style defns for external functions.
4713         (regerror) [!defined _LIBC]: Likewise.
4714         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
4715         (seek_collating_symbol_entry, lookup_collation_sequence_value):
4716         (build_range_exp, build_collating_symbol):
4717         Use K&R-style defn.
4718         (re_compile_fastmap): Use '\0' to memset, not 0.
4719         (utf8_sb_map): Make the calculations more obvious.
4720         (init_dfa, parse_bracket_exp, build_charclass_op):
4721         Call calloc and cast result, as glibc does.
4722         (init_word_char, fetch_token, peek_token, peek_token_bracket):
4723         (build_range_exp, build_collating_symbol):
4724         Now internal functions.
4725
4726         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
4727
4728         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
4729         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
4730         Don't depend on VMS; depend on __VMS instead, for POSIX
4731         namespace cleanness.
4732         (regoff_t): Define to ssize_t, not long int.
4733
4734         Remove the REG_ macros named below.  Instead, make the old names
4735         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
4736         __USE_GNU_REGEX.
4737         (REG_BACKSLASH_ESCAPE_IN_LISTS):
4738         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
4739         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
4740         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
4741         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
4742         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
4743         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
4744         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
4745         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
4746         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
4747         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
4748         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
4749         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
4750         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
4751         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
4752         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
4753         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
4754         (REG_NREGS):
4755         Remove.  All uses replaced by the old RE_* names.
4756         (RE_BACKSLASH_ESCAPE_IN_LISTS):
4757         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
4758         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
4759         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
4760         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
4761         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
4762         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
4763         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
4764         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
4765         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
4766         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
4767         Don't bother having these macros be independent of each others'
4768         values, since they no longer exist in the POSIX name space.
4769
4770         Rename the following member names back to their old names,
4771         unless !__USE_GNU_REGEX.  All uses changed back.
4772         (buffer): Renamed from re_buffer.
4773         (allocated): Renamed from re_allocated.
4774         (used): Renamed from re_used.
4775         (syntax): Renamed from re_syntax.
4776         (fastmap): Renamed from re_fastmap.
4777         (translate): Renamed from re_translate.
4778         (can_be_null): Renamed from re_can_be_null.
4779         (regs_allocated): Renamed from re_regs_allocated.
4780         (fastmap_accurate): Renamed from re_fastmap_accurate.
4781         (no_sub): Renamed from re_no_sub.
4782         (not_bol): Renamed from re_not_bol.
4783         (not_eol): Renamed from re_not_eol.
4784         (newline_anchor): Renamed from re_newline_anchor.
4785         (num_regs): Renamed from rm_num_regs.
4786         (start): Renamed from rm_start.
4787         (end): Renamed from rm_end.
4788
4789         (free_state): Move up a bit.
4790
4791         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
4792         #define to be empty.
4793         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
4794         when that is what is intended.
4795         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
4796         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
4797         (MAX): New macro.
4798         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
4799         All uses changed back to re_malloc, etc.  It's now the caller's
4800         responsibility to check for overflow; all callers changed.
4801         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
4802         (re_x2nrealloc): Remove.
4803         (free_state): Remove decl.
4804
4805         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
4806         (re_set_registers, re_exec):
4807         Use K&R-style defn.
4808
4809         2006-01-31  Roland McGrath  <roland@redhat.com>
4810
4811         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
4812         Reported by Mike Frysinger <vapier@gentoo.org>.
4813
4814         2006-01-15  Andreas Jaeger  <aj@suse.de>
4815
4816         [BZ #1950]
4817         * lib/regex_internal.c (re_string_reconstruct): Adjust for
4818         build_wcs_upper_buffer change.
4819         (build_wcs_upper_buffer): Change return type.
4820
4821         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
4822
4823         * lib/regex_internal.h: Include <stdint.h> if available.
4824
4825         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
4826
4827         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
4828
4829         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
4830
4831         * lib/regcomp.c: Adjust for changed secondary hash function.
4832
4833         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
4834
4835         * lib/regex.h: Pretty printing.
4836         Clean up namespace a bit.
4837
4838         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
4839
4840         * lib/regexec.c (update_cur_sifted_state, check_arrival,
4841         check_arrival_add_next_nodes): Avoid using uninitialized variable.
4842
4843         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
4844                     Ulrich Drepper  <drepper@redhat.com>
4845
4846         [BZ #1302]
4847         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
4848         changed.
4849         (bitset_word_t): Renamed from bitset_word.  All uses changed.
4850
4851         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
4852
4853         [BZ #281]
4854         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
4855         * lib/regcomp.c: Remove unnecessary uses of
4856         unsigned RE_TRANSLATE_TYPE.
4857         * lib/regex_internal.h: Likewise.
4858         * lib/regex_internal.c: Likewise.
4859         * lib/regexec.c: Likewise.
4860         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
4861
4862         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
4863
4864         * lib/regexec.c (find_recover_state): Remove unnecessary
4865         initialization.
4866         (transit_state_bkref): Make DFA a const pointer.
4867         (get_subexp): Likewise.
4868         (check_arrival): Likewise.
4869         (update_cur_sifted_state): Likewise.
4870         (re_search_internal): Likewise.
4871         (prune_impossible_nodes): Likewise.
4872         (acquire_init_state_context): Likewise.
4873         (proceed_next_node): Likewise.
4874         (set_regs): Likewise.
4875         (free_fail_stack_return): Likewise.
4876         (check_arrival_expand_ecl): Mark DFA parameter as const.
4877         (check_arrival_expand_ecl_sub): Likewise.
4878         (check_subexp_limits): Likewise.
4879         (sub_epsilon_src_nodes):  Likewise.
4880         (add_epsilon_src_nodes):  Likewise.
4881         (merge_state_array): Likewise.
4882         (update_regs): Likewise.
4883         (build_trtable): Likewise.
4884         (sift_states_backward): Mark MCTX parameter as const.
4885         (build_sifted_states): Likewise.
4886         (update_cur_sifted_state): Likewise.
4887         (sift_states_mkref): Likewise.
4888         (check_arrival_expand_ecl): Mark eclosure as const.
4889         (check_dst_limits_calc_pos_1): Likewise.
4890         * lib/regex_internal.h (re_match_context_t): Make dfa a const
4891         pointer.
4892
4893         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
4894
4895         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
4896         (transit_state_sb): Likewise.
4897         (transit_state_mb): Likewise.
4898         (sift_states_iter_mb): Likewise.
4899         (check_arrival_add_next_nodes): Likewise.
4900         (check_node_accept_bytes): Change first parameter to pointer-to-const.
4901         [_LIBC] (re_search_2_stub): Use mempcpy.
4902
4903         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
4904         mbrtowc for very simple UTF-8 case.
4905
4906         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
4907         a pointer-to-const.
4908         (re_acquire_state_context): Likewise.
4909         * lib/regex_internal.h: Adjust prototypes.
4910
4911         * lib/regex.c: Prevent using C++ compilers.
4912
4913         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
4914         (re_acquire_state_context): Likewise.
4915
4916 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
4917
4918         * modules/regex (Depends-on): Add ssize_t.
4919
4920 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
4921
4922         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
4923         translation table.
4924
4925 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
4926
4927         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
4928
4929 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
4930             Bruno Haible  <bruno@clisp.org>
4931
4932         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
4933         <sys/types.h> and <inttypes.h>.
4934
4935 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4936
4937         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
4938         `__error_t_defined', so argp.h will not typedef the former.
4939
4940 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
4941
4942         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
4943         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
4944         glibc names.  Even if glibc is changed to conform to POSIX, the
4945         traditional names will be available anyway, since regex depends on
4946         the extensions module.  Also, fix a longstanding typo in the
4947         implementation of Spencer ERE test #75 from grep 2.3.  Problems
4948         reported by Emanuele Giaquinta.  Also, change sense of cached
4949         variable, so that the message makes sense.
4950
4951 2006-03-24  Simon Josefsson  <jas@extundo.com>
4952
4953         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
4954         including some doc fixes.
4955         (base64_encode_alloc): Fix +1 bug on allocation failures.
4956
4957 2006-03-24  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4958
4959         * lib/base64.c (base64_encode): Do not read past end of array with
4960         unsanitized input on systems with CHAR_BIT > 8.
4961
4962 2006-03-24  Eric Blake  <ebb9@byu.net>
4963
4964         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
4965
4966 2006-03-22  Karl Berry  <karl@gnu.org>
4967
4968         * config/srclist.txt (*setenv.[ch]): get from coreutils.
4969         * config/srclistvars.sh (COREUTILS): new var.
4970
4971 2006-03-17  Jim Meyering  <jim@meyering.net>
4972
4973         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
4974         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
4975
4976 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
4977
4978         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
4979         no longer needs it.  Instead, check that regoff_t is as least
4980         as wide as ptrdiff_t.
4981
4982         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
4983         so that our regex.h stays compatible with the installed regex.
4984         This is helpful for installers who configure --without-included-regex.
4985         Problem reported by Emanuele Giaquinta.
4986
4987 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
4988
4989         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
4990         Typedef to long int, not to off_, as POSIX will likely change
4991         in that direction.
4992
4993 2006-03-15  Eric Blake  <ebb9@byu.net>
4994
4995         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
4996
4997 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
4998
4999         * lib/argp-help.c (validate_uparams): Fix typo
5000         * lib/argp-parse.c (argp_default_options): Consistently begin help
5001         messages with a lowercase letter.
5002
5003 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
5004
5005         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
5006         overrun buffers and shouldn't be used (much as gets shouldn't be
5007         used).
5008         * lib/time_r.c (asctime_r, ctime_r): Likewise.
5009
5010 2006-03-08  Simon Josefsson  <jas@extundo.com>
5011
5012         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
5013         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5014
5015 2006-03-08  Simon Josefsson  <jas@extundo.com>
5016
5017         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
5018         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5019
5020 2006-03-08  Simon Josefsson  <jas@extundo.com>
5021
5022         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
5023         signal that configure disabled the device.
5024
5025 2006-03-08  Simon Josefsson  <jas@extundo.com>
5026
5027         * build-aux/maint.mk: Fix refresh-po, to handle no translated
5028         languages.
5029
5030 2006-03-07  Simon Josefsson  <jas@extundo.com>
5031
5032         * modules/getopt (Depends-on): Add unistd.
5033
5034         * modules/unistd: New file.
5035
5036 2006-03-07  Simon Josefsson  <jas@extundo.com>
5037
5038         * modules/gc-random: New file.
5039
5040 2006-03-07  Simon Josefsson  <jas@extundo.com>
5041
5042         * m4/unistd_h.m4: New file.
5043
5044 2006-03-07  Simon Josefsson  <jas@extundo.com>
5045
5046         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
5047         test to be side-effect free by storing the result in the cache
5048         variable gl_cv_lib_readline, and moving the assignment of
5049         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
5050         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5051
5052 2006-03-07  Simon Josefsson  <jas@extundo.com>
5053
5054         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
5055         error on missing devices (the functions will return an error).
5056
5057         * m4/gc.m4: Move random stuff to gc-random.m4
5058
5059 2006-03-07  Simon Josefsson  <jas@extundo.com>
5060
5061         * lib/unistd_.h: New file.
5062
5063 2006-03-07  Simon Josefsson  <jas@extundo.com>
5064
5065         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
5066
5067 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
5068
5069         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
5070         Problem reported by Juan Manuel Guerrero.
5071
5072 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
5073
5074         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
5075         the unistd module.
5076         * lib/getlogin_r.c: Likewise.
5077         * lib/getlogin_r.h: Likewise.
5078         * lib/glob.c: Likewise.
5079         * lib/pagealign_alloc.c: Likewise.
5080         * lib/unistd_.h: Remove; no longer needed.
5081
5082 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
5083
5084         * MODULES.html.sh (Support for systems lacking POSIX:2001):
5085         Add unistd.
5086         * modules/c-stack (Depends-on): Add unistd.
5087         * modules/getlogin_r: Likewise.
5088         * modules/glob: Likewise.
5089         * modules/pagealign_alloc: Likewise.
5090         * modules/unistd (Files): Remove lib/unistd_.h.
5091         (EXTRA_DIST): Remove.
5092         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
5093         need unistd_.h.
5094         (MOSTLYCLEANFILES): Remove unistd.h-t.
5095
5096 2006-03-03  Simon Josefsson  <jas@extundo.com>
5097
5098         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
5099
5100 2006-03-03  Simon Josefsson  <jas@extundo.com>
5101
5102         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
5103         libidn and bison.
5104
5105 2006-03-03  Simon Josefsson  <jas@extundo.com>
5106
5107         * build-aux/maint.mk: Add indent target.
5108
5109 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
5110
5111         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
5112         our replacement poll.h in any case, to avoid a differing
5113         declaration from a system header.  Seen on AIX.
5114
5115 2006-03-01  Simon Josefsson  <jas@extundo.com>
5116
5117         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
5118         <kasal@ucw.cz>.
5119
5120 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
5121
5122         * modules/gettime (Depends-on): Add extensions module.
5123         * modules/nanosleep (Depends-on): Likewise.
5124         * modules/settime (Depends-on): Likewise.
5125
5126 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
5127
5128         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
5129         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
5130         pedantically.
5131         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
5132         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
5133
5134         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
5135         not "==".  Reported by Ralf Wildenhues.
5136
5137 2006-03-01  Karl Berry  <karl@gnu.org>
5138
5139         * doc/Copyright/request-*: new files, synced from gnuorg.
5140
5141 2006-03-01  Karl Berry  <karl@gnu.org>
5142
5143         * config/srclist.txt (Copyright/*): new entries.
5144
5145 2006-02-28  Simon Josefsson  <jas@extundo.com>
5146
5147         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
5148
5149 2006-02-27  Simon Josefsson  <jas@extundo.com>
5150
5151         * lib/base64.h: Indent #define's.  From Jim Meyering
5152         <jim@meyering.net>.
5153
5154 2006-02-27  Jim Meyering  <jim@meyering.net>
5155
5156         Revert the change of 2006-02-24, so these files can continue
5157         to be sync'd from gettext.
5158         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
5159         of `config.h'.
5160
5161 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
5162
5163         * modules/intprops: New file.
5164         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
5165         Add intprops.
5166         * modules/getloadavg (Files): Remove lib/intprops.h.
5167         (Depends-on): Add intprops.
5168         * modules/human: Likewise.
5169         * modules/inttostr: Likewise.
5170         * modules/openat: Likewise.
5171         * modules/sig2str: Likewise.
5172         * modules/userspec: Likewise.
5173         * modules/utimecmp: Likewise.
5174         * modules/xnanosleep: Likewise.
5175         * modules/xstrtol: Likewise.
5176
5177 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
5178
5179         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
5180         * modules/lock-tests (TESTS): Use $(EXEEXT).
5181         * modules/tls-tests: Likewise.
5182         * modules/argp-tests: Likewise.
5183         (check_PROGRAMS): New var, replacing...
5184         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
5185
5186 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5187
5188         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
5189         `config.h'.
5190
5191 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
5192
5193         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
5194
5195 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5196
5197         Sync from coreutils.
5198         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
5199         gl_CHDIR_SAFER.
5200
5201 2006-02-22  Jim Meyering  <jim@meyering.net>
5202
5203         Sync from coreutils.
5204         * m4/chdir-safer.m4: New file.
5205
5206 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
5207
5208         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
5209         AT_FDCWD exceeds INT_MAX.
5210         * lib/openat.h (AT_FDCWD): Likewise.
5211
5212 2006-02-17  Eric Blake  <address@hidden>
5213
5214         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
5215
5216 2006-02-16  Simon Josefsson  <jas@extundo.com>
5217
5218         * modules/getaddrinfo (Depends-on): Add sys_socket.
5219
5220 2006-02-15  Simon Josefsson  <jas@extundo.com>
5221
5222         * build-aux/maint.mk: Add dsyntax-check rule.
5223
5224 2006-02-15  Eric Blake  <ebb9@byu.net>
5225
5226         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
5227         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
5228         'present but cannot compile' warnings on cygwin.
5229         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
5230         use ws2tcpip.h if sys/socket.h works.
5231         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
5232         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
5233
5234 2006-02-14  Simon Josefsson  <jas@extundo.com>
5235
5236         * modules/maintainer-makefile (Files): Rename.
5237
5238         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
5239         and (the local) Makefile.cfg to maint-cfg.mk.
5240
5241         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
5242         to the latter.
5243
5244         * modules/maintainer-makefile: New module.
5245
5246         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
5247         severaly stripped to make it possible to build it up from scratch
5248         with reliable tests.
5249
5250         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
5251         fixes to permit overriding the default actions when configure and
5252         makefile are not available.
5253
5254 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
5255
5256         Sync from coreutils.
5257         * modules/lstat (Depends-on): Don't depend on xalloc.
5258         (License): Change from GPL to LGPL, since this is now simply a
5259         replacement for a libc function.
5260
5261 2006-02-14  Jim Meyering  <jim@meyering.net>
5262
5263         Sync from coreutils.
5264
5265         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
5266         failure on deficient systems, and simplify gnulib lgpl dependencies.
5267         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
5268         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
5269
5270         * lib/xalloc-die.c: Remove unused definition of N_.
5271
5272 2006-02-14  Jim Meyering  <jim@meyering.net>
5273
5274         Sync from coreutils.
5275         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
5276         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
5277         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
5278         double-quote uses of that variable, to accommodate the rare case in
5279         which getmntent is available in none of the libraries checked.  This
5280         happens at least on FreeBSD 5.0.
5281
5282 2006-02-13  Simon Josefsson  <jas@extundo.com>
5283
5284         * gnulib-tool (Usage): Fix --import, from
5285         karl@freefriends.org (Karl Berry).
5286
5287 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
5288
5289         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
5290
5291 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
5292
5293         * lib/argp-namefrob.h: Restore changes accidentally lost during the
5294         "autoupdate" on 2005-12-12.
5295
5296 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
5297
5298         * modules/closeout (Depends-on): Remove atexit.
5299
5300 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
5301
5302         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
5303         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
5304
5305 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
5306
5307         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
5308         __EXTENSIONS__ if this causes compilation to fail.  Problem
5309         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
5310         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
5311
5312 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
5313
5314         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
5315         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
5316         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
5317         All uses changed.
5318
5319 2006-01-26  Simon Josefsson  <jas@extundo.com>
5320
5321         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
5322         prototype is visible on mingw32.
5323
5324         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
5325         for mingw32.
5326
5327         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
5328         mingw32).
5329
5330 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
5331
5332         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
5333         attempt to open for write; this always fails, at least on POSIX
5334         hosts.  This reinstates the 2006-01-09 change, which was
5335         inadvertently removed.
5336
5337 2006-01-26  Bruno Haible  <bruno@clisp.org>
5338
5339         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
5340         Reported by Paul Eggert.
5341
5342 2006-01-26  Bruno Haible  <bruno@clisp.org>
5343             Paul Eggert  <eggert@cs.ucla.edu>
5344
5345         * lib/stdbool_.h (_Bool)
5346         [(! (defined __cplusplus || defined __BEOS__)
5347           && !defined __GNUC__
5348           && !(defined __HP_cc || defined __xlc__
5349                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
5350                || defined __sgi))]:
5351         #define to signed char in these cases too; this simplifies
5352         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
5353         etc., separately) and makes it more conservative.
5354
5355 2006-01-25  Simon Josefsson  <jas@extundo.com>
5356
5357         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
5358         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
5359         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
5360
5361 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
5362
5363         * lib/argp-namefrob.h: Bugfix. Remove stray #
5364
5365 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
5366
5367         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
5368         so that we test the test.
5369         Check for yet another HP-UX cc bug involving *bool |= bool.
5370
5371 2006-01-25  Karl Berry  <karl@gnu.org>
5372
5373         * config/srclist.txt (vasnprintf.c): sync lost.
5374
5375 2006-01-25  Jim Meyering  <jim@meyering.net>
5376
5377         Sync from the stable (b5) branch of coreutils:
5378
5379         * lib/fts.c (fts_children): Don't let close() clobber errno from
5380         failed fchdir().
5381
5382         * lib/fts.c (fts_stat): When following a symlink-to-directory,
5383         don't necessarily interpret stat-fails+lstat-succeeds as indicating
5384         a dangling symlink.  That can also happen at least for ELOOP.
5385         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
5386         FYI, this bug predates the inclusion of fts.c in coreutils.
5387
5388         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
5389         in their own block, so pre-c99 compilers don't object.
5390
5391         Avoid the double-free (first in fts_read, second in fts_close) that
5392         would occur when an `active' directory is made inaccessible (e.g.,
5393         via chmod a-x) during a traversal.
5394         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
5395         before returning.  Reproduce this failure by
5396         mkdir -p a/b; cd a; chmod a-x . b
5397         Reported by Stavros Passas.
5398
5399 2006-01-25  Jim Meyering  <jim@meyering.net>
5400
5401         * lib/fileblocks.c: Remove more useless parentheses.
5402         * lib/readutmp.h: Likewise.
5403
5404 2006-01-25  Bruno Haible  <bruno@clisp.org>
5405
5406         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
5407         warnings.
5408         Reported by Paul Eggert.
5409
5410 2006-01-25  Bruno Haible  <bruno@clisp.org>
5411
5412         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
5413         rid of a trap command. For Solaris sh.
5414         Reported by Mark D. Baushke <mdb@gnu.org>.
5415
5416 2006-01-24  Simon Josefsson  <jas@extundo.com>
5417
5418         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
5419         Bruno.
5420
5421 2006-01-24  Karl Berry  <karl@gnu.org>
5422
5423         * config/srclist.txt (argp-namefrob.h): sync lost.
5424
5425 2006-01-24  Jim Meyering  <jim@meyering.net>
5426
5427         * modules/openat (Files): Add lib/intprops.h.
5428         From Mark D. Baushke.
5429
5430 2006-01-24  Jim Meyering  <jim@meyering.net>
5431
5432         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
5433         Reported by Mark D. Baushke.
5434
5435 2006-01-24  Jim Meyering  <jim@meyering.net>
5436
5437         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
5438
5439 2006-01-24  Bruno Haible  <bruno@clisp.org>
5440
5441         * modules/strnlen (Maintainer): Change from glibc to all.
5442
5443 2006-01-24  Bruno Haible  <bruno@clisp.org>
5444
5445         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
5446         Patch by Paul Eggert.
5447
5448 2006-01-24  Bruno Haible  <bruno@clisp.org>
5449
5450         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
5451         already has it.
5452         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
5453         2005-11-26.
5454
5455         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
5456         'signed char' to avoid problems with the built-in _Bool type.
5457         Reported by Paul Eggert on 2005-11-26.
5458
5459 2006-01-24  Bruno Haible  <bruno@clisp.org>
5460
5461         * gnulib-tool (func_import): Avoid constructing complicated sed
5462         expressions inside backquote.
5463         Report and solution by Mark D. Baushke <mdb@gnu.org>.
5464
5465 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
5466
5467         These changes imported from libc.
5468         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
5469         test and two separate function calls.
5470         * lib/strndup.c (__strndup): Add libc_hidden_def.
5471
5472 2006-01-23  Simon Josefsson  <jas@extundo.com>
5473
5474         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
5475         Remove the test_*_SOURCES variable: automake infers it by default.
5476         * modules/tls-tests: Likewise.
5477
5478 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
5479
5480         Work around porting bugs reported by Dieter in
5481         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
5482         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
5483         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
5484         Include "getopt.h" first, to check interface.
5485         (getenv): Declare only if defined HAVE_DECL_GETENV &&
5486         !HAVE_DECL_GETENV.
5487         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
5488         (__strndup): Revert to K&R-style function dfns, the glibc style.
5489         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
5490         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
5491         Include strnlen.h first, to get prototype properly.
5492         (strnlen): Renamed from __strnlen.
5493         Remove weak alias.
5494
5495 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
5496
5497         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
5498
5499 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
5500
5501         * config/srclist.txt: Adjust to reflect glibc reorganization.
5502         This affects only comments.
5503
5504 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
5505
5506          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
5507          Reported by Bruce Korb <bkorb@gnu.org>.
5508
5509 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
5510
5511         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
5512         to pacify gcc -Wswitch-default.
5513
5514 2006-01-22  Bruno Haible  <bruno@clisp.org>
5515
5516         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
5517         temporary buffer for sprintf, take into account the precision also
5518         for 'd', 'i', 'u', 'o', 'x', 'X'.
5519
5520 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
5521
5522         * modules/argp-tests: New module
5523         * tests/test-argp.c: New file
5524         * tests/test-argp-2.sh: New file
5525
5526 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
5527
5528         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
5529         (__argp_base_name): Removed
5530         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
5531         typo.
5532         (__argp_base_name): Provide macro definition or extern declaration
5533         depending on the configuration
5534
5535 2006-01-20  Simon Josefsson  <jas@extundo.com>
5536
5537         * modules/inet_ntop (Depends-on): Depend on sys_socket.
5538
5539 2006-01-20  Simon Josefsson  <jas@extundo.com>
5540
5541         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
5542
5543 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
5544
5545         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
5546         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
5547         Suggested by Bruno Haible.
5548
5549 2006-01-20  Karl Berry  <karl@gnu.org>
5550
5551         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
5552         until changes propagate, I guess.
5553
5554 2006-01-19  Simon Josefsson  <jas@extundo.com>
5555
5556         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
5557
5558 2006-01-19  Simon Josefsson  <jas@extundo.com>
5559
5560         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
5561
5562 2006-01-19  Simon Josefsson  <jas@extundo.com>
5563
5564         * gnulib-tool: Set check_PROGRAMS.
5565
5566         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
5567         modules/des-tests, modules/gc-arcfour-tests,
5568         modules/gc-arctwo-tests, modules/gc-des-tests,
5569         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
5570         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
5571         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
5572         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
5573         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
5574         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
5575         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
5576         test_*_SOURCES.
5577
5578 2006-01-18  Simon Josefsson  <jas@extundo.com>
5579
5580         * modules/socklen (Depends-on): Depend on sys_socket.
5581
5582 2006-01-18  Simon Josefsson  <jas@extundo.com>
5583
5584         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
5585         modules/des-tests, modules/gc-arcfour-tests,
5586         modules/gc-arctwo-tests, modules/gc-des-tests,
5587         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
5588         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
5589         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
5590         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
5591         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
5592         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
5593         $(EXEEXT) to automake TESTS variable, for mingw32.
5594
5595 2006-01-17  Simon Josefsson  <jas@extundo.com>
5596
5597         * modules/socklen (Include): Need sys/socket.h.
5598
5599 2006-01-17  Bruno Haible  <bruno@clisp.org>
5600
5601         * modules/ssize_t (Include): Add <sys/types.h>.
5602
5603 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
5604
5605         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
5606         it's not portable and it doesn't work with cross-compiles.
5607         Problem reported by Bruno Haible.  Fix missing-$ typo in
5608         'test "gl_cv_ignore_unused_libraries" ...' that prevented
5609         -zignore from being used with Sun's C compiler.
5610
5611 2006-01-12  Simon Josefsson  <jas@extundo.com>
5612
5613         * lib/base64.c: Fix warning, reported by Bruno Haible
5614         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
5615
5616 2006-01-12  Bruno Haible  <bruno@clisp.org>
5617
5618         * modules/ldd: New file.
5619         * build-aux/ldd.sh.in: New file.
5620         * MODULES.html.sh (Support for building libraries and executables): Add
5621         ldd.
5622
5623 2006-01-12  Bruno Haible  <bruno@clisp.org>
5624
5625         * m4/ldd.m4: New file.
5626
5627 2006-01-12  Bruno Haible  <bruno@clisp.org>
5628
5629         * gnulib-tool (func_import, func_create_testdir): Don't go into an
5630         endless loop while replacing $auxdir with build-aux.
5631
5632 2006-01-11  Simon Josefsson  <jas@extundo.com>
5633
5634         * lib/stdint_.h (SIZE_MAX): Add missing (.
5635
5636 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
5637
5638         Sync from coreutils.
5639         * lib/md5.c: Fix commentary typos.
5640         (alignof, UNALIGNED_P): No need for a GCC-specific version.
5641         * lib/md5.h (__attribute__): Remove; unused.
5642         * lib/sha1.c: Fix commentary to match md5 better.
5643         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
5644         so that we don't need to worry about alignment.  All uses changed.
5645         This merges the 2005-10-28 md5 change into sha1.
5646
5647 2006-01-11  Jim Meyering  <jim@meyering.net>
5648
5649         Sync from coreutils.
5650         * lib/md5.c (OP): Fix spacing.
5651
5652 2006-01-11  Bruno Haible  <bruno@clisp.org>
5653
5654         Ensure automatic ordering between gl_LOCK and gl_ARGP.
5655         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
5656         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
5657
5658 2006-01-11  Bruno Haible  <bruno@clisp.org>
5659
5660         Ensure automatic ordering between gl_LOCK and gl_ARGP.
5661         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
5662         the "early" section as well.
5663
5664 2006-01-11  Bruno Haible  <bruno@clisp.org>
5665
5666         Avoid "ar: no archive members specified" error on MacOS X.
5667         * gnulib-tool (func_modules_add_dummy): New function.
5668         (func_import, func_create_testdir): Invoke it.
5669
5670 2006-01-11  Bruno Haible  <bruno@clisp.org>
5671
5672         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
5673         with $auxdir in AC_CONFIG_FILES statements.
5674
5675 2006-01-11  Bruno Haible  <bruno@clisp.org>
5676
5677         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5678         Initialize also noinst_HEADERS to empty.
5679
5680 2006-01-11  Bruno Haible  <bruno@clisp.org>
5681
5682         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
5683         variables.
5684         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
5685         autoreconf.
5686
5687 2006-01-11  Bruno Haible  <bruno@clisp.org>
5688
5689         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
5690         overridable by the user.
5691         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5692
5693 2006-01-10  Simon Josefsson  <jas@extundo.com>
5694
5695         * modules/sys_socket: New file.
5696
5697 2006-01-10  Simon Josefsson  <jas@extundo.com>
5698
5699         * m4/sys_socket_h.m4: New file.
5700
5701 2006-01-10  Simon Josefsson  <jas@extundo.com>
5702
5703         * lib/socket_.h: New file.
5704
5705 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
5706
5707         * modules/readutmp (Maintainer): Add myself.
5708
5709 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
5710
5711         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
5712         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
5713         People who are still concerned with buggy memcmp implementations
5714         can invoke gl_FUNC_MEMCMP themselves.
5715
5716 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
5717
5718         * lib/regex_internal.h (BITSET_WORD_BITS):
5719         Work around a bug in 64-bit PGC (before version 6.1-2), where the
5720         preprocessor mishandles large unsigned values as if they were signed.
5721         Problem reported by Claudio Fontana in
5722         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
5723
5724 2006-01-10  Jim Meyering  <jim@meyering.net>
5725
5726         Avoid the double-free (first in fts_read, second in fts_close) that
5727         would occur when an `active' directory is made inaccessible (e.g.,
5728         via chmod a-x) during a traversal.
5729         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
5730         before returning.  Reproduce this failure by
5731         mkdir -p a/b; cd a; chmod a-x . b
5732         Reported by Stavros Passas.
5733
5734         Sync from coreutils.
5735         * lib/sha1.c: Tweak grammar in a comment.
5736
5737 2006-01-10  Jim Meyering  <jim@meyering.net>
5738
5739         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
5740         Patch by Joerg Sonnenberger.
5741
5742 2006-01-10  Bruno Haible  <bruno@clisp.org>
5743
5744         * modules/readutmp: Depend on module free.
5745         * modules/strtok_r: Depend on module restrict.
5746
5747 2006-01-10  Bruno Haible  <bruno@clisp.org>
5748
5749         * modules/gettext (configure.ac): Add an invocation of
5750         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
5751
5752 2006-01-10  Bruno Haible  <bruno@clisp.org>
5753
5754         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
5755         Reported by Werner Lemberg <wl@gnu.org>.
5756
5757 2006-01-10  Bruno Haible  <bruno@clisp.org>
5758
5759         * lib/localcharset.c: Update from GNU gettext.
5760
5761 2006-01-10  Bruno Haible  <bruno@clisp.org>
5762
5763         * lib/argp.h (__const): Remove macro. Use const instead.
5764         * lib/argp-fmtstream.h (__const): Likewise.
5765         * lib/glob_.h (__const): Remove macro.
5766         * lib/glob-libc.h: Use const instead of __const.
5767
5768 2006-01-10  Bruno Haible  <bruno@clisp.org>
5769
5770         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
5771         variable.
5772         Needed to avoid an automake error regarding the 'gettext' module.
5773
5774 2006-01-09  Simon Josefsson  <jas@extundo.com>
5775
5776         * modules/inet_ntop (Depends-on): Add restrict.
5777
5778 2006-01-09  Simon Josefsson  <jas@extundo.com>
5779
5780         * modules/gc-rijndael-tests (License): Put under LGPL.
5781
5782         * modules/gc-des-tests (License): Likewise.
5783
5784         * modules/gc-arcfour-tests (License): Likewise.
5785
5786         * modules/gc-arctwo-tests (License): Likewise.
5787
5788         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
5789
5790         * modules/gc-hmac-sha1-tests (Files): Likewise.
5791
5792         * modules/gc-hmac-md5-tests (License): Likewise.
5793
5794         * modules/gc-sha1-tests (License): Likewise.
5795
5796         * modules/gc-md5-tests (License): Likewise.
5797
5798         * modules/gc-md4-tests (License): Likewise.
5799
5800         * modules/gc-md2-tests (License): Likewise.
5801
5802         * modules/gc-tests (License): Likewise.
5803
5804         * modules/des-tests (License): Likewise.
5805
5806         * modules/md4-tests (License): Likewise.
5807
5808         * modules/md2-tests (License): Likewise.
5809
5810 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
5811
5812         Sync from coreutils:
5813
5814         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
5815         * modules/lib-ignore: New file.
5816         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
5817         chdir-safer.m4, lchmod.m4.
5818         * modules/openat: Add mkdirat.c, openat-priv.h.
5819
5820 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
5821
5822         Sync from coreutils.
5823         * m4/lib-ignore.m4: New file.
5824         * m4/lchmod.m4: New file.
5825
5826 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
5827
5828         Sync from coreutils.
5829         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
5830         for write access: POSIX says that must fail.
5831         * lib/fts.c (diropen): Likewise.
5832         * lib/save-cwd.c (save_cwd): Likewise.
5833         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
5834         well, for minor improvements on hosts that lack O_DIRECTORY.
5835         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
5836         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
5837         Fall back on chown if open failed with EACCES.
5838
5839         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
5840         Report an error at compile-time if only a 1-second nominal clock
5841         resolution is found.
5842
5843         * lib/lchmod.h: New file.
5844         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
5845         (make_dir_parents): Use lchown rather than chown, and
5846         lchmod rather than chmod.
5847
5848         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
5849         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
5850         "proc" reported by n0dalus.
5851
5852         * lib/mountlist.c: Include <limits.h>.
5853         (dev_from_mount_options)
5854         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
5855         New function.  It no longer assumes "dev=" has the System V meaning
5856         on Linux (since it doesn't).  It also parses "dev=" more carefully.
5857         (read_file_system_list)
5858         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
5859         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
5860         dev= in that case.
5861
5862         * lib/posixtm.h (PDS_PRE_2000): New macro.
5863         * lib/posixtm.c (year): Arg is now syntax_bits rather than
5864         allow_century.  All usages changed.  Reject dates outside the range
5865         1969-1999 if PDS_PRE_2000 is used.
5866
5867 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
5868
5869         Sync from coreutils.
5870         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
5871         (Time of day items): Mention the possibility of leap seconds.
5872         Problem reported by Dr. David Alan Gilbert.
5873
5874 2006-01-09  Jim Meyering  <jim@meyering.net>
5875
5876         Sync from coreutils.
5877
5878         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
5879
5880         * lib/chdir-safer.h, chdir-safer.c: New files.
5881
5882         * lib/modechange.c (mode_compile): Reject an invalid mode string
5883         that starts with an octal digit.  From Andreas Gruenbacher.
5884
5885         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
5886         and dup to open_safer and dup_safer, respectively.
5887         (openat_permissive): Fix typo in comment.
5888
5889         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
5890         "gettext.h"; either no longer needed or are guaranteed by openat.h.
5891         (_): Remove; no longer needed.
5892         (openat): Renamed from rpl_openat; no need for rpl_openat
5893         since openat.h renames openat for us.
5894         Replace most of the body with a call to openat_permissive,
5895         to avoid duplicate code.
5896         Port to (probably hypothetical) environments were mode_t is
5897         wider than int.
5898         (openat_permissive): Require mode arg, so that we can check
5899         types better.  Put it just after flags.  Change cwd failure
5900         indicator from pointer-to-bool to pointer-to-errno-value.
5901         All callers changed.
5902         Invoke openat_save_fail and/or openat_restore_fail if
5903         cwd_errno is null, so that openat can call us.
5904         (openat_permissive, fdopendir, fstatat, unlinkat):
5905         Simplify errno handling to avoid some duplicate code,
5906         as it's OK to set errno on success.
5907         * lib/openat.h: Revamp code so that function macros depend on
5908         __OPENAT_PREFIX only, not also on AT_FDCWD.
5909         (openat_ro): Remove.  Caller changed to use openat_permissive.
5910         (openat_permissive): Now a macro, if not a function.
5911         (openat_restore_fail, openat_save_fail): Now always functions,
5912         since mkdirat needs them even if __OPENAT_PREFIX is defined.
5913
5914         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
5915         and openat.c.
5916         * lib/mkdirat.c: Include openat-priv.h.
5917         Remove definitions of macros defined therein.
5918         * lib/openat.c: Likewise.
5919
5920         * lib/mkdirat.c (mkdirat): New file and function.
5921         * lib/openat.h (mkdirat): Declare.
5922
5923         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
5924
5925         * lib/openat.h (openat_permissive): Declare.
5926         (openat_ro): Define.
5927
5928         * lib/openat.c (EXPECTED_ERRNO): New macro.
5929         (openat_permissive): New function -- used in remove.c rewrite.
5930         (all functions): Set errno just before returning, only if there
5931         was an actual failure.
5932         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
5933
5934         Emulate openat-family functions using Linux's procfs, if possible.
5935         Idea and some code based on Ulrich Drepper's glibc changes.
5936
5937         * lib/openat.c: (BUILD_PROC_NAME): New macro.
5938         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
5939         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
5940         before falling back on save_cwd and restore_cwd.
5941         (fdopendir, fstatat, unlinkat): Likewise.
5942
5943         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
5944         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
5945
5946         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
5947         as second argument to va_arg.  Otherwise, some versions of gcc
5948         warn that `if this code is reached, the program will abort'.
5949
5950 2006-01-09  Jim Meyering  <jim@meyering.net>
5951
5952         Sync from coreutils.
5953         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
5954         Require openat-priv.h.
5955
5956 2006-01-09  Bruno Haible  <bruno@clisp.org>
5957
5958         * modules/strnlen (Include): Use strnlen.h.
5959
5960 2006-01-09  Bruno Haible  <bruno@clisp.org>
5961
5962         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
5963
5964 2006-01-09  Bruno Haible  <bruno@clisp.org>
5965
5966         * lib/sysexit_.h (EX_OK): New macro.
5967         Suggested by Martin Lambers <marlam@marlam.de>.
5968
5969 2006-01-09  Bruno Haible  <bruno@clisp.org>
5970
5971         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
5972         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
5973
5974 2006-01-09  Bruno Haible  <bruno@clisp.org>
5975
5976         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
5977         numbers.
5978
5979 2006-01-09  Bruno Haible  <bruno@clisp.org>
5980
5981         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
5982         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
5983         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
5984         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
5985
5986 2006-01-09  Bruno Haible  <bruno@clisp.org>
5987
5988         * build-aux/javacomp.sh.in: New file, moved from lib/.
5989         * modules/javacomp-script (Files): Update.
5990         (configure.ac): Add AC_CONFIG_FILES invocation.
5991         (EXTRA_DIST): Remove variable.
5992
5993         * build-aux/javaexec.sh.in: New file, moved from lib/.
5994         * modules/javaexec (Files): Update.
5995         (configure.ac): Add AC_CONFIG_FILES invocation.
5996         (EXTRA_DIST): Remove javaexec.sh.in.
5997
5998         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
5999         * modules/csharpcomp-script (Files): Update.
6000         (configure.ac): Add AC_CONFIG_FILES invocation.
6001         (EXTRA_DIST): Remove variable.
6002
6003         * build-aux/csharpexec.sh.in: New file, moved from lib/.
6004         * modules/csharpexec (Files): Update.
6005         (configure.ac): Add AC_CONFIG_FILES invocation.
6006         (EXTRA_DIST): Remove csharpexec.sh.in.
6007
6008 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
6009
6010         Sync from coreutils.
6011
6012         Add POSIX ACL support
6013         * lib/acl.h (copy_acl, set_acl): Add declarations.
6014         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
6015         systems other than Linux.
6016         (chmod_or_fchmod): New function: use fchmod when possible,
6017         and chmod otherwise.
6018         (file_has_acl): Add a POSIX ACL implementation, with a
6019         Linux-specific subcase.
6020         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
6021         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
6022         acls are unsupported.
6023         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
6024         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
6025         are unsupported.
6026
6027 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
6028
6029         Sync from coreutils.
6030         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
6031
6032 2006-01-07  Bruno Haible  <bruno@clisp.org>
6033
6034         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
6035         gl_EARLY.
6036
6037 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
6038
6039         * lib/strftime.c (tzname): Don't declare if it is already #defined.
6040         Problem reported for Mingw by Mark Junker.
6041
6042 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
6043
6044         * README: Gnulib normally doesn't generate a tarball.
6045
6046 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
6047
6048         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
6049         long int, not int, for nanosecond counts, so that people who are
6050         used to POSIX struct timespec won't be surprised.  Reported by Jim
6051         Meyering.
6052
6053 2005-12-28  Bruno Haible  <bruno@clisp.org>
6054
6055         * build-aux/config.rpath: Update from GNU gettext.
6056
6057 2005-12-16  Jim Meyering  <jim@meyering.net>
6058
6059         * modules/fprintftime: New module.
6060         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
6061
6062 2005-12-16  Jim Meyering  <jim@meyering.net>
6063
6064         * m4/fprintftime.m4: New file.
6065
6066 2005-12-16  Jim Meyering  <jim@meyering.net>
6067
6068         * lib/fprintftime.c, fprintftime.h: New files.
6069
6070 2005-12-15  Simon Josefsson  <jas@extundo.com>
6071
6072         * modules/socklen (configure.ac): Fix M4 macro name, to align with
6073         new m4/socklen.m4.
6074
6075 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
6076
6077         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
6078         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
6079
6080 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
6081
6082         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
6083         * lib/argp-help.c (fill_in_uparams): Check if the constructed
6084         struct uparams is valid. Fall back to the default values if it is
6085         not.
6086
6087 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
6088
6089         * modules/argp (Files): Add argp-pin.c
6090         (Depends-on): dirname
6091         (lib_SOURCES): Add argp-pin.c
6092
6093 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
6094
6095         * m4/argp.m4:  Check if program_invocation_name and
6096         program_invocation_short_name are declared and define appropriate
6097         macros if they are not.
6098
6099 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
6100
6101         * lib/argp-help.c (__argp_base_name): New function
6102         (__argp_short_program_name): Rewrite using __argp_base_name
6103         * lib/argp-namefrob.h: Define program_invocation_name and
6104         program_invocation_short_name if requested
6105         (__argp_base_name): Add prototype
6106         * lib/argp-parse.c (argp_def): Use gettext wrappers
6107         (argp_default_parser): Use __argp_base_name
6108         * lib/argp-pin.c: New file. Defines program_invocation_name and
6109         program_invocation_short_name on systems that lack them.
6110
6111 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
6112
6113         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
6114         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
6115         porting problem reported by Georg Schwarz in
6116         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
6117
6118 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
6119
6120         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
6121         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
6122         porting problem reported by Georg Schwarz in
6123         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
6124
6125 2005-12-05  Bruno Haible  <bruno@clisp.org>
6126
6127         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
6128         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
6129         Reported by Mark Junker <mjscod@gmx.de>.
6130
6131 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
6132
6133         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
6134         Use implementation from Albert Chin, with some
6135         comments/corrections by Stepan Kasal and myself.
6136
6137 2005-12-02  Bruno Haible  <bruno@clisp.org>
6138
6139         * gnulib-tool (func_import): Accept GPLed build tool modules when
6140         --lgpl is given.
6141         * modules/csharpcomp-script: New file.
6142         * modules/csharpcomp: Depend on it.
6143         * modules/javacomp-script: New file.
6144         * modules/javacomp: Depend on it.
6145         Suggested by Simon Josefsson.
6146
6147 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
6148
6149         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
6150         statement, to work around an HP-UX 10.20 compiler bug reported by
6151         Peter O'Gorman.
6152
6153 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
6154
6155         * modules/savedir (Depends-on): Add openat.
6156
6157 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
6158
6159         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
6160         (uintmax_t) [defined uintmax_t]: Do not declare.
6161         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
6162         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
6163         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
6164         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
6165         sake of portability to weird hosts that C allows (though we don't
6166         know of any practical examples).
6167
6168         * lib/savedir.h (fdsavedir): New decl.
6169         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
6170         contains most of the former guts of savedir.
6171         (savedir): Use savedirstream.
6172         Include "openat.h".
6173
6174 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
6175
6176         * modules/obstack (Files): Add m4/ulonglong.m4.
6177         Problem reported by Davide Angelocola.
6178
6179 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
6180
6181         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
6182         coreutils no longer futzes with rounding modes.
6183
6184 2005-11-14  Jim Meyering  <jim@meyering.net>
6185
6186         * lib/mkstemp-safer.c: Include <config.h>, required for possible
6187         replacement of mkstemp.
6188
6189 2005-11-10  Simon Josefsson  <jas@extundo.com>
6190
6191         * lib/readline.c: Remove EOL.
6192
6193 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
6194
6195         * modules/gethrxtime (Depends-on): Add gettime.
6196
6197 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
6198
6199         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
6200         or gettimeofday; no longer needed.
6201
6202 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
6203
6204         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
6205         time business.
6206         (gethrxtime) [! (HAVE_NANOUPTIME
6207         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
6208         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
6209         our own approximation.
6210
6211 2005-11-08  Eric Blake  <ebb9@byu.net>
6212
6213         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
6214
6215 2005-11-08  Eric Blake  <ebb9@byu.net>
6216
6217         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
6218
6219 2005-11-04  Bruno Haible  <bruno@clisp.org>
6220
6221         * gnulib-tool: Implement --update mode.
6222
6223 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
6224
6225         Fix porting problem reported by Theodoros V. Kalamatianos.
6226         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
6227         Don't assume that futimes failing means we must fail.
6228
6229 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
6230
6231         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
6232         variables to suggest the intended function of the PATH_MAX check.
6233
6234 2005-10-30  Kean Johnston  <jkj@sco.com>
6235
6236         Trivial changes to support SCO systems.
6237         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
6238         as PATH_MAX.
6239         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
6240         where __ptr is null when no I/O is pending.
6241
6242 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
6243
6244         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
6245         leave errno alone.  Problem reported by Dmitry V. Levin.
6246
6247 2005-10-28  Simon Josefsson  <jas@extundo.com>
6248
6249         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
6250         Test more.
6251
6252         * tests/test-gc-md2.c, tests/test-md2.c: New files.
6253
6254         * modules/md2, modules/md2-tests: New files.
6255
6256 2005-10-28  Simon Josefsson  <jas@extundo.com>
6257
6258         * m4/inet_ntop.m4: More tests.
6259
6260         * m4/gc-md2.m4, md2.m4: New file.
6261
6262 2005-10-28  Simon Josefsson  <jas@extundo.com>
6263
6264         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
6265         "restrict" keywords, as per POSIX.  Protect the function
6266         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
6267         Don't use K&R prototypes.  Check the sprintf return values.
6268         Re-define EAFNOSUPPORT if not present.  Indent.
6269
6270         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
6271         suggested by Bruno Haible <bruno@clisp.org>.
6272
6273         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
6274
6275         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
6276
6277         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
6278         libgcrypt).
6279
6280         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
6281
6282         * lib/md2.h, md2.c: New files.
6283
6284 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
6285
6286         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
6287         errno alone.  Problem reported by Frederic Jolliton.
6288
6289 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
6290
6291         * modules/verify (License): Change from GPL to LGPL.  This is a
6292         tiny module and there are apparently near-equivalents that are
6293         under the BSD license.
6294
6295 2005-10-24  Simon Josefsson  <jas@extundo.com>
6296
6297         * modules/sha1: Relicense to LGPL.
6298
6299 2005-10-24  Simon Josefsson  <jas@extundo.com>
6300
6301         * lib/md4.h: Shrink buffer size, now that we changed the type.
6302
6303 2005-10-23  Simon Josefsson  <jas@extundo.com>
6304
6305         * gnulib-tool (func_import): Fix --tests-base.
6306
6307 2005-10-22  Simon Josefsson  <jas@extundo.com>
6308
6309         * modules/arcfour (Depends-on): Need stdint.
6310
6311 2005-10-22  Simon Josefsson  <jas@extundo.com>
6312
6313         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
6314         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
6315
6316 2005-10-22  Simon Josefsson  <jas@extundo.com>
6317
6318         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
6319         suggested by Bruno Haible <bruno@clisp.org>.
6320
6321 2005-10-22  Simon Josefsson  <jas@extundo.com>
6322
6323         * lib/crc.h: Include stddef.h, for size_t.
6324
6325 2005-10-22  Simon Josefsson  <jas@extundo.com>
6326
6327         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
6328         arcfour_context struct (simplify test vector testing in GNU
6329         Shishi).
6330
6331 2005-10-21  Simon Josefsson  <jas@extundo.com>
6332
6333         * modules/des, modules/des-tests: New files.
6334
6335         * modules/gc-des, modules/gc-des-tests: New files.
6336
6337         * tests/test-des.c, tests/test-gc-des.c: New file.
6338
6339 2005-10-21  Simon Josefsson  <jas@extundo.com>
6340
6341         * modules/arctwo, modules/arctwo-tests: New files.
6342
6343         * tests/test-arctwo.c: New file.
6344
6345         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
6346
6347         * tests/test-gc-arctwo.c: New file.
6348
6349 2005-10-21  Simon Josefsson  <jas@extundo.com>
6350
6351         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
6352         Bruno Haible <bruno@clisp.org>.
6353
6354         * m4/gc-des.m4: New file.
6355
6356 2005-10-21  Simon Josefsson  <jas@extundo.com>
6357
6358         * m4/arctwo.m4: New file.
6359
6360         * m4/gc-arctwo.m4: New file.
6361
6362 2005-10-21  Simon Josefsson  <jas@extundo.com>
6363
6364         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
6365         block.
6366
6367 2005-10-21  Simon Josefsson  <jas@extundo.com>
6368
6369         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
6370         <bruno@clisp.org>.
6371
6372         * lib/hmac-sha1.c (hmac_sha1): Likewise.
6373
6374         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
6375         Bruno Haible <bruno@clisp.org>.
6376
6377         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
6378         <bruno@clisp.org>.
6379
6380 2005-10-21  Simon Josefsson  <jas@extundo.com>
6381
6382         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
6383
6384 2005-10-21  Simon Josefsson  <jas@extundo.com>
6385
6386         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
6387
6388 2005-10-21  Simon Josefsson  <jas@extundo.com>
6389
6390         * lib/des.h, des.c: New files.
6391
6392         * lib/gc-gnulib.c: Support DES.c
6393
6394 2005-10-21  Simon Josefsson  <jas@extundo.com>
6395
6396         * lib/arctwo.h, arctwo.c: New files.
6397
6398         * lib/gc-gnulib.c: Support ARCTWO.
6399
6400 2005-10-21  Simon Josefsson  <jas@extundo.com>
6401
6402         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
6403         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6404
6405 2005-10-21  Simon Josefsson  <jas@extundo.com>
6406
6407         * gnulib-tool (func_import, func_create_testdir): Define automake
6408         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
6409         Makefile.am snippet),
6410         suggested by Bruno Haible <bruno@clisp.org>.
6411
6412         * modules/gc (Makefile.am): Use it.
6413
6414 2005-10-21  Bruno Haible  <bruno@clisp.org>
6415
6416         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
6417         patch.
6418
6419 2005-10-19  Simon Josefsson  <jas@extundo.com>
6420
6421         * tests/test-gc-rijndael.c: New file.
6422
6423         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
6424
6425 2005-10-19  Simon Josefsson  <jas@extundo.com>
6426
6427         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
6428         interface too.
6429
6430 2005-10-19  Simon Josefsson  <jas@extundo.com>
6431
6432         * tests/test-gc-arcfour.c: New file.
6433
6434         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
6435
6436 2005-10-19  Simon Josefsson  <jas@extundo.com>
6437
6438         * modules/gc-md4, modules/gc-md4-tests: New file.
6439
6440         * tests/test-gc-md4.c: New file.
6441
6442 2005-10-19  Simon Josefsson  <jas@extundo.com>
6443
6444         * m4/gc-md4.m4: New file.
6445
6446 2005-10-19  Simon Josefsson  <jas@extundo.com>
6447
6448         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
6449         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
6450         <kasal@ucw.cz>.
6451
6452 2005-10-19  Simon Josefsson  <jas@extundo.com>
6453
6454         * m4/gc-arcfour.m4: New file.
6455
6456         * m4/gc-rijndael.m4: New file.
6457
6458 2005-10-19  Simon Josefsson  <jas@extundo.com>
6459
6460         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
6461
6462 2005-10-19  Simon Josefsson  <jas@extundo.com>
6463
6464         * lib/gc-gnulib.c: Support ARCFOUR.
6465
6466 2005-10-19  Simon Josefsson  <jas@extundo.com>
6467
6468         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
6469         support.
6470
6471         * lib/gc.h: Add ECB enum type.
6472
6473         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
6474
6475 2005-10-18  Simon Josefsson  <jas@extundo.com>
6476
6477         * tests/test-md5.c: New file.
6478
6479         * modules/md5-tests: New file.
6480
6481 2005-10-18  Simon Josefsson  <jas@extundo.com>
6482
6483         * tests/test-md4.c: New file.
6484
6485         * modules/md4, modules/md4-tests: New files.
6486
6487 2005-10-18  Simon Josefsson  <jas@extundo.com>
6488
6489         * m4/md4.m4: New file.
6490
6491 2005-10-18  Simon Josefsson  <jas@extundo.com>
6492
6493         * lib/md4.h, md4.c: New files, based on md5.?.
6494
6495 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
6496
6497         * gnulib-tool (func_create_testdir): Omit the second check whether
6498         BUILT_SOURCES in nonempty.
6499
6500 2005-10-17  Simon Josefsson  <jas@extundo.com>
6501
6502         * tests/test-rijndael.c: New file.
6503
6504 2005-10-17  Simon Josefsson  <jas@extundo.com>
6505
6506         * modules/sha1: Depend on stdint instead of md5.
6507
6508         * modules/md5: Depend on stdint, remove uint32_t.
6509
6510 2005-10-17  Simon Josefsson  <jas@extundo.com>
6511
6512         * modules/gc-sha1-tests: New file.
6513
6514         * tests/test-gc-sha1.c: New file.
6515
6516 2005-10-17  Simon Josefsson  <jas@extundo.com>
6517
6518         * m4/md5.m4: Remove call to uint32_t.m4.
6519
6520 2005-10-17  Simon Josefsson  <jas@extundo.com>
6521
6522         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
6523
6524         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
6525         md5.h.
6526
6527         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
6528
6529         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
6530
6531 2005-10-17  Simon Josefsson  <jas@extundo.com>
6532
6533         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
6534
6535 2005-10-17  Simon Josefsson  <jas@extundo.com>
6536
6537         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
6538
6539 2005-10-17  Simon Josefsson  <jas@extundo.com>
6540
6541         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
6542
6543         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
6544
6545 2005-10-17  Bruno Haible  <bruno@clisp.org>
6546
6547         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
6548         that it can also be used in a test.
6549
6550 2005-10-16  Bruno Haible  <bruno@clisp.org>
6551
6552         * gnulib-tool (func_emit_tests_Makefile_am): Also define
6553         TESTS_ENVIRONMENT, so that individual tests can augment it.
6554
6555         * gnulib-tool (func_create_testdir): Use an intermediate target for
6556         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
6557         macros, like $(ALLOCA_H), which cannot be passed through the command
6558         line.
6559
6560 2005-10-15  Simon Josefsson  <jas@extundo.com>
6561
6562         * modules/rijndael-tests: New file.
6563
6564         * modules/rijndael: New file.
6565
6566 2005-10-15  Simon Josefsson  <jas@extundo.com>
6567
6568         * m4/rijndael.m4: New file.
6569
6570 2005-10-15  Simon Josefsson  <jas@extundo.com>
6571
6572         * lib/rijndael-api-fst.h, rijndael-api-fst.c: New files.
6573
6574         * lib/rijndael-alg-fst.h, rijndael-alg-fst.c: New files.
6575
6576 2005-10-14  Simon Josefsson  <jas@extundo.com>
6577
6578         * tests/test-arcfour.c: New file.
6579
6580         * modules/arcfour, modules/arcfour-tests: New files.
6581
6582 2005-10-14  Simon Josefsson  <jas@extundo.com>
6583
6584         * m4/arcfour.m4: New file.
6585
6586 2005-10-14  Simon Josefsson  <jas@extundo.com>
6587
6588         * lib/arcfour.h, arcfour.c: New files.
6589
6590 2005-10-14  Roland McGrath  <roland@redhat.com>
6591
6592         Import from libc.  [BZ #1331]
6593         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
6594         macro argument.
6595         Reported by Matej Vela <vela@debian.org>.
6596
6597 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
6598
6599         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
6600         include <wchar.h>; no longer needed.
6601
6602 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
6603
6604         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
6605
6606 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
6607         and  Ulrich Drepper  <drepper@redhat.com>
6608
6609         Import from libc.
6610         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
6611         instead of inline stream orientation test and two separate
6612         function calls.  Pay no attention to USE_IN_LIBIO.
6613
6614 2005-10-13  Simon Josefsson  <jas@extundo.com>
6615
6616         * modules/gc-hmac-md5-tests: New file.
6617
6618         * tests/test-gc-hmac-sha1.c: New file.
6619
6620         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
6621
6622         * modules/gc-hmac-md5-tests: New file.
6623
6624         * tests/test-gc-md5.c: New file.
6625
6626         * modules/gc-md5-tests: New file.
6627
6628 2005-10-13  Simon Josefsson  <jas@extundo.com>
6629
6630         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
6631         Move memory allocation outside of loop.
6632
6633 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
6634
6635         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
6636         intermediate directory is in a read-only file system.  Problem
6637         reported by Eric Blake.
6638
6639 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
6640
6641         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
6642
6643 2005-10-12  Simon Josefsson  <jas@extundo.com>
6644
6645         * tests/test-hmac-sha1.c: New file.
6646
6647         * modules/hmac-sha1-tests: New file.
6648
6649         * modules/hmac-sha1: New file.
6650
6651 2005-10-12  Simon Josefsson  <jas@extundo.com>
6652
6653         * modules/gc-sha1: New file.
6654
6655 2005-10-12  Simon Josefsson  <jas@extundo.com>
6656
6657         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
6658
6659         * tests/test-gc-pbkdf2-sha1.c: New file.
6660
6661 2005-10-12  Simon Josefsson  <jas@extundo.com>
6662
6663         * modules/gc-md5, modules/gc-hmac-md5: New files.
6664
6665         * modules/gc (Files): Remove md5, memxor and hmac files.
6666
6667 2005-10-12  Simon Josefsson  <jas@extundo.com>
6668
6669         * m4/gc-pbkdf2-sha1.m4: New file.
6670
6671         * m4/gc-hmac-sha1.m4: New file.
6672
6673         * m4/gc-sha1: New file.
6674
6675         * m4/hmac-sha1.m4: New file.
6676
6677 2005-10-12  Simon Josefsson  <jas@extundo.com>
6678
6679         * m4/gc-md5.m4, gc-hmac-md5: New files.
6680
6681         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
6682
6683 2005-10-12  Simon Josefsson  <jas@extundo.com>
6684
6685         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
6686         suggested by Bruno Haible <bruno@clisp.org>.
6687
6688 2005-10-12  Simon Josefsson  <jas@extundo.com>
6689
6690         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
6691
6692 2005-10-12  Simon Josefsson  <jas@extundo.com>
6693
6694         * lib/gc-pbkdf2-sha1.c: New file.
6695
6696         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
6697
6698 2005-10-12  Simon Josefsson  <jas@extundo.com>
6699
6700         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
6701
6702         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
6703
6704 2005-10-12  Simon Josefsson  <jas@extundo.com>
6705
6706         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
6707         GC_USE_HMAC_MD5, respectively.
6708
6709         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
6710         (gc_md5): Fix typo.
6711
6712         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
6713
6714         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
6715
6716         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
6717
6718 2005-10-12  Bruno Haible  <bruno@clisp.org>
6719
6720         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
6721         Reported by Stepan Kasal <kasal@ucw.cz>.
6722
6723 2005-10-11  Simon Josefsson  <jas@extundo.com>
6724
6725         * tests/test-crc.c: New file.
6726
6727         * modules/crc, modules/crc-tests: New files.
6728
6729 2005-10-11  Simon Josefsson  <jas@extundo.com>
6730
6731         * m4/crc.m4: New file.
6732
6733 2005-10-11  Simon Josefsson  <jas@extundo.com>
6734
6735         * lib/gc.h: Add gc_hash and gc_hash_buffer.
6736
6737         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
6738
6739         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
6740
6741 2005-10-11  Simon Josefsson  <jas@extundo.com>
6742
6743         * lib/crc.h, crc.c: New files.
6744
6745         * lib/gc.h (gc_hash_buffer): Add doc.
6746
6747 2005-10-11  Bruno Haible  <bruno@clisp.org>
6748
6749         * modules/c-strcasestr: New file.
6750         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
6751
6752 2005-10-11  Bruno Haible  <bruno@clisp.org>
6753
6754         * modules/c-strcase: New file.
6755         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
6756
6757 2005-10-11  Bruno Haible  <bruno@clisp.org>
6758
6759         * lib/strcasecmp.c: Include limits.h.
6760         (strcasecmp): Avoid integer overflow on exotic platforms.
6761         * lib/strncasecmp.c: Include limits.h.
6762         (strncasecmp): Avoid integer overflow on exotic platforms.
6763         Reported by Paul Eggert.
6764
6765 2005-10-11  Bruno Haible  <bruno@clisp.org>
6766
6767         * lib/c-strcasestr.h: New file, from GNU gettext.
6768         * lib/c-strcasestr.c: New file, from GNU gettext.
6769
6770 2005-10-11  Bruno Haible  <bruno@clisp.org>
6771
6772         * lib/c-strcase.h: New file, from GNU gettext.
6773         * lib/c-strcasecmp.c: New file, from GNU gettext.
6774         * lib/c-strncasecmp.c: New file, from GNU gettext.
6775
6776 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
6777
6778         * modules/mempcpy (License): GPL -> LGPL.
6779         * modules/strchrnul (License): Likewise.
6780         * modules/sysexits (License): Likewise.
6781
6782 2005-10-08  Simon Josefsson  <jas@extundo.com>
6783
6784         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
6785
6786 2005-10-07  Simon Josefsson  <jas@extundo.com>
6787
6788         * m4/memxor.m4: Remove gl_C_RESTRICT call.
6789
6790 2005-10-06  Simon Josefsson  <jas@extundo.com>
6791
6792         * tests/test-hmac-md5.c: New file.
6793
6794         * modules/hmac-md5-tests: New file.
6795
6796         * modules/hmac-md5: New file.
6797
6798 2005-10-06  Simon Josefsson  <jas@extundo.com>
6799
6800         * m4/hmac-md5.m4: New file.
6801
6802         * m4/memxor.m4: Require gl_C_RESTRICT.
6803
6804 2005-10-06  Simon Josefsson  <jas@extundo.com>
6805
6806         * lib/memxor.c (memxor): Avoid casts and warnings.
6807
6808 2005-10-06  Simon Josefsson  <jas@extundo.com>
6809
6810         * lib/hmac-md5.c: New file.
6811
6812         * lib/hmac.h: New file.
6813
6814 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
6815
6816         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
6817         promotes to int, not unsigned int, to catch the AIX 5.3
6818         compiler bug.
6819
6820 2005-10-05  Simon Josefsson  <jas@extundo.com>
6821
6822         * modules/memxor: New file.
6823
6824         * modules/iconv (Files): Move config.rpath to havelib, it is used
6825         there.
6826
6827         * modules/havelib (Files): Add config.rpath.
6828
6829 2005-10-05  Simon Josefsson  <jas@extundo.com>
6830
6831         * m4/memxor.m4: New file.
6832
6833 2005-10-05  Simon Josefsson  <jas@extundo.com>
6834
6835         * lib/memxor.c (memxor): Fix compiler error.
6836
6837         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
6838         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
6839
6840         * lib/memxor.h, memxor.c: New files.
6841
6842         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
6843         we assume all systems have it, suggested by Jim Meyering
6844         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
6845         any systems lack sys/socket.h; mingw32 is known to lack it, but we
6846         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
6847         same reasons.
6848
6849 2005-10-05  Simon Josefsson  <jas@extundo.com>
6850
6851         * config/srclist.txt: Add glibc bug 1423 for md5.h.
6852
6853 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
6854
6855         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
6856         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
6857         needed, since the source code now assumes these .h files.
6858
6859 2005-10-05  Derek Price  <derek@ximbiot.com>
6860
6861         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
6862
6863 2005-10-05  Bruno Haible  <bruno@clisp.org>
6864
6865         * modules/stdint (License): Change to LGPL.
6866
6867 2005-10-04  Simon Josefsson  <jas@extundo.com>
6868
6869         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
6870         D. Baushke" <mdb@gnu.org>.
6871
6872 2005-10-04  Bruno Haible  <bruno@clisp.org>
6873
6874         * lib/verify.h (verify_true): Provide alternative definition for C++.
6875
6876 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
6877
6878         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
6879         (SSIZE_MAX): New macro, if not already defined.
6880         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
6881         than 2 GiB.
6882
6883 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
6884
6885         Sync from coreutils.
6886         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
6887         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
6888         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
6889         ULLONG_MAX doesn't work with 2.7.2.1.
6890
6891 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
6892
6893         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
6894         From Ben Pfaff.
6895
6896         * modules/exclude (Depends-on): Depend on verify.
6897         * modules/strtoimax (Depends-on): Likewise.
6898         * modules/utimecmp (Depends-on): Likewise.
6899
6900 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
6901
6902         * lib/exclude.c: Include verify.h.
6903         (verify): Remove.  All callers changed to use verify.h's version.
6904         * lib/strtoimax.c: Likewise.
6905         * lib/utimecmp.c: Likewis.e
6906
6907         Sync from coreutils.
6908         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
6909         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
6910         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
6911         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
6912         bother returning ENOSYS if settimeofday or stime fails; just let
6913         them return whatever errno they want to return.
6914         * lib/utimens.c: Include unistd.h, for dup2.
6915         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
6916         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
6917
6918 2005-10-02  Jim Meyering  <jim@meyering.net>
6919
6920         Sync from coreutils.
6921         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
6922         from glibc-2.2.5 that fails for read-only files.
6923
6924 2005-10-02  Jim Meyering  <jim@meyering.net>
6925
6926         Sync from coreutils.
6927         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
6928         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
6929         `#if HAVE_CONFIG_H'.
6930         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
6931         Remove AT_FDCWD test.
6932         Do not consume the fd unless successful.
6933         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
6934         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
6935         block, so that we don't even try to compile it if settimeofday is
6936         available.  This works around a compilation failure on OSF1 V5.1,
6937         due to stime requiring a `long int*' while tv_sec is `int'.
6938
6939 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
6940
6941         Sync from coreutils.
6942         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
6943         against `yes', rather than just testing for nonempty.
6944
6945 2005-10-01  Simon Josefsson  <jas@extundo.com>
6946
6947         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
6948         and Darwin.
6949
6950         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
6951         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
6952         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
6953         freeaddrinfo and gai_strerror are declared by the POSIX headers.
6954         Check if struct addrinfo is declared.
6955
6956 2005-10-01  Simon Josefsson  <jas@extundo.com>
6957
6958         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
6959         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
6960         AI_* and EAI_* definitions.  Protect function declarations.
6961
6962 2005-10-01  Jim Meyering  <jim@meyering.net>
6963
6964         Sync from coreutils.
6965
6966         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
6967         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
6968         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
6969         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
6970         in the inet and nsl libraries.  Required on Solaris 5.7.
6971
6972 2005-10-01  Jim Meyering  <jim@meyering.net>
6973
6974         Sync from coreutils.
6975         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
6976         in the inet and nsl libraries.  Required on Solaris 5.7.
6977
6978 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
6979
6980         * lib/getdelim.c (getdelim): Remove unused variables.
6981
6982 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
6983
6984         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
6985         so that the code works even with ancient cpp.  Portability problem
6986         with GCC 2.7.2.1 reported by Thomas M.Ott.
6987
6988 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
6989
6990         * modules/regex (Depends-on): Add strcase.
6991
6992         * modules/gethostname (Licence): Change from GPL to LGPL, since
6993         gethostname.c is a trivial implementation of a standard library
6994         function.
6995         * modules/poll (License): Change from GPL to LGPL, since it's
6996         derived from LGPL code.
6997
6998 2005-09-27  Jim Meyering  <jim@meyering.net>
6999
7000         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
7001         HAVE_CONFIG_H.
7002
7003         * lib/intprops.h (signed_type_or_expr__): Define.
7004         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
7005         for unsigned types.
7006
7007 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
7008
7009         * lib/verify.h (verify_expr): Remove, replacing with:
7010         (verify_true): New macro that returns true instead of void.
7011         (verify_type__): Remove.
7012         (verify): Use verify_true rather than verify_type__.
7013
7014 2005-09-26  Bruno Haible  <bruno@clisp.org>
7015
7016         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
7017         is necessary.
7018         (lib_SOURCES): Remove mbchar.c.
7019         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
7020         (Files): Add m4/mbrtowc.m4.
7021         * modules/mbiter: Likewise.
7022         * modules/mbuiter: Likewise.
7023
7024 2005-09-26  Bruno Haible  <bruno@clisp.org>
7025
7026         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
7027         compile mbchar.c if they are not both present.
7028         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
7029         * m4/mbiter.m4 (gl_MBITER): Likewise.
7030         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
7031         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
7032         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
7033
7034 2005-09-25  Jim Meyering  <jim@meyering.net>
7035
7036         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
7037         also uses socklen_t.
7038
7039 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
7040
7041         * lib/utimens.c (ENOSYS): Define if not already defined.
7042         (futimens): Support having a null PATH if the file descriptor
7043         is nonnegative.
7044
7045         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
7046         Remove.
7047         (__attribute): Define to empty unless GCC 3.1 or later.
7048         This works around a core dump on OpenBSD 3.4, which has GCC
7049         2.95.3, which dumps core when given __attribute__(()).  It also
7050         simplifies other tests, since we really don't want to bother with
7051         worrying about which ancient version of GCC supported what.
7052         Original problem reported by Yoann Vandoorselaere, with part of
7053         the fix suggested by Derek Price.
7054
7055 2005-09-24  Jim Meyering  <jim@meyering.net>
7056
7057         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
7058         so we can once again use a positive bitfield width of 1 -- now we
7059         don't have to explain why we were using a bitfield width of 2.
7060
7061 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
7062
7063         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
7064         and similarly for the other external symbols.  Problem reported
7065         by James Gallager.
7066
7067         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
7068         bug reported by Jim Meyering.
7069
7070         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
7071         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
7072         not needed, since socklen is a prerequisite module.
7073
7074 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
7075
7076         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
7077         Problem reported by Eric Blake.
7078         (getaddrinfo): Initialize se so that it's not garbage.
7079         Redo internal storage allocation so that it doesn't make unportable
7080         assumptions about alignment.
7081         Fix a memory leak.
7082
7083         * lib/utimens.c (futimens): Use futimesat if available.
7084         Prefer it to futimes since it doesn't have the futimes bug.
7085
7086         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
7087         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
7088         Instead, declare a function that returns a pointer to an array,
7089         and use verify_type__ to declare the size of the array.
7090         Problem and germ of a solution reported by Bruno Haible.
7091         (verify_type__): Use 2, not 1, for bitfield size, to avoid
7092         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
7093
7094 2005-09-23  Jim Meyering  <jim@meyering.net>
7095
7096         Sync from coreutils.
7097         Correct build failure (socklen_t not defined) on at least
7098         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
7099         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
7100
7101 2005-09-23  Jim Meyering  <jim@meyering.net>
7102
7103         * modules/getaddrinfo (Depends-on): Add socklen.
7104
7105 2005-09-23  Bruno Haible  <bruno@clisp.org>
7106
7107         * tests/test-verify.c: New file.
7108
7109 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
7110
7111         Sync from coreutils.
7112
7113         * modules/argmatch (Depends-on): Add verify.
7114         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
7115         unistd-safer.
7116         * modules/save-cwd (Depends-on): Likewise.
7117
7118         * modules/openat (Files): Add lib/openat-die.c.
7119         (Depends-on): Remove error, exitfail.
7120         Add dirname.
7121
7122         * modules/verify: New file.
7123         * MODULES.html.sh (Diagnostics <assert.h>): New section,
7124         with "verify" module.
7125
7126 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
7127
7128         Sync from coreutils.
7129
7130         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
7131         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
7132         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
7133         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
7134         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
7135         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
7136         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
7137         Don't bother checking for string.h, stdlib.h, unistd.h.
7138         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
7139         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
7140         module's job.
7141         * m4/jm-macros.m4 (gl_MACROS): Likewise.
7142         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
7143
7144         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
7145         (gl_GETDATE): Use it.
7146
7147         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
7148
7149 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
7150
7151         Sync from coreutils.
7152
7153         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
7154         stat-time.h.
7155         * lib/argmatch.h: Include verify.h
7156         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
7157         (ARGMATCH_ASSERT): Remove; unused.
7158         * lib/canonicalize.c: Assume STDC_HEADERS.
7159         * lib/exclude.c: Include "strcase.h".
7160         * lib/regex_internal.h [!defined _LIBC]: Likewise.
7161         * lib/getusershell.c: Include stdio--.h rather than stdio.h
7162         and stdio-safer.h.
7163         (getusershell): Call fopen, not fopen_safer.
7164         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
7165         Do not include unistd-safer.h.
7166         (save_cwd): Don't call fd_safer; no longer needed
7167         now that we include fcntl--.h.
7168
7169         * lib/getdate.y (relative_time): New type.
7170         (RELATIVE_TIME_0): New constant.
7171         (parser_control): Use relative_time instead of doing it ourselves.
7172         (%union): Add new relative_time rel member.
7173         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
7174         Now typeless.
7175         (relunit, relunit_snumber): Now of type rel.
7176         (zone, rel, relunit, get_date): Adjust to above changes.
7177
7178         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
7179         Do not include unistd-safer.h.
7180         (getloadavg): Don't call fd_safer; no longer needed
7181         now that we include fcntl--.h.
7182
7183         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
7184         (make_dir_parents): Treat ENOSYS like EEXIST.
7185
7186         Improve quality of diagnostics on restore_cwd failure.
7187         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
7188         (make_dir_parents): Last arg is now int * (for errno), not bool *.
7189         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
7190         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
7191         each time through the loop.  Do not diagnose restore_cwd failure;
7192         that is the caller's job (and perhaps the caller does not care).
7193
7194         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
7195         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
7196         If the file already exists but is not a directory, don't bother
7197         to try to make its parents.
7198         Close potential file descriptor leak if we can't chdir("/") (!).
7199         Don't always return true if chdir($PWD) fails; return true only
7200         if the requested action was done successfully (except for the
7201         chdir($PWD)).
7202         Don't log final directory unless we actually made it.
7203         Refactor to avoid duplicate code to fix up permissions.
7204         Don't attempt to fix up parent permissions if chdir($PWD) fails.
7205
7206         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
7207         to make it a bit faster and (I hope) clearer.
7208         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
7209         Fix bug in formats like %2N.
7210
7211         * lib/verify.h: New file.
7212
7213 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
7214
7215         Sync from coreutils.
7216         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
7217
7218 2005-09-22  Jim Meyering  <jim@meyering.net>
7219
7220         Sync from coreutils.
7221
7222         * m4/lstat.m4 (gl_FUNC_LSTAT):
7223         Use AC_LIBSOURCES to require lstat.c and lstat.h.
7224         Remove obsolete comment.
7225         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
7226         * m4/xstrtod.m4: Likewise.
7227
7228         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
7229
7230 2005-09-22  Jim Meyering  <jim@meyering.net>
7231
7232         Sync from coreutils.
7233
7234         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
7235
7236         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
7237         the .tm_year member, since otherwise gcc-4.0 would now warn about
7238         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
7239
7240         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
7241         order to avoid an unsuppressible warning from gcc on 64-bit systems.
7242
7243         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
7244         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
7245         when run in a time zone for which daylight savings time is in effect
7246         for the starting date.
7247
7248         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
7249         stop us from restricting permissions of just-created absolute-named
7250         directories.
7251         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
7252         to restore initial working directory.
7253         * lib/mkdir-p.c (make_dir_parents): New parameter:
7254         different_working_dir, to tell caller if/when we change the working
7255         directory and are unable to return to the initial one.
7256         * lib/mkdir-p.h (make_dir_parents): Update prototype.
7257         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
7258         `return false'.  This fixes a bug introduced on 2004-07-30.
7259
7260         * lib/openat.c (fdopendir): Be sure to close the supplied
7261         file descriptor before returning.  This makes our replacement
7262         implementation a little closer to Solaris's, where fdopendir
7263         ties the file descriptor to the returned DIR* pointer.
7264         * lib/openat.c (unlinkat): New function.
7265         * lib/openat.h (unlinkat): Add prototype.
7266         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
7267         (openat_restore_fail): Rename from openat_restore_die.
7268         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
7269
7270         Provide an alternative to exiting immediately upon save_cwd or
7271         restore_cwd failure.  Now, an application can arrange e.g.,
7272         to perform a longjump in that case.
7273         * lib/openat.c: Include dirname.h.
7274         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
7275         (rpl_openat, fdopendir, fstatat): Call openat_save_die
7276         and openat_restore_die rather than calling error directly.
7277         Don't include "error.h" or "exitfail.h"; they're no longer needed.
7278
7279         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
7280         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
7281         define.
7282
7283         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
7284         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
7285                             int utc, int nanoseconds);
7286         Background:
7287         date should not have to allocate a megabyte of virtual memory to
7288         handle a format argument like +%1048575T.  When implemented with
7289         strftime, it must allocate such a buffer, use strftime to fill it
7290         in, print it, then free it.
7291         With fprintftime, it simply prints everything and exits.
7292         With no need for memory allocation, that's one fewer way to fail.
7293         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
7294         optional field width, not before, so we accept %9:z, not %:9z.
7295         (my_strftime): Be sure to use L_('x') for literals.
7296
7297         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
7298         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
7299         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
7300         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
7301         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
7302         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
7303         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
7304         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
7305         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
7306         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
7307         * lib/xgethostname.c, lib/xreadlink.c:
7308         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
7309
7310         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
7311         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
7312         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
7313         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
7314         and don't include <sys/file.h>).
7315
7316 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
7317
7318         Sync from coreutils.
7319
7320         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
7321         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
7322         [!LDAV_DONE]: Avoid unused variable warning.
7323
7324 2005-09-21  Bruno Haible  <bruno@clisp.org>
7325
7326         * lib/unicodeio.h (unicode_to_mb): New declaration.
7327
7328 2005-09-20  Derek Price  <derek@ximbiot.com>
7329
7330         * lib/getaddrinfo.c: Don't include <netdb.h> included from
7331         getaddrinfo.h.
7332
7333 2005-09-20  Bruno Haible  <bruno@clisp.org>
7334
7335         * gnulib-tool: Remove trailing slashes from the values specified for
7336         --source-base, --m4-base, --tests-base, --aux-dir.
7337         Suggested by Simon Josefsson <jas@extundo.com>.
7338
7339 2005-09-20  Bruno Haible  <bruno@clisp.org>
7340
7341         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
7342         func_modules_to_filelist, func_import, func_create_testdir): Make all
7343         sorting results locale-independent, so that gnulib-cache.m4 doesn't
7344         change when gnulib-tool is invoked in a different locale.
7345
7346 2005-09-19  Simon Josefsson  <jas@extundo.com>
7347
7348         * m4/socklen.m4: Fix typo.
7349
7350 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7351
7352         Use a consistent style for including <config.h>.
7353         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
7354         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
7355         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
7356         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
7357         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
7358         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
7359         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
7360         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
7361         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
7362         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
7363         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
7364         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
7365         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
7366         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
7367         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
7368         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
7369         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
7370         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
7371         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
7372         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
7373         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
7374         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
7375         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
7376         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
7377         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
7378         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
7379         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
7380         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
7381         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
7382         lib/xstrtoumax.c, lib/yesno.c:
7383         Standardize inclusion of config.h.
7384         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
7385         lib/inttostr.h:  Removed inclusion of config.h from header files.
7386         * lib/inttostr.c:  Adjusted in-tree users.
7387         * lib/timespec.h: Remove superfluous warning to include config.h.
7388         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
7389         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
7390         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
7391         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
7392         config.h with HAVE_CONFIG_H.
7393
7394 2005-09-19  Jim Meyering  <jim@meyering.net>
7395
7396         * modules/pathmax (License): Change to LGPL.
7397
7398 2005-09-19  Derek Price  <derek@ximbiot.com>
7399
7400         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
7401
7402 2005-09-19  Bruno Haible  <bruno@clisp.org>
7403
7404         * gnulib-tool (import): Provide default for --tests-base.
7405
7406 2005-09-19  Bruno Haible  <bruno@clisp.org>
7407
7408         * doc/quote.texi: New file, extracted from gnulib.texi.
7409         * doc/ctime.texi: New file, extracted from gnulib.texi.
7410         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
7411         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
7412         * doc/gnulib.texi: Include them.
7413
7414 2005-09-18  Bruno Haible  <bruno@clisp.org>
7415
7416         Portability fix.
7417         * gnulib-tool (func_readlink): New function.
7418         (func_ln_if_changed): Use it.
7419
7420 2005-09-18  Bruno Haible  <bruno@clisp.org>
7421
7422         * gnulib-tool: Support --with-tests also with --import.
7423         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
7424         (func_import): Use variables $testsbase and $inctests. Emit a
7425         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
7426         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
7427         SUBDIRS += $testsdir.
7428         (func_create_testdir): Update.
7429
7430 2005-09-18  Bruno Haible  <bruno@clisp.org>
7431
7432         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
7433         instead of $dry_run.
7434         (func_cp_if_changed, func_mv_if_changed): Remove functions.
7435         (func_ln_if_changed): Don't handle dry-run here.
7436         (func_import): In dry-run mode, detect more precisely which actions
7437         would be performed, and don't use "...ing" verbs.
7438
7439 2005-09-18  Bruno Haible  <bruno@clisp.org>
7440
7441         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
7442         (func_import): Use join on two temporary files instead of three nested
7443         loops, in order to determine which files are new or old.
7444
7445 2005-09-18  Bruno Haible  <bruno@clisp.org>
7446
7447         * gnulib-tool (func_import): Comment out code that spits out the
7448         new files with --dry-run.
7449
7450 2005-09-18  Bruno Haible  <bruno@clisp.org>
7451
7452         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
7453
7454 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
7455
7456         * lib/stat-time.h: New file.
7457         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
7458         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
7459         in a different way.
7460         (timespec_cmp): New function.
7461         * lib/utimecmp.c: Include stat-time.h.
7462         (SYSCALL_RESOLUTION): Depend on whether various struct stat
7463         members exist, not on the obsolescent ST_MTIM_NSEC.
7464         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
7465
7466 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
7467
7468         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
7469
7470 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
7471
7472         * MODULES.html.sh (File system functions): Add stat-time.
7473         * modules/stat-time: New file.
7474         * modules/timespec (Files): Remove m4/st_mtim.m4; this
7475         is now done in a different way, by the stat-time module.
7476         * modules/utimecmp (Depends-on): Add stat-time.
7477
7478 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
7479
7480         * m4/st_mtim.m4: Remove.  Superseded by...
7481         * m4/stat-time.m4: New file.
7482         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
7483         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
7484
7485 2005-09-15  Derek Price  <derek@ximbiot.com>
7486
7487         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
7488
7489 2005-09-15  Derek Price  <derek@ximbiot.com>
7490
7491         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
7492         * lib/regex_internal.c: Ditto, using this...
7493         (__GNUC_PREREQ): ...new macro.
7494         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
7495         using...
7496         (__GNUC_PREREQ): ...this new macro.
7497
7498         * lib/strstr.h: Include string.h. Define strstr as a macro here.
7499
7500 2005-09-15  Derek Price  <derek@ximbiot.com>
7501             Paul Eggert  <eggert@cs.ucla.edu>
7502
7503         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
7504         changes, consolidating in...
7505         * lib/regex_internal.h: ...this file.
7506
7507 2005-09-13  Jim Meyering  <jim@meyering.net>
7508
7509         * lib/canon-host.c: Filter through gnu indent and reword comments
7510         slightly.
7511         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
7512
7513 2005-09-13  Derek Price  <derek@ximbiot.com>
7514
7515         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
7516         failure.
7517         Reported by Jim Meyering  <jim@meyering.net>.
7518
7519 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
7520
7521         * lib/base64.c: Typo.
7522         (base64_encode): Put b64str in initialized data section.
7523
7524 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
7525
7526         Merge glibc and coreutils changes into gnulib, plus a few
7527         extra fixes.
7528         * lib/md5.c: Use #error rather than a string.
7529         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
7530         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
7531         (__attribute__): Define to empty for non recent-GCC.
7532         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
7533         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
7534         Renamed from their non-__ counterparts, with new macros replacing
7535         them if not _LIBC.  Add __THROW attribute.
7536         (rol): Remove.
7537         (struct md5_ctx): Align buffer if using GCC.
7538         * lib/sha1.h (struct sha1_ctx): Likewise.
7539         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
7540         The old name was backwards.
7541         (NOTSWAP): Remove; not used.
7542         (rol): New macro, moved here from md5.h.
7543         (sha1_process_block): Remove a FIXME that doesn't make sense.
7544
7545 2005-09-12  Derek Price  <derek@ximbiot.com>
7546
7547         Return usable errors from canon-host.
7548         * lib/canon-host.h: New file.
7549         * lib/canon-host.c (canon_host): Wrap...
7550         (canon_host_r): ...this new function, which now relies exclusively on
7551         getaddrinfo.
7552         (ch_strerror): New function.
7553         (last_cherror): New global.
7554         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
7555         interface.
7556         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
7557         void *.
7558         (freeaddrinfo): Free ai->ai_canonname when set.
7559
7560 2005-09-12  Derek Price  <derek@ximbiot.com>
7561
7562         Make canon-host require getaddrinfo.
7563         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
7564         AC_LIBSOURCE canon-host.h.  Call...
7565         (gl_PREREQ_CANON_HOST): ...this new function, which requires
7566         gl_GETADDRINFO.
7567         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
7568
7569 2005-09-12  Derek Price  <derek@ximbiot.com>
7570
7571         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
7572         LGPL.
7573         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
7574
7575 2005-09-12  Derek Price  <derek@ximbiot.com>
7576
7577         * lib/gai_strerror.c: Include config.h when available.  Include
7578         getaddrinfo.h before other headers to test interface.
7579         Reported by Larry Jones <lawrence.jones@ugs.com>.
7580
7581 2005-09-12  Derek Price  <derek@ximbiot.com>
7582             Paul Eggert  <eggert@cs.ucla.edu>
7583
7584         * modules/glob (Files): Add glob-libc.h.
7585
7586 2005-09-12  Derek Price  <derek@ximbiot.com>
7587             Paul Eggert  <eggert@cs.ucla.edu>
7588
7589         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
7590         glob_.h, glob-libc.h.
7591         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
7592
7593 2005-09-12  Derek Price  <derek@ximbiot.com>
7594             Paul Eggert  <eggert@cs.ucla.edu>
7595
7596         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
7597         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
7598         protecting things that should be done only in gnulib contexts.
7599         * lib/glob_.h: New file, containing only the glob things needed for
7600         gnulib.
7601         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
7602         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
7603         (glob, globfree, glob_pattern_p): Now defined simply in terms of
7604         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
7605         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
7606         and to respect the namespace rules better.
7607
7608 2005-09-08  Simon Josefsson  <jas@extundo.com>
7609
7610         * modules/socklen: New file.
7611
7612 2005-09-08  Simon Josefsson  <jas@extundo.com>
7613
7614         * m4/socklen.m4: New file.
7615
7616 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
7617
7618         * modules/utimens (Files): Add m4/utimbuf.m4, since
7619         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
7620         Reported by Sergey Poznyakoff.
7621
7622 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
7623
7624         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
7625         definitions, since that's the preferred style in glibc.
7626         Fix a minor spacing issue, and update copyright notice to match
7627         glibc's.
7628
7629 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
7630
7631         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
7632
7633 2005-09-06  Simon Josefsson  <jas@extundo.com>
7634
7635         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
7636         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
7637
7638 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
7639
7640         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
7641         warning.
7642
7643 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
7644
7645         * config/srclist.txt: Add glibc bug 1302.
7646
7647 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
7648
7649         Change bitset word type from unsigned int to unsigned long int,
7650         as this has better performance on typical 64-bit hosts.
7651         Port bitset code to hosts with unusual word sizes.
7652         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
7653         (build_collating_symbol):
7654         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
7655         argument is a bitset.  This is merely a style issue, but it makes
7656         it clearer that an entire array is expected.
7657         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
7658         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
7659         Port to the case where bitset_word is not the same as unsigned int.
7660         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
7661         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
7662         Likewise.
7663         * lib/regexec.c (check_dst_limits_calc_pos_1,
7664         check_subexp_matching_top):
7665         (build_trtable, group_nodes_into_DFAstates):
7666         Likewise.
7667         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
7668         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
7669         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
7670         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
7671         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
7672         * lib/regcomp.c (optimize_subexps, lower_subexp):
7673         Work even if bitset_word has holes in its bitwise representation.
7674         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
7675         * lib/regexec.c (check_dst_limits_calc_pos_1,
7676         check_subexp_matching_top):
7677         Likewise.
7678         * lib/regex_internal.c (re_string_reconstruct):
7679         Don't assume UCHAR_MAX == 255.
7680         * lib/regex_internal.h (bitset_set_all): Likewise.
7681         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
7682         All uses changed.
7683         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
7684         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
7685         All uses changed.
7686         (BITSET_WORD_MAX): New macro.
7687         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
7688         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
7689         (bitset_empty, bitset_copy):
7690         Prefer sizeof (bitset) to multiplying it out ourselves.
7691         (bitset_not_merge): Remove; unused.
7692         (bitset_contain): Return bool, not unsigned int with one bit on.
7693         All callers changed.
7694         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
7695         alignment than re_node_set; do this by defining a new internal
7696         type struct dests_alloc and using it to allocate memory.
7697
7698 2005-09-05  Bruno Haible  <bruno@clisp.org>
7699
7700         * gnulib-tool (func_import): Fix comparison in handling of symbolic
7701         links.
7702
7703 2005-09-04  Martin Lambers <marlam@marlam.de>  (tiny change)
7704
7705         * modules/size_max (Makefile.am): Add size_max.h
7706
7707 2005-09-04  Derek Price  <derek@ximbiot.com>
7708
7709         * gnulib-tool (func_import): Fix reversed $symbolic logic.
7710
7711 2005-09-03  Simon Josefsson  <jas@extundo.com>
7712
7713         * gnulib-tool: Fix typo.
7714
7715 2005-09-03  Simon Josefsson  <jas@extundo.com>
7716
7717         * config/srclist.txt: Add glibc bug 1293.
7718
7719 2005-09-03  Derek Price  <derek@ximbiot.com>
7720
7721         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
7722         From Larry Jones <lawrence.jones@ugs.com>.
7723
7724 2005-09-02  Simon Josefsson  <jas@extundo.com>
7725
7726         * modules/socklen: New file.
7727
7728 2005-09-02  Simon Josefsson  <jas@extundo.com>
7729
7730         * modules/havelib: New module.
7731
7732         * modules/gettext, modules/iconv, modules/lock, modules/readline:
7733         Use havelib.
7734
7735 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
7736
7737         Check for arithmetic overflow when calculating sizes, to prevent
7738         some buffer-overflow issues.  These patches are conservative, in the
7739         sense that when I couldn't determine whether an overflow was possible,
7740         I inserted a run-time check.
7741         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
7742         macros.
7743         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
7744         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
7745         (re_xnrealloc, re_x2nrealloc): New inline functions.
7746         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
7747         parse_bracket_exp):
7748         (build_equiv_class, build_charclass): Check for arithmetic overflow
7749         in size expression calculations.
7750         * lib/regex_internal.c (re_string_realloc_buffers):
7751         (build_wcs_upper_buffer, re_node_set_add_intersect):
7752         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
7753         (re_dfa_add_node, register_state): Likewise.
7754         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
7755         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
7756         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
7757         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
7758
7759 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
7760
7761         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
7762         m4/ulonglong.m4.  Problem reported by Martin Lambers.
7763
7764 2005-09-02  Bruno Haible  <bruno@clisp.org>
7765
7766         Support for lib vs. lib64 distinction on biarch platforms.
7767         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
7768         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
7769         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
7770
7771 2005-09-02  Bruno Haible  <bruno@clisp.org>
7772
7773         * gnulib-tool (import): In the other first-use case, provide defaults
7774         as well.
7775
7776 2005-09-02  Bruno Haible  <bruno@clisp.org>
7777
7778         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
7779         patches not yet found in the latest gettext release.
7780
7781 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
7782
7783         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
7784         to avoid a collision with bits/local_lim.h in glibc.
7785         All uses changed.  Problem reported by Dmitry V. Levin in
7786         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
7787
7788         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
7789         bugs in int versus size_t comparisons.
7790         (re_string_context_at): Fix bug where the code assumed that
7791         Idx is signed.
7792
7793         Use bool where appropriate.
7794         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
7795         All callers changed.
7796         (calc_eclosure_iter): Likewise, for ROOT arg.
7797         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
7798         (build_charclass_op): Likewise, for NON_MATCH arg.
7799         * lib/regex_internal.c (re_string_allocate, re_string_construct):
7800         (re_string_construct_common): Likewise, for ICASE arg.
7801         * lib/regexec.c (re_search_2_stub, re_search_stub):
7802         Likewise, for RET_LEN arg.
7803         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
7804         (set_regs): Likewise, for FL_BACKTRACK arg.
7805         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
7806         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
7807         (calc_eclosure_iter, parse_bracket_exp):
7808         Use bool for internal variables that are booleans.
7809         * lib/regexec.c (re_search_internal, check_matching,
7810         proceed_next_node):
7811         (set_regs, build_sifted_states, sift_states_bkref):
7812         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
7813         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
7814         (find_collation_sequence_value):
7815         Likewise.
7816         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
7817         (re_node_set_compare):
7818         Return bool, not int. All callers changed.
7819         * lib/regexec.c (check_halt_node_context, check_dst_limits):
7820         (build_trtable, check_node_accept): Likewise.
7821         * lib/regex_internal.h: Include stdbool.h.
7822
7823         Fix bugs uncovered when converting to bool.
7824         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
7825         failure instead of charging ahead blindly.
7826         * lib/regex_internal.c (register_state): Likewise.
7827         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
7828         for freeing internal storage.
7829         (group_nodes_into_DFA_states): Use unsigned int, not int, for
7830         bitset pieces used as boolean, to avoid undefined behavior
7831         on hosts that do int overflow checking.
7832
7833 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
7834
7835         * config/srclist.txt: Add glibc bugs 1285-1287.
7836
7837 2005-09-01  Jim Meyering  <jim@meyering.net>
7838
7839         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
7840         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
7841         Require gl_STAT_MACROS, too.
7842
7843 2005-09-01  Bruno Haible  <bruno@clisp.org>
7844
7845         * gnulib-tool (import): In the first-use case, provide defaults.
7846
7847 2005-09-01  Bruno Haible  <bruno@clisp.org>
7848
7849         * gnulib-tool (func_import): Remove the .tmp files.
7850
7851 2005-09-01  Bruno Haible  <bruno@clisp.org>
7852
7853         * gnulib-tool (func_import): Fix handling of symbolic links.
7854
7855 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
7856
7857         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
7858         old glibc regex code mishandles strings longer than 2**31 bytes.
7859         This patch fixes this when the regex code is used in gnulib
7860         (i.e., outside glibc).
7861
7862         This patch should not affect the use of the regex code inside
7863         glibc.  No doubt this problem also needs to be handled for glibc
7864         as well, but the result will be an incompatible change to the
7865         glibc ABI, and the old ABI will have to be supported too.  That
7866         can be the the subject for another patch.
7867
7868         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
7869         governing whether the rest of this patch is active.  By default,
7870         the macro is disabled and the patch has no effect.
7871         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
7872         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
7873         (struct re_pattern_buffer, re_search, re_search_2, re_match):
7874         (re_match_2, re_set_registers): Use the new types.
7875         * lib/regex_internal.h (Idx, re_hashval_t): New types.
7876         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
7877         New macros.
7878         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
7879         (re_string_context_at, bin_tree_t, re_dfastate_t):
7880         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
7881         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
7882         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
7883         (re_string_char_size_at, re_string_wchar_at):
7884         (re_string_elem_size_at):
7885         Use the new types and macros to port to 64-bit hosts.
7886         Use unsigned types for internal values, so that the code
7887         mostly works even for arrays larger than SSIZE_MAX.
7888         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
7889         (search_duplicated_node, calc_eclosure_iter, fetch_number):
7890         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
7891         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
7892         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
7893         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
7894         (calc_inveclosure, parse_dup_op, build_range_exp):
7895         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
7896         (fetch_number, create_token_tree, mark_opt_subexp):
7897         Likewise.
7898         * lib/regex_internal.c (re_string_construct_common,
7899         create_ci_newstate):
7900         (create_cd_newstate, re_string_allocate, re_string_construct):
7901         (re_string_realloc_buffers, build_wcs_upper_buffer):
7902         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
7903         (re_string_reconstruct, re_string_peek_byte_case):
7904         (re_string_fetch_byte_case, re_string_context_at):
7905         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
7906         (re_node_set_init_copy, re_node_set_add_intersect):
7907         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
7908         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
7909         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
7910         (re_acquire_state, re_acquire_state_context, register_state):
7911         Likewise.
7912         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
7913         search_cur_bkref_entry):
7914         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
7915         (re_search_internal, re_search_2_stub, re_search_stub)
7916         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
7917         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
7918         (update_cur_sifted_state, check_dst_limits):
7919         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
7920         (check_subexp_limits, sift_states_bkref, merge_state_array):
7921         (check_subexp_matching_top, get_subexp, get_subexp_sub):
7922         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
7923         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
7924         (expand_bkref_cache, check_node_accept_bytes):
7925         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
7926         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
7927         (acquire_init_state_context, check_halt_node_context):
7928         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
7929         (sift_states_backward, clean_state_log_if_needed):
7930         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
7931         (find_recover_state, transit_state_sb, transit_state_mb):
7932         (transit_state_bkref, build_trtable, match_ctx_clean):
7933         Likewise.
7934         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
7935         to work around an assumption that REG_MISSING is negative.
7936
7937         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
7938         (seek_collating_symbol_entry) [defined _LIBC]:
7939         (lookup_collation_sequence_value) [defined _LIBC]:
7940         (build_range_exp, build_collating_symbol) [defined _LIBC]:
7941         Use prototypes rather than old-style function definitions.
7942         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
7943         (transit_state_sb) [0]:
7944         (find_collation_sequence_value) [defined _LIBC]: Likewise.
7945
7946         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
7947         rm_eo.
7948
7949         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
7950         (optimize_subexps, lower_subexp):
7951         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
7952         since the signed shift might overflow.  Use 1u<<31 instead.
7953         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
7954         Likewise.
7955         * lib/regexec.c (check_dst_limits_calc_pos_1,
7956         check_subexp_matching_top): Likewise.
7957
7958         * lib/regcomp.c (optimize_subexps, lower_subexp):
7959         Use CHAR_BIT rather than 8, for clarity.
7960         * lib/regexec.c (check_dst_limits_calc_pos_1):
7961         (check_subexp_matching_top): Likewise.
7962         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
7963         have to worry about portability issues when shifting it left.
7964         Remove no-longer-needed test for table_size > 0.
7965         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
7966         in a word, as the resulting behavior is undefined.
7967         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
7968         in one case, a <= should have been an <, and in another case the
7969         whole test was missing.
7970         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
7971         the standard name CHAR_BIT.
7972         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
7973         this is not true on one's complement and signed-magnitude hosts.
7974
7975         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
7976         next_last_offset.
7977         (struct re_dfa_t): Remove unused member states_alloc.
7978         * lib/regcomp.c (init_dfa): Don't initialize unused members.
7979
7980 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
7981
7982         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
7983         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
7984         and large-file glibc and in 32-bit large-file Solaris.
7985
7986 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
7987
7988         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
7989         lengths fit in regoff_t; this isn't true if regoff_t is the same
7990         width as size_t.
7991         * lib/regex.c (re_search_internal): 5th arg is LAST_START
7992         (= START + RANGE) instead of RANGE.  This avoids overflow
7993         problems when regoff_t is the same width as size_t.
7994         All callers changed.
7995         (re_search_2_stub): Check for overflow when adding the
7996         sizes of the two strings.
7997         (re_search_stub): Check for overflow when adding START
7998         to RANGE; if it occurs, substitute the extreme value.
7999
8000 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
8001
8002         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
8003
8004 2005-08-31  Jim Meyering  <jim@meyering.net>
8005
8006         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
8007         a pointer-to-const.
8008         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
8009         (register_state): Likewise.
8010         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
8011         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
8012         (group_nodes_into_DFAstates): Likewise.
8013
8014 2005-08-31  Jim Meyering  <jim@meyering.net>
8015
8016         * check-module: Add a FIXME comment.
8017
8018 2005-08-31  Eric Blake  <ebb9@byu.net>
8019
8020         * modules/unistd-safer (Files): Add unistd--.h.
8021         * modules/stdio-safer (Files): Add stdio--.h.
8022
8023 2005-08-31  Derek Price  <derek@ximbiot.com>
8024
8025         * lib/getdelim.c (getdelim): Return EOF on EOF.
8026         Reported by Larry Jones <lawrence.jones@ugs.com>.
8027
8028 2005-08-31  Bruno Haible  <bruno@clisp.org>
8029
8030         Avoid unnecessary diffs in the generated lib/Makefile.am.
8031         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
8032         the generated files.
8033         (func_import): Don't set cmd.
8034
8035 2005-08-31  Bruno Haible  <bruno@clisp.org>
8036
8037         * lib/strstr.c: Include <stddef.h>, for NULL.
8038         * lib/strcasestr.c: Likewise.
8039         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
8040
8041 2005-08-31  Bruno Haible  <bruno@clisp.org>
8042
8043         * gnulib-tool: New option --macro-prefix.
8044         (func_import): Use macro_prefix.
8045         (import): Handle option --macro-prefix.
8046
8047 2005-08-31  Bruno Haible  <bruno@clisp.org>
8048
8049         * gnulib-tool (import): Rename most ac_* variables to cached_*.
8050         Also use new variables cached_lgpl, cached_libtool.
8051
8052 2005-08-31  Bruno Haible  <bruno@clisp.org>
8053
8054         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
8055         always instantiating them.
8056
8057 2005-08-31  Bruno Haible  <bruno@clisp.org>
8058
8059         * gnulib-tool (func_import): Read the previous cached settings
8060         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
8061         earlier added by gnulib but are now dropped. Warn when a gnulib file
8062         overwrites a non-gnulib file.
8063
8064 2005-08-31  Bruno Haible  <bruno@clisp.org>
8065
8066         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
8067         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
8068         projects that don't keep autogenerated files in CVS. Put into
8069         actioncmd only the specified modules, not the transitive closure.
8070
8071 2005-08-31  Bruno Haible  <bruno@clisp.org>
8072
8073         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
8074         Create directories that shall be filled.
8075         (import): Don't look for gl_* macros in configure.ac. Recurse across
8076         all directories containing a gnulib-cache.m4 files, if meaningful.
8077
8078 2005-08-31  Bruno Haible  <bruno@clisp.org>
8079
8080         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
8081         (import): Set seen_libtool when we see gl_LIBTOOL.
8082
8083 2005-08-31  Bruno Haible  <bruno@clisp.org>
8084
8085         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
8086         declaration macro definitions from generated gnulib.m4.
8087
8088 2005-08-30  "Oskar Liljeblad" <oskar@osk.mine.nu>
8089
8090         * lib/iconvme.h: Add prototype for iconv_alloc.
8091
8092 2005-08-29  Simon Josefsson  <jas@extundo.com>
8093
8094         * lib/iconvme.c: Fix errno.
8095
8096 2005-08-29  Bruno Haible  <bruno@clisp.org>
8097
8098         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
8099         that it works when the directory contains spaces.
8100
8101 2005-08-29  Bruno Haible  <bruno@clisp.org>
8102
8103         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
8104
8105 2005-08-29  Bruno Haible  <bruno@clisp.org>
8106
8107         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
8108         Emit more advice.
8109
8110 2005-08-29  Bruno Haible  <bruno@clisp.org>
8111         and Stepan Kasal  <kasal@ucw.cz>
8112
8113         * check-module: If more parameters are given, check each of them
8114         separately; add more exceptions, as noted by Jim Meyering.
8115         (check_module): New procedure.
8116         (%exempt_header): Now contains all exceptions.
8117
8118 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
8119
8120         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
8121
8122 2005-08-29  "Oskar Liljeblad" <oskar@osk.mine.nu>
8123
8124         * lib/iconvme.c: Split iconv_string into iconv_alloc.
8125
8126 2005-08-28  Bruno Haible  <bruno@clisp.org>
8127
8128         * m4/gnulib-tool.m4: New file.
8129
8130 2005-08-27  Jim Meyering  <jim@meyering.net>
8131
8132         * modules/unistd-safer (Files): Add pipe-safer.c.
8133         * modules/fcntl-safer (Files): Add creat-safer.c.
8134
8135 2005-08-27  Jim Meyering  <jim@meyering.net>
8136
8137         * m4/stdlib-safer.m4: New file.  From coreutils.
8138         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
8139         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
8140         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
8141         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
8142         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
8143
8144 2005-08-27  Jim Meyering  <jim@meyering.net>
8145
8146         * lib/fopen-safer.c: Merge minor changes from coreutils.
8147         * lib/dup-safer.c: Likewise.
8148         * lib/fd-safer.c: Likewise.
8149
8150         Merge from coreutils.
8151         * lib/stdio--.h: New file.
8152         * lib/stdlib--.h: New file.
8153         * lib/mkstemp-safer.c: New file.
8154
8155         GNU tar needs these.
8156         * lib/pipe-safer.c: New file.
8157         * lib/creat-safer.c: New file.
8158         * lib/fcntl--.h (creat): Define to creat_safer.
8159         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
8160         * lib/unistd--.h (pipe): Define to pipe_safer.
8161         * lib/unistd-safer.h: Declare pipe_safer.
8162
8163 2005-08-26  Simon Josefsson  <jas@extundo.com>
8164
8165         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
8166         Haible <bruno@clisp.org>.
8167
8168 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
8169
8170         * lib/regex_internal.h: Remove all references to
8171         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
8172         or better.
8173         (bitset_not, bitset_merge, bitset_not_merge):
8174         (bitset_mask, re_string_allocate, re_string_construct):
8175         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
8176         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
8177         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
8178         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
8179         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
8180         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
8181         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
8182         (re_acquire_state_context):
8183         Remove unnecessary forward decls.
8184         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
8185         Put __attribute at function definition,
8186         now that the function decl has been removed.
8187         * lib/regex_internal.c (re_string_peek_byte_case):
8188         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
8189         Likewise.
8190
8191 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
8192
8193         * m4/regex.m4: Add AC_PREREQ(2.50).
8194         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
8195
8196 2005-08-25  Simon Josefsson  <jas@extundo.com>
8197
8198         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
8199         __fsetlocking.
8200
8201 2005-08-25  Simon Josefsson  <jas@extundo.com>
8202
8203         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
8204         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
8205         GLIBC specific code.
8206
8207 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
8208
8209         Make regex safe for g++.  This fixes one real bug (an "err"
8210         that should have been "*err").  g++ problem reported by
8211         Sam Steingold.
8212         * lib/regex_internal.h (re_calloc): New macro, consistent with
8213         re_malloc etc.  All callers of calloc changed to use re_calloc.
8214         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
8215         not int.  All callers changed.
8216         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
8217         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
8218         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
8219         (find_recover_state): Change "err" to "*err"; this fixes what
8220         appears to be a real bug.
8221         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
8222         versus int.
8223
8224 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
8225
8226         * modules/regex (Depends-on): Add malloc, since the code
8227         assumes that !malloc(0) means failure.
8228
8229 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
8230
8231         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
8232
8233         alloca modernization/simplification for regex.
8234         * lib/regex.c: Remove portability cruft for alloca.  This no longer
8235         needs to be at the start of the file, and can be moved into
8236         regex_internal.h and simplified.
8237         * lib/regex_internal.h: Include <alloca.h>.
8238         (__libc_use_alloca) [!defined _LIBC]: New macro.
8239         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
8240         now works outside glibc.
8241
8242 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
8243
8244         * config/srclist.txt: Add glibc bugs 1241, 1245.
8245
8246 2005-08-25  Jim Meyering  <jim@meyering.net>
8247
8248         * lib/open-safer.c: Include <config.h>.
8249         Otherwise, we'd lose LARGEFILE support in any file using
8250         e.g. "fcntl--.h"
8251
8252 2005-08-25  Bruno Haible  <bruno@clisp.org>
8253
8254         * m4/minmax.m4: Require autoconf 2.52.
8255         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
8256         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
8257         alternatives of translit over the alphabet.
8258         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
8259
8260 2005-08-24  Simon Josefsson  <jas@extundo.com>
8261
8262         * tests/test-getpass.c: New file.
8263
8264 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
8265
8266         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
8267         for GNU regex features.
8268
8269 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
8270
8271         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
8272         * lib/regex.h (regerror): Likewise.
8273
8274         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
8275         requires this.  (The code never needed it.)
8276
8277         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
8278         All uses of recently-renamed identifiers changed to use the new,
8279         POSIX-compliant names.  The code will build and run just fine
8280         without these changes, but it's better to eat our own dog food
8281         and use the standard-conforming names.
8282
8283         * lib/regex.h: Fix a multitude of POSIX name space violations.
8284         These changes have an effect only for programs that define
8285         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
8286         do not change anything for programs compiled in the normal way.
8287         Also, there is no effect on the ABI.
8288
8289         (_REGEX_SOURCE): New macro.
8290         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
8291         defined and _GNU_SOURCE is not; this fixes a name space violation.
8292
8293         Rename the following macros to obey POSIX requirements.
8294         The old names are still visible as macros if _REGEX_SOURCE is defined.
8295         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
8296         RE_BACKSLASH_ESCAPE_IN_LISTS.
8297         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
8298         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
8299         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
8300         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
8301         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
8302         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
8303         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
8304         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
8305         (REG_INTERVALS): renamed from RE_INTERVALS.
8306         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
8307         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
8308         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
8309         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
8310         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
8311         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
8312         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
8313         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
8314         RE_UNMATCHED_RIGHT_PAREN_ORD.
8315         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
8316         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
8317         (REG_DEBUG): renamed from RE_DEBUG.
8318         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
8319         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
8320         unusual, since we can't clash with the POSIX REG_ICASE.
8321         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
8322         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
8323         (REG_NO_SUB): renamed from RE_NO_SUB.
8324         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
8325         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
8326         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
8327         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
8328         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
8329         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
8330         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
8331         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
8332         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
8333         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
8334         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
8335         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
8336         RE_SYNTAX_POSIX_MINIMAL_BASIC.
8337         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
8338         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
8339         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
8340         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
8341         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
8342         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
8343         (REG_FIXED): Renamed from REGS_FIXED.
8344         (REG_NREGS): Renamed from RE_NREGS.
8345
8346         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
8347         of other REG_* macros, since POSIX says the user is allowed to
8348         #undef these macros selectively.
8349
8350         (reg_errcode_t): Update comment stating what other tables need
8351         to be consistent.
8352
8353         Rename the following enum values to obey POSIX requirements.
8354         The old names are still visible as macros.
8355         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
8356         is not defined, since GNU is supposed to be a superset of POSIX as
8357         much as possible, and since we want reg_errcode_t to be a signed
8358         type for implementation consistency.
8359         (_REG_NOERROR): Renamed from REG_NOERROR.
8360         (_REG_NOMATCH): Renamed from REG_NOMATCH.
8361         (_REG_BADPAT): Renamed from REG_BADPAT.
8362         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
8363         (_REG_ECTYPE): Renamed from REG_ECTYPE.
8364         (_REG_EESCAPE): Renamed from REG_EESCAPE.
8365         (_REG_ESUBREG): Renamed from REG_ESUBREG.
8366         (_REG_EBRACK): Renamed from REG_EBRACK.
8367         (_REG_EPAREN): Renamed from REG_EPAREN.
8368         (_REG_EBRACE): Renamed from REG_EBRACE.
8369         (_REG_BADBR): Renamed from REG_BADBR.
8370         (_REG_ERANGE): Renamed from REG_ERANGE.
8371         (_REG_ESPACE): Renamed from REG_ESPACE.
8372         (_REG_BADRPT): Renamed from REG_BADRPT.
8373         (_REG_EEND): Renamed from REG_EEND.
8374         (_REG_ESIZE): Renamed from REG_ESIZE.
8375         (_REG_ERPAREN): Renamed from REG_ERPAREN.
8376         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
8377         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
8378         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
8379         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
8380
8381         (_REG_RE_NAME, _REG_RM_NAME): New macros.
8382         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
8383         changed.  But support the old name if the new one is not defined
8384         and if _REGEX_SOURCE.
8385
8386         Change the following member names in struct re_pattern_buffer.
8387         The old names are still supported if !_REGEX_SOURCE.
8388         The new names are always supported, regardless of _REGEX_SOURCE.
8389         (re_buffer): Renamed from buffer.
8390         (re_allocated): Renamed from allocated.
8391         (re_used): Renamed from used.
8392         (re_syntax): Renamed from syntax.
8393         (re_fastmap): Renamed from fastmap.
8394         (re_translate): Renamed from translate.
8395         (re_can_be_null): Renamed from can_be_null.
8396         (re_regs_allocated): Renamed from regs_allocated.
8397         (re_fastmap_accurate): Renamed from fastmap_accurate.
8398         (re_no_sub): Renamed from no_sub.
8399         (re_not_bol): Renamed from not_bol.
8400         (re_not_eol): Renamed from not_eol.
8401         (re_newline_anchor): Renamed from newline_anchor.
8402
8403         Change the following member names in struct re_registers.
8404         The old names are still supported if !_REGEX_SOURCE.
8405         The new names are always supported, regardless of _REGEX_SOURCE.
8406         (rm_num_regs): Renamed from num_regs.
8407         (rm_start): Renamed from start.
8408         (rm_end): Renamed from end.
8409
8410         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
8411         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
8412         Prepend __ to parameter names.
8413
8414         Undo yesterday's changes.
8415
8416 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
8417
8418         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
8419         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
8420         lib/regex.c.
8421
8422 2005-08-24  Jim Meyering  <jim@meyering.net>
8423
8424         Sync from coreutils.
8425         * m4/fcntl-safer.m4: New file.
8426
8427         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
8428         and object files for this module.
8429
8430 2005-08-24  Jim Meyering  <jim@meyering.net>
8431
8432         Sync from coreutils.
8433         * lib/fcntl--.h, fcntl-safer.h, open-safer.c: New files.
8434
8435 2005-08-24  Jim Meyering  <jim@meyering.net>
8436
8437         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
8438         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
8439
8440 2005-08-24  Jim Meyering  <jim@meyering.net>
8441
8442         * modules/fcntl-safer: New module.
8443         * modules/fts (Depends-on): Add fcntl-safer.
8444         * MODULES.html.sh (File descriptor based Input/Output):
8445         Add fcntl-safer.
8446
8447 2005-08-24  Bruno Haible  <bruno@clisp.org>
8448
8449         Support for unit test modules.
8450         * modules/README: Mention tests modules.
8451         * modules/TEMPLATE-TESTS: New file.
8452         * gnulib-tool: New options --extract-tests-module, --with-tests and
8453         --tests-base (unused for the moment).
8454         (testsbase, inctests): New variables.
8455         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
8456         (func_verify_module): Exclude TEMPLATE-TESTS.
8457         (func_verify_nontests_module, func_verify_tests_module): New functions.
8458         (func_get_dependencies): Add implicit dependency for tests modules.
8459         (func_get_tests_module): New function.
8460         (func_modules_transitive_closure): When --with-tests was specified,
8461         include the unit tests as well, unless explicitly avoided.
8462         (func_emit_lib_Makefile_am): Ignore the tests modules here.
8463         (func_emit_tests_Makefile_am): New function.
8464         (func_create_testdir): When --with-tests was specified, emit a
8465         tests/ directory.
8466         * MODULES.html.sh (Future developments): Update.
8467
8468 2005-08-24  Bruno Haible  <bruno@clisp.org>
8469
8470         * modules/tls-tests: New file.
8471         * tests/test-tls.c: New file, from GNU gettext.
8472
8473 2005-08-24  Bruno Haible  <bruno@clisp.org>
8474
8475         * modules/lock-tests: New file.
8476         * tests/test-lock.c: New file, from GNU gettext.
8477
8478 2005-08-24  Bruno Haible  <bruno@clisp.org>
8479
8480         * lib/lock.h: Add multiple inclusion guard.
8481         * lib/tls.h: Add multiple inclusion guard.
8482
8483 2005-08-24  Bruno Haible  <bruno@clisp.org>
8484
8485         * gnulib-tool: Add support for the --aux-dir option to
8486         --create-testdir, --create-megatestdir, --test, --megatest.
8487         (func_create_testdir, func_create_megatestdir): Optionally emit a
8488         AC_CONFIG_AUX_DIR directive.
8489         (create-testdir, create-megatestdir, test, megatest): Provide a
8490         default value for $auxdir.
8491
8492 2005-08-24  Bruno Haible  <bruno@clisp.org>
8493
8494         * gnulib-tool (import): Use compound statement instead of subshell
8495         where possible.
8496
8497 2005-08-24  Bruno Haible  <bruno@clisp.org>
8498
8499         * gnulib-tool (import): Change --aux-dir default to "build-aux".
8500
8501 2005-08-24  Bruno Haible  <bruno@clisp.org>
8502
8503         * gnulib-tool (func_version): Update.
8504
8505 2005-08-24  Bruno Haible  <bruno@clisp.org>
8506
8507         * gnulib-tool (func_import, func_create_testdir,
8508         func_create_megatestdir): Quote all autoconf macro arguments.
8509
8510 2005-08-24  Bruno Haible  <bruno@clisp.org>
8511
8512         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
8513         option --force, because --force causes the aclocal.m4 of each
8514         subdirectory to be newer than the corresponding config.h.in.
8515
8516 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
8517
8518         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
8519         All contents moved to gl_REGEX.
8520         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
8521         assume that it does.
8522
8523 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
8524
8525         * lib/regex.h (REG_NOSYS)
8526         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
8527         Define, since POSIX requires it as of 2001.
8528         (_REG_ENOSYS)
8529         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
8530         New private symbol, used to keep the enum signed in all cases.
8531         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
8532         Youngman in
8533         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
8534
8535         * lib/regex_internal.c (re_string_skip_chars, register_state):
8536         (calc_state_hash):
8537         Remove forward decls; no longer needed now that we use prototypes.
8538         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
8539         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
8540         (clean_state_log_if_needed): Likewise.
8541
8542 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
8543
8544         * config/srclist.txt: Add glibc bugs 1231-1233.
8545
8546 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
8547
8548         Fix problems reported by Sam Steingold in
8549         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
8550         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
8551         assumed that reg_errcode_t is a signed type, which is not
8552         necessarily true if _XOPEN_SOURCE is not defined.
8553         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
8554         since some compilers warn about it otherwise.
8555
8556 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
8557
8558         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
8559         (init_word_char, create_initial_state, duplicate_node_closure):
8560         (fetch_token, peek_token_bracket, build_range_exp):
8561         (build_collating_symbol): Remove forward decls; no longer needed
8562         now that we use prototypes.
8563
8564         * lib/regcomp.c:
8565         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
8566         (re_compile_fastmap_iter, regcomp, regerror, regfree):
8567         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
8568         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
8569         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
8570         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
8571         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
8572         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
8573         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
8574         (build_range_exp, build_collating_symbol, parse_bracket_exp):
8575         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
8576         (build_charclass, build_charclass_op, fetch_number, create_tree):
8577         (create_token_tree, mark_opt_subexp, duplicate_tree):
8578         Use prototypes rather than old-style definitions.
8579
8580         * lib/regex_internal.c:
8581         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
8582         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
8583         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
8584         (re_string_reconstruct, re_string_peek_byte_case):
8585         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
8586         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
8587         (re_node_set_init_copy, re_node_set_add_intersect):
8588         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
8589         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
8590         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
8591         (re_acquire_state, re_acquire_state_context, register_state):
8592         (create_ci_newstate, create_cd_newstate, free_state):
8593         Likewise.
8594         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
8595         re_search_2):
8596         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
8597         (re_search_internal, prune_impossible_nodes):
8598         (acquire_init_state_context, check_matching, static):
8599         (check_halt_node_context, check_halt_state_context, proceed_next_node):
8600         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
8601         (update_regs, sift_states_backward, build_sifted_states):
8602         (clean_state_log_if_needed, merge_state_array):
8603         (update_cur_sifted_state, add_epsilon_src_nodes):
8604         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
8605         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
8606         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
8607         (find_recover_state, check_subexp_matching_top, transit_state_mb):
8608         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
8609         (check_arrival, check_arrival_add_next_nodes):
8610         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
8611         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
8612         (check_node_accept_bytes, check_node_accept, extend_buffers):
8613         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
8614         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
8615         (sift_ctx_init):
8616         Likewise.
8617
8618         * lib/regex_internal.h:
8619         (re_string_allocate, re_string_construct, re_string_reconstruct):
8620         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
8621         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
8622         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
8623         (re_string_context_at, re_string_peek_byte_case):
8624         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
8625         is defined, since we now use prototypes always.
8626
8627         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
8628         C89 or better.  All uses removed.
8629
8630 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
8631
8632         * config/srclist.txt: Add glibc bugs 1220-1227.
8633
8634 2005-08-20  Jim Meyering  <jim@meyering.net>
8635
8636         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
8637         of unused local, dfa.
8638
8639 2005-08-20  Bruno Haible  <bruno@clisp.org>
8640
8641         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
8642
8643 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
8644
8645         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
8646         (re_node_set_insert_last, re_dfa_add_node):
8647         Rename local variables to avoid GCC shadowing warnings.
8648
8649 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
8650
8651         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
8652         [defined lint]: Suppress bogus uninitialized-variable warnings.
8653
8654         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
8655         and let the caller return REG_ESPACE if out of space.  This
8656         removes an uninitialied-variable warning with GCC 4.0.1, and also
8657         avoids taking the address of a local variable.  All callers
8658         changed.
8659
8660 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
8661
8662         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
8663         $LIBCSRC/posix/regexec.c.
8664         Add glibc bug 1217 for regcomp.c.
8665
8666 2005-08-19  Jim Meyering  <jim@meyering.net>
8667
8668         * lib/regexec.c (proceed_next_node): Redo local variables to
8669         avoid GCC shadowing warnings.
8670
8671 2005-08-18  Bruno Haible  <bruno@clisp.org>
8672
8673         * lib/strstr.c (strstr): Fix return value in multibyte case.
8674         * lib/strcasestr.c (strcasestr): Likewise.
8675
8676 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
8677
8678         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
8679
8680 2005-08-17  Jim Meyering  <jim@meyering.net>
8681
8682         Make the %s format (seconds since the epoch) work for a negative
8683         number and when used with a zero-padded field width, e.g. %015s.
8684
8685         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
8686         label so that it precedes the code to set `digits'.  Otherwise,
8687         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
8688         print `00-22'.  Now, it prints `-0022', as it should.
8689
8690 2005-08-17  Bruno Haible  <bruno@clisp.org>
8691
8692         * modules/strstr (Files): Add m4/mbrtowc.m4.
8693         (Depends-on): Add mbuiter.
8694
8695 2005-08-17  Bruno Haible  <bruno@clisp.org>
8696
8697         * modules/strcasestr: New file.
8698         * MODULES.html.sh (String handling, based on ANSI C 89): Add
8699         strcasestr.
8700
8701 2005-08-17  Bruno Haible  <bruno@clisp.org>
8702
8703         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
8704
8705 2005-08-17  Bruno Haible  <bruno@clisp.org>
8706
8707         * modules/mbuiter: New file.
8708         * MODULES.html.sh (Extended multibyte and wide character utilities):
8709         Add mbuiter.
8710
8711 2005-08-17  Bruno Haible  <bruno@clisp.org>
8712
8713         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
8714         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
8715
8716 2005-08-17  Bruno Haible  <bruno@clisp.org>
8717
8718         * m4/strcasestr.m4: New file.
8719
8720 2005-08-17  Bruno Haible  <bruno@clisp.org>
8721
8722         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
8723         * lib/strstr.c: Completely rewritten, with multibyte locale support.
8724
8725 2005-08-17  Bruno Haible  <bruno@clisp.org>
8726
8727         * lib/strcasestr.h: New file.
8728         * lib/strcasestr.c: New file.
8729
8730 2005-08-17  Bruno Haible  <bruno@clisp.org>
8731
8732         * lib/strcasecmp.c: Use mbuiter.h.
8733
8734 2005-08-17  Bruno Haible  <bruno@clisp.org>
8735
8736         * lib/mbuiter.h: New file.
8737
8738 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
8739
8740         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
8741         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
8742         and gl_GETOPT are both invoked via different paths (as happens
8743         with GNU tar CVS because it uses both argp and getopt), the former
8744         wins.
8745
8746 2005-08-16  Bruno Haible  <bruno@clisp.org>
8747
8748         * modules/tls: New file.
8749         * MODULES.html.sh (Multithreading): Add tls.
8750
8751 2005-08-16  Bruno Haible  <bruno@clisp.org>
8752
8753         * modules/strnlen1: New file.
8754         * MODULES.html.sh (String handling): Add strnlen1.
8755
8756 2005-08-16  Bruno Haible  <bruno@clisp.org>
8757
8758         * modules/strcase (Files): Add m4/mbrtowc.m4.
8759         (Depends-on): Add strnlen1, mbchar.
8760
8761 2005-08-16  Bruno Haible  <bruno@clisp.org>
8762
8763         * modules/mbiter: New file.
8764         * MODULES.html.sh (Extended multibyte and wide character utilities):
8765         Add mbiter.
8766
8767 2005-08-16  Bruno Haible  <bruno@clisp.org>
8768
8769         * modules/mbfile: New file.
8770         * MODULES.html.sh (Extended multibyte and wide character utilities):
8771         Add mbfile.
8772
8773 2005-08-16  Bruno Haible  <bruno@clisp.org>
8774
8775         * modules/mbchar: New file.
8776         * MODULES.html.sh (Extended multibyte and wide character utilities):
8777         New section.
8778
8779 2005-08-16  Bruno Haible  <bruno@clisp.org>
8780
8781         * m4/tls.m4: New file, from GNU gettext.
8782
8783 2005-08-16  Bruno Haible  <bruno@clisp.org>
8784
8785         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
8786         always.
8787         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
8788
8789 2005-08-16  Bruno Haible  <bruno@clisp.org>
8790
8791         * m4/mbiter.m4: New file.
8792
8793 2005-08-16  Bruno Haible  <bruno@clisp.org>
8794
8795         * m4/mbfile.m4: New file.
8796
8797 2005-08-16  Bruno Haible  <bruno@clisp.org>
8798
8799         * m4/mbchar.m4: New file.
8800
8801 2005-08-16  Bruno Haible  <bruno@clisp.org>
8802
8803         * lib/tls.h: New file, from GNU gettext.
8804         * lib/tls.c: New file, from GNU gettext.
8805
8806 2005-08-16  Bruno Haible  <bruno@clisp.org>
8807
8808         * lib/strnlen1.h: New file.
8809         * lib/strnlen1.c: New file.
8810
8811 2005-08-16  Bruno Haible  <bruno@clisp.org>
8812
8813         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
8814         (mbi_init): Update.
8815         (mbi_avail, mbi_advance): Let the iteration end before the terminating
8816         NUL byte, not after it.
8817
8818 2005-08-16  Bruno Haible  <bruno@clisp.org>
8819
8820         * lib/strcase.h (strcasecmp): Add note in comments.
8821         * lib/strncasecmp.c: Use code from strcasecmp.c.
8822         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
8823         (strcasecmp): Work correctly in multibyte locales.
8824
8825 2005-08-16  Bruno Haible  <bruno@clisp.org>
8826
8827         * lib/mbiter.h: New file.
8828
8829 2005-08-16  Bruno Haible  <bruno@clisp.org>
8830
8831         * lib/mbfile.h: New file.
8832
8833 2005-08-16  Bruno Haible  <bruno@clisp.org>
8834
8835         * lib/mbchar.h: New file.
8836         * lib/mbchar.c: New file.
8837
8838 2005-08-16  Bruno Haible  <bruno@clisp.org>
8839
8840         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
8841         the valid ones. Makes the comparison operations transitive:
8842         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
8843         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
8844
8845 2005-08-15  Simon Josefsson  <jas@extundo.com>
8846
8847         * modules/ssize_t (License): Change to 'unlimited'.
8848
8849         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
8850
8851 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
8852
8853         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
8854         Add comments for each pending glibc patch.
8855
8856 2005-08-15  Bruno Haible  <bruno@clisp.org>
8857
8858         * lib/regex.h (__restrict_arr): Don't define to __restrict if
8859         __cplusplus is defined.
8860
8861 2005-08-14  Jim Meyering  <jim@meyering.net>
8862
8863         Sync from coreutils.
8864
8865         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
8866         Use the hash-table-based cycle-detection code not just when
8867         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
8868         Reported by James Youngman in
8869         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
8870         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
8871         FTS_TIGHT_CYCLE_CHECK.
8872         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
8873         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
8874         once again.
8875         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
8876         * lib/fts.c (fd_safer): Remove decl.
8877         Include fcntl--.h rather than unistd-safer.h
8878         (fts_safe_changedir): Don't call fd_safer; no longer needed
8879         now that we include fcntl--.h.
8880
8881 2005-08-12  Simon Josefsson  <jas@extundo.com>
8882
8883         * modules/getndelim2: Use ssize_t module.
8884         * modules/getnline: Likewise.
8885         * modules/safe-read: Likewise.
8886         * modules/xreadlink: Likewise.
8887
8888         * modules/ssize_t: New file.
8889
8890 2005-08-12  Simon Josefsson  <jas@extundo.com>
8891
8892         * m4/readline.m4: Look for termcap, curses or ncurses if required.
8893
8894 2005-08-12  Simon Josefsson  <jas@extundo.com>
8895
8896         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
8897         ssize_t.
8898
8899 2005-08-12  Simon Josefsson  <jas@extundo.com>
8900
8901         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
8902         readline, getdelim and check_version.
8903         (Support for systems lacking ISO C 99: Sizes of integer types):
8904         Add size_max.
8905
8906 2005-08-12  Bruno Haible  <bruno@clisp.org>
8907
8908         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
8909
8910 2005-08-11  Simon Josefsson  <jas@extundo.com>
8911
8912         * modules/readline: New file.
8913
8914         * modules/strnlen (Files): Add strnlen.h.
8915
8916 2005-08-11  Simon Josefsson  <jas@extundo.com>
8917
8918         * m4/readline.m4: New file.
8919
8920 2005-08-11  Simon Josefsson  <jas@extundo.com>
8921
8922         * lib/readline.h, readline.c: New file.
8923
8924 2005-08-11  Simon Josefsson  <jas@extundo.com>
8925
8926         * doc/gnulib.texi (Initial import, Finishing touches): Mention
8927         gl_AVOID.
8928
8929 2005-08-11  Bruno Haible  <bruno@clisp.org>
8930
8931         * lib/strnlen.h (strnlen): Change parameter name to match comment.
8932
8933 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
8934
8935         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
8936
8937 2005-08-10  Simon Josefsson  <jas@extundo.com>
8938
8939         * tests/test-iconvme.c: New file.
8940
8941 2005-08-10  Simon Josefsson  <jas@extundo.com>
8942
8943         * m4/strnlen.m4: New file.
8944
8945         * m4/strndup.m4: Don't check for strnlen declaration, done in
8946         strnlen.m4.
8947
8948 2005-08-10  Simon Josefsson  <jas@extundo.com>
8949
8950         * lib/strndup.c: Use strnlen.h.
8951
8952         * lib/strnlen.h: New file.
8953
8954 2005-08-08  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>  (tiny change)
8955
8956         * README: Typos.
8957
8958 2005-08-02  Simon Josefsson  <jas@extundo.com>
8959
8960         * modules/readline: New file.
8961
8962 2005-08-02  Simon Josefsson  <jas@extundo.com>
8963
8964         * modules/getdelim: New file.
8965
8966         * modules/getline: Rewrite, don't use getndelim2.
8967
8968 2005-08-02  Simon Josefsson  <jas@extundo.com>
8969
8970         * m4/getline.m4: Separate out getdelim stuff into separate module.
8971
8972         * m4/getdelim.m4: New file.
8973
8974 2005-08-02  Simon Josefsson  <jas@extundo.com>
8975
8976         * lib/getline.h, getline.c: Rewrite.
8977
8978         * lib/getdelim.h, getdelim.c: New files, ported from glibc.
8979
8980 2005-07-31  Bruno Haible  <bruno@clisp.org>
8981
8982         * lib/lock.h (gl_lock_initializer): New macro.
8983         (gl_lock_define_initialized): Use it.
8984         (gl_rwlock_initializer): New macro.
8985         (gl_rwlock_define_initialized): Use it.
8986         (gl_recursive_lock_initializer): New macro.
8987         (gl_recursive_lock_define_initialized): Use it.
8988
8989 2005-07-30  Karl Berry  <karl@gnu.org>
8990
8991         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
8992         Report from Ben Pfaff, regarding getopt.
8993
8994 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
8995
8996         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
8997         normal way.
8998         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
8999         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
9000         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
9001         (gl_GETOPT): Use the new macros.  Most of the implementation
9002         is moved to the new macros.  This is for programs like Emacs
9003         that don't want all the functionality of gl_GETOPT.
9004
9005 2005-07-26  Bruno Haible  <bruno@clisp.org>
9006
9007         * m4/lock.m4: Update from GNU gettext.
9008
9009 2005-07-26  Bruno Haible  <bruno@clisp.org>
9010
9011         * lib/lock.h: Update from GNU gettext.
9012         * lib/lock.c: Update from GNU gettext.
9013
9014 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
9015
9016         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
9017         obsolescent AC_TRY_RUN.  Include the default includes files, for
9018         'exit'.
9019
9020 2005-07-24  Bruno Haible  <bruno@clisp.org>
9021
9022         * modules/visibility: New file.
9023         * MODULES.html.sh (Misc): Add visibility.
9024
9025 2005-07-24  Bruno Haible  <bruno@clisp.org>
9026
9027         * m4/visibility.m4: New file.
9028
9029 2005-07-24  Bruno Haible  <bruno@clisp.org>
9030
9031         * doc/visibility.texi: New file.
9032
9033 2005-07-22  Bruno Haible  <bruno@clisp.org>
9034
9035         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
9036         $(ALLOCA_H), redundant through BUILT_SOURCES.
9037         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
9038         redundant through BUILT_SOURCES.
9039         * modules/byteswap (Makefile.am): Remove explicit dependency on
9040         $(BYTESWAP_H), redundant through BUILT_SOURCES.
9041         * modules/fnmatch (Makefile.am): Remove explicit dependency on
9042         $(FNMATCH_H), redundant through BUILT_SOURCES.
9043         * modules/getopt (Makefile.am): Remove explicit dependency on
9044         $(GETOPT_H), redundant through BUILT_SOURCES.
9045         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
9046         redundant through BUILT_SOURCES.
9047         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
9048         redundant through BUILT_SOURCES.
9049         * modules/stdbool (Makefile.am): Remove explicit dependency on
9050         $(STDBOOL_H), redundant through BUILT_SOURCES.
9051         * modules/stdint (Makefile.am): Remove explicit dependency on
9052         $(STDINT_H), redundant through BUILT_SOURCES.
9053         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
9054         Remove explicit dependency on $(SYSEXITS_H).
9055         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
9056
9057 2005-07-18  Simon Josefsson  <jas@extundo.com>
9058
9059         * lib/check-version.c (check_version): Accept identical versions too.
9060
9061 2005-07-18  Bruno Haible  <bruno@clisp.org>
9062
9063         * modules/lock: New file.
9064         * MODULES.html.sh (Multithreading): New section.
9065
9066 2005-07-18  Bruno Haible  <bruno@clisp.org>
9067
9068         * m4/lock.m4: New file, from GNU gettext.
9069
9070 2005-07-18  Bruno Haible  <bruno@clisp.org>
9071
9072         * lib/lock.h: New file, from GNU gettext.
9073         * lib/lock.c: New file, from GNU gettext.
9074
9075 2005-07-18  Bruno Haible  <bruno@clisp.org>
9076
9077         * lib/lock.h (gl_once_t): New type.
9078         (gl_once_define, gl_once): New macros.
9079         * lib/lock.c (fresh_once): New variable.
9080         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
9081         functions.
9082
9083 2005-07-16  Simon Josefsson  <jas@extundo.com>
9084
9085         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
9086         workaround, suggested by Bruno.
9087
9088 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
9089
9090         * modules/xalloc (Depends-on): Add xalloc-die.
9091         * modules/xvasprintf (Depends-on): Add xalloc-die.
9092
9093 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
9094
9095         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
9096         with a minor change.
9097
9098 2005-07-15  Bruno Haible  <bruno@clisp.org>
9099
9100         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
9101         When using lib/poll.c, define poll as rpl_poll.
9102
9103 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
9104
9105         * modules/argp (Depends-on): Remove unlocked-io.
9106
9107 2005-07-14  Derek Price  <derek@ximbiot.com>
9108
9109         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
9110         for glob symlink bug.
9111
9112 2005-07-14  Bruno Haible  <bruno@clisp.org>
9113
9114         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
9115         Instead, test for *_unlocked function declarations directly.
9116
9117 2005-07-11  Simon Josefsson  <jas@extundo.com>
9118
9119         * modules/size_max: New file.
9120
9121         * modules/xsize: Depend on size_max module for size_max.m4.
9122
9123 2005-07-11  Simon Josefsson  <jas@extundo.com>
9124
9125         * lib/size_max.h: New file.
9126
9127 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
9128
9129         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
9130         copyright symbol and the year.
9131         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
9132         (version_etc_va): Use parameterized copyright notice.
9133         Reword to conform to the current GNU coding standards.
9134
9135 2005-07-11  Karl Berry  <karl@gnu.org>
9136
9137         * doc/gnulib.texi (Quoting): new node.
9138         (Initial import): more info, from Patrice.
9139
9140 2005-07-11  Bruno Haible  <bruno@clisp.org>
9141
9142         * gnulib-tool (func_usage): Document option --avoid.
9143         (Command line options): Handle --avoid.
9144         (func_acceptable): New function.
9145         (func_modules_transitive_closure): Use it.
9146
9147 2005-07-11  Bruno Haible  <bruno@clisp.org>
9148
9149         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
9150         Reported by Jim Meyering.
9151
9152 2005-07-10  Bruno Haible  <bruno@clisp.org>
9153
9154         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
9155         Needed when size_t is smaller than 'unsigned int'.
9156         Reported by Paul Eggert.
9157
9158 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
9159
9160         * modules/argp (Depends-on): Add unlocked-io
9161
9162 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
9163
9164         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
9165         block of defines.
9166
9167 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
9168
9169         * config/srclist.txt: Comment out regcomp.c, since we have a porting
9170         fix now.
9171
9172 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
9173        and  Paul Eggert  <eggert@cs.ucla.edu>
9174
9175         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
9176         in wint_t, not wchar_t.  Remove now-unnecessary cast.
9177
9178 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
9179
9180         * modules/regex (Files): Add lib/regex_internal.c,
9181         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
9182         (Depends-on): Add extensions.
9183         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
9184
9185 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
9186
9187         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
9188         pathconf.
9189         * m4/same.m4 (gl_SAME): Likewise.
9190         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
9191
9192         * m4/regex.m4: Adjust to new libc regex implementation.
9193         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
9194         all the .c and .h parts of (the new) regex.
9195         Quote the m4 stuff better.
9196         Check for RE_ICASE bug of old gnulib.
9197         Check for REG_STARTEND of recent libc.
9198         Rename local variables from jm_* to gl_*.
9199         Quote operand of "test -f".
9200         Say "recent enough" version of libc, not "version 2".
9201         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
9202         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
9203         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
9204         Remove check for btowc, isascii.
9205         Require AM_LANGINFO_CODESET.
9206
9207 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
9208
9209         * lib/regex.c, regex.h: Sync from libc.
9210         * lib/regcomp.c, regexec_internal.c, regex_internal.h, regexec.c:
9211         New files, synced from libc, except that regex_internal.h
9212         currently has a small porting fix.
9213
9214 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
9215
9216         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
9217         regex_internal.c, regexec.c.
9218         Add regex_internal.h too, but as a comment, since the libc version
9219         is currently broken in gnulib mode.
9220
9221 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
9222
9223         Support programs like Emacs that use gnulib but not gettext.
9224         * MODULES.html.sh (Internationalization functions): Add gettext-h.
9225         * modules/gettext-h: New file.
9226         * modules/gettext (Files): Remove lib/gettext.h.
9227         (Depends-on): Add gettext-h.
9228         (Makefile.am): Remove lib_SOURCES.
9229         * modules/argmatch, modules/c-stack, modules/closeout:
9230         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
9231         * modules/execute, modules/file-type, modules/getaddrinfo:
9232         * modules/getopt, modules/human, modules/javacomp:
9233         * modules/javaexec, modules/mkdir-p, modules/obstack:
9234         * modules/openat, modules/pagealign_alloc, modules/pipe:
9235         * modules/quotearg, modules/regex, modules/rpmatch:
9236         * modules/unicodeio, modules/userspec, modules/version-etc:
9237         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
9238         * modules/xsetenv:
9239         Depend on gettext-h, not gettext.
9240
9241 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
9242
9243         * gnulib-tool (func_import): Add support for 'public domain' license.
9244         * modules/alloca, modules/atexit, modules/memmove:
9245         Now public domain, not GPL.
9246         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
9247         * modules/realloc, modules/strerror, modules/strtod:
9248         Now LGPL, not GPL.
9249
9250 2005-07-05  Bruno Haible  <bruno@clisp.org>
9251
9252         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
9253         autoconf CVS. Needed for mingw.
9254
9255 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
9256
9257         Remove the dependency of the strftime module on the tzset module.
9258         * modules/strftime (Depends-on): Remove dependency on tzset.
9259
9260 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
9261
9262         Remove the dependency of the strftime module on the tzset module.
9263         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
9264         gl_FUNC_TZSET_CLOBBER.
9265
9266 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
9267
9268         Remove the dependency of the strftime module on the tzset module.
9269         * lib/strftime.c (my_strftime)
9270         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
9271         Copy the input structure, to work around some of the bug with
9272         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
9273         Solaris releases, you should also use the tzset module, but we won't
9274         require it as a dependency any more since we don't want LGPLed code
9275         to depend on GPLed code.
9276
9277 2005-07-02  Jim Meyering  <jim@meyering.net>
9278
9279         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
9280         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
9281         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
9282         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
9283
9284 2005-07-02  Jim Meyering  <jim@meyering.net>
9285
9286         * lib/backupfile.c (backup_args): Change a `0' to NULL.
9287
9288 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
9289
9290         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
9291         declares only 'struct timespec;' (!).
9292
9293 2005-07-01  Jim Meyering  <jim@meyering.net>
9294
9295         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
9296         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
9297         * lib/save-cwd.c, tempname.c:
9298         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
9299         and don't include <sys/file.h>).
9300
9301 2005-06-29  Jim Meyering  <jim@meyering.net>
9302
9303         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
9304         type name.  Use the variable name instead.
9305         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
9306         Likewise.
9307
9308 2005-06-28  Simon Josefsson  <jas@extundo.com>
9309
9310         * modules/check-version (Files): Add check-version.m4.
9311
9312 2005-06-28  Simon Josefsson  <jas@extundo.com>
9313
9314         * m4/check-version.m4: New file, suggested by Jim Meyering
9315         <jim@meyering.net>.
9316
9317 2005-06-28  Simon Josefsson  <jas@extundo.com>
9318
9319         * lib/check-version.h, check-version.c: New files.
9320
9321 2005-06-28  Simon Josefsson  <jas@extundo.com>
9322
9323         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
9324         collision with global variable.  Better indentation.  Don't
9325         increment buffer pointer beyond buffer end.  Based on comments
9326         from Paul Eggert <eggert@cs.ucla.edu>.
9327
9328         * lib/base64.h: Indent.
9329
9330 2005-06-28  Simon Josefsson  <jas@extundo.com>
9331
9332         * doc/gnulib.texi (Library version handling): New section.
9333
9334 2005-06-28  Jim Meyering  <jim@meyering.net>
9335
9336         * check-module (find_included_lib_files): Hard-code another
9337         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
9338         but modules/fts-lgpl (correctly) does not list those files.
9339
9340         * modules/canonicalize (Files): Add lib/pathmax.h.
9341
9342 2005-06-25  Simon Josefsson  <jas@extundo.com>
9343
9344         * modules/check-version: New file.
9345
9346 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
9347
9348         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
9349         initializer of struct addrinfo, as an indication that we don't
9350         care how many members the structure has.
9351
9352 2005-06-24  Derek Price  <derek@ximbiot.com>
9353         and Bruno Haible  <bruno@clisp.org>
9354
9355         Remove stat module & update lstat.
9356         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
9357         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
9358         * m4/stat.m4: Remove this file.
9359
9360 2005-06-24  Derek Price  <derek@ximbiot.com>
9361         and Bruno Haible  <bruno@clisp.org>
9362
9363         Remove stat module & update lstat.
9364         * lib/stat.c: Remove this file...
9365         (slash_aware_lstat): ...moving this content and its support...
9366         * lib/lstat.c (rpl_lstat): ...into here.
9367         * lib/lstat.h: New file.
9368
9369 2005-06-24  Derek Price  <derek@ximbiot.com>
9370         and Bruno Haible  <bruno@clisp.org>
9371
9372         Remove stat module & update lstat.
9373         * config/srclist.txt (libc sources): Remove stat.
9374
9375 2005-06-24  Derek Price  <derek@ximbiot.com>
9376         and Bruno Haible  <bruno@clisp.org>
9377
9378         Remove stat module & update lstat.
9379         * MODULES.html.sh (stat): Remove.
9380         * MODULES.html: Regenerated.
9381         * modules/lstat (Description): Correct function name.
9382         (Files): Add "lstat.h".
9383         (Depends-on): Remove stat, add xalloc, stat-macros.
9384         * modules/stat: Remove this file.
9385         (Include): Add "lstat.h", remove <sys/stat.h>.
9386
9387 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
9388
9389         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
9390         (ranged_convert): Don't save conversion in a temporary struct.
9391         This causes a warning with GCC 4.0.0, and anyway in the typical
9392         case it's not worth the extra 100 bytes or so of code.
9393         (ranged_convert, __mktime_internal): When calling a function via a
9394         pointer P, use P () rather than (*P) (), as we now assume C89 or
9395         better.
9396
9397 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
9398
9399         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
9400         "who -r" failed to give output.  Problem reported by Tim Waugh.
9401
9402         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
9403         (xcalloc): Use it to avoid needless tests.
9404         Problem reported by Jim Meyering.
9405
9406 2005-06-20  Derek Price  <derek@ximbiot.com>
9407
9408         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
9409         unnecessary for Autoconfs > 2.59c.
9410
9411 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
9412
9413         * lib/argp.h (__option_is_short): Check upper limit of
9414         __key. Isprint() requires its argument to have the value
9415         of an unsigned char or EOF.
9416
9417 2005-06-16  Jim Meyering  <jim@meyering.net>
9418
9419         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
9420         when either N or S is zero.
9421
9422 2005-06-16  Derek Price  <derek@ximbiot.com>
9423
9424         * m4/bison.m4: Declare YACC & YFLAGS precious.
9425
9426 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
9427
9428         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
9429         multibyte string or pattern, fall back on unibyte matching.
9430         Problem reported by James Youngman.
9431
9432 2005-06-08  Bruno Haible  <bruno@clisp.org>
9433
9434         * modules/csharpcomp: New file.
9435         * MODULES.html.sh (C#): Add csharpcomp.
9436
9437 2005-06-08  Bruno Haible  <bruno@clisp.org>
9438
9439         * m4/csharpcomp.m4: New file, from GNU gettext.
9440
9441 2005-06-08  Bruno Haible  <bruno@clisp.org>
9442
9443         * lib/csharpcomp.h: New file, from GNU gettext.
9444         * lib/csharpcomp.c: New file, from GNU gettext.
9445         * lib/csharpcomp.sh.in: New file, from GNU gettext.
9446
9447 2005-06-08  Bruno Haible  <bruno@clisp.org>
9448
9449         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
9450         warning on mingw.
9451
9452 2005-06-07  Derek Price  <derek@ximbiot.com>
9453
9454         Sync from CVS.
9455         * lib/glob_.h: Indent nested #ifdef.
9456
9457 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
9458
9459         Sync from coreutils.
9460         Use "file name" when talking about file names, instead of "filename"
9461         or "path", as per the GNU coding standards.
9462         * lib/mkdir-p.c: Renamed from makepath.c.
9463         (make_dir_parents): Renamed from make_path.  All callers changed.
9464         * lib/mkdir-p.h: Likewise.  All includers changed.
9465         * lib/filenamecat.c: Renamed from path-concat.c.
9466         (file_name_concat): Renamed from path_concat.  All callers changed.
9467         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
9468         * lib/filenamecat.h: Likewise.  All includers changed.
9469         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
9470         in comments or local variable names.
9471         * lib/basename.c: Likewise.
9472         * lib/canonicalize.c, canonicalize.h: Likewise.
9473         * lib/dirname.c, dirname.h: Likewise.
9474         * lib/euidaccess.c: Likewise.
9475         * lib/exclude.c: Likewise
9476         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
9477         * lib/fsusage.c, fsuage.h: Likewise.
9478         * lib/fts.c, fts_.h: Likewise.
9479         * lib/getcwd.c: Likewise.
9480         * lib/getloadavg.c: Likewise.
9481         * lib/mkstemp.c: Likewise.
9482         * lib/mountlist.c, mountlist.h: Likewise.
9483         * lib/openat.c, openat.h: Likewise.
9484         * lib/readlink-stub.c: Likewise.
9485         * lib/readutmp.c, readutmp.h: Likewise.
9486         * lib/rename.c: Likewise.
9487         * lib/rmdir.c: Likewise.
9488         * lib/same.c: Likewise.
9489         * lib/savedir.c: Likewise.
9490         * lib/stripslash.c: Likewise.
9491         * lib/tempname.c: Likewise.
9492         * lib/xreadlink.c: Likewise.
9493         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
9494         All uses changed.
9495         * lib/exclude.h: Likewise.
9496
9497         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
9498         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
9499         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
9500         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
9501         * lib/pathmax.h: Include <limits.h> unconditionally, since other
9502         files have been getting away with it for years (MORE/BSD 4.3
9503         is extinct now).
9504         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
9505         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
9506
9507         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
9508         Define to 256, not 255, as per modern POSIX.
9509
9510 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
9511
9512         Sync from coreutils.
9513         Use "file name" when talking about file names, instead of "filename"
9514         or "path", as per the GNU coding standards.
9515         * MODULES.html.sh: mkdir-p renamed from makepath.
9516         filenamecat renamed from path-concat.
9517         * modules/filenamecat: Renamed from modules/path-concat.
9518         (Files): filenamecat.h and filenamecat.c renamed from
9519         path-concat.h and path-concat.c.
9520         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
9521         (Include): filenamecat.h, not path-concat.h.
9522         * modules/mkdir-p: Renamed from modules/makepath.
9523         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
9524         makepath.c.
9525         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
9526         (Include): mkdir-p.h, not makepath.h.
9527
9528 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
9529
9530         Sync from coreutils.
9531         * m4/mkdir-p.m4: Renamed from makepath.m4.
9532         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
9533         Rename files from makepath.c to mkdir-p.c, and from
9534         makepath.h to mkdir-p.h.
9535         * m4/filenamecat.m4: Renamed from path-concat.m4.
9536         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
9537         Rename files from path-concat.c to filenamecat.c,
9538         and from path-concat.h to filenamecat.h.
9539         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
9540         "file name" in local variables or comments.
9541         * m4/rename.m4: Likewise.
9542
9543 2005-06-01  Bruno Haible  <bruno@clisp.org>
9544
9545         * modules/csharpexec: New file.
9546         * MODULES.html.sh (C#): New section.
9547
9548 2005-06-01  Bruno Haible  <bruno@clisp.org>
9549
9550         * m4/csharp.m4: New file, from GNU gettext.
9551         * m4/csharpexec.m4: New file, from GNU gettext.
9552
9553 2005-06-01  Bruno Haible  <bruno@clisp.org>
9554
9555         * lib/csharpexec.h: New file, from GNU gettext.
9556         * lib/csharpexec.c: New file, from GNU gettext.
9557         * lib/csharpexec.sh.in: New file, from GNU gettext.
9558
9559 2005-05-31  Derek Price  <derek@ximbiot.com>
9560             Paul Eggert  <eggert@cs.ucla.edu>
9561
9562         Sync from cvs.
9563         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
9564
9565 2005-05-31  Derek Price  <derek@ximbiot.com>
9566             Paul Eggert  <eggert@cs.ucla.edu>
9567
9568         Sync from cvs.
9569         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
9570
9571 2005-05-29  Derek Price  <derek@ximbiot.com>
9572
9573         * config/srclist.txt (glob_.h, glob.c): Add these files.
9574
9575 2005-05-29  Derek Price  <derek@ximbiot.com>
9576
9577         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
9578         * modules/glob: New file.
9579         * modules/getlogin_r: Add link to POSIX spec in description.
9580
9581 2005-05-29  Derek Price  <derek@ximbiot.com>
9582             Paul Eggert  <eggert@cs.ucla.edu>
9583
9584         * m4/glob.m4: New file.
9585
9586 2005-05-29  Derek Price  <derek@ximbiot.com>
9587             Paul Eggert  <eggert@cs.ucla.edu>
9588
9589         * lib/glob_.h, glob.c: New files.
9590
9591 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
9592
9593         * modules/fts (Files): Remove m4/inttypes-pri.m4.
9594         * modules/fts-lgpl (Depends-on): Remove gettext.
9595
9596 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
9597
9598         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
9599         and don't require gt_INTTYPES_PRI.
9600
9601 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
9602
9603         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
9604
9605         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
9606         the configuration hassle isn't worth it.
9607         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
9608         (LONGEST_MODIFIER, PRIuMAX): Remove.
9609
9610 2005-05-27  Bruno Haible  <bruno@clisp.org>
9611
9612         * lib/getlogin_r.h: Remove second include of <stddef.h>.
9613
9614 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
9615
9616         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
9617         _POSIX_PTHREAD_SEMANTICS for Solaris.
9618
9619 2005-05-25  Derek Price  <derek@ximbiot.com>
9620
9621         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
9622
9623 2005-05-25  Derek Price  <derek@ximbiot.com>
9624             Paul Eggert  <eggert@cs.ucla.edu>
9625
9626         * modules/getlogin_r: New files.
9627
9628 2005-05-25  Derek Price  <derek@ximbiot.com>
9629             Paul Eggert  <eggert@cs.ucla.edu>
9630
9631         * m4/getlogin_r.m4: New files.
9632
9633 2005-05-25  Derek Price  <derek@ximbiot.com>
9634             Paul Eggert  <eggert@cs.ucla.edu>
9635
9636         * lib/getlogin_r.c, getlogin_r.h: New files.
9637
9638 2005-05-25  Bruno Haible  <bruno@clisp.org>
9639             Derek Price  <derek@ximbiot.com>
9640
9641         * lib/getlogin_r.h: Simplify API documentation.
9642
9643 2005-05-23  Derek Price  <derek@ximbiot.com>
9644
9645         * modules/minmax (Files): Add m4/minmax.m4.
9646         (configure.ac): Add gl_MINMAX.
9647
9648 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
9649
9650         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
9651         so that unistd-safer.h (GPL'ed code) need not be included.
9652
9653 2005-05-22  Bruno Haible  <bruno@clisp.org>
9654
9655         * m4/minmax.m4: New file.
9656         Based on a patch by Derek Price <derek@ximbiot.com>.
9657
9658 2005-05-22  Bruno Haible  <bruno@clisp.org>
9659
9660         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
9661         (INT64_MIN): Fix definition.
9662         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
9663
9664         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
9665         NEED_SIGNED_INT_TYPES.
9666
9667         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
9668         HAVE_SYSTEM_INTTYPES.
9669
9670 2005-05-22  Bruno Haible  <bruno@clisp.org>
9671
9672         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
9673         Also include <sys/param.h> if it defines MIN, MAX.
9674         Based on a patch by Derek Price <derek@ximbiot.com>.
9675
9676 2005-05-21  Jim Meyering  <jim@meyering.net>
9677
9678         * modules/fts (Files): Add m4/inttypes-pri.m4.
9679         (Depends-on): Add lstat and remove gettext.  Alphabetize.
9680
9681 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
9682
9683         New fts module.
9684         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
9685         (setup_dir, free_dir): New functions.
9686         (enter_dir, leave_dir): Define trivial
9687         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
9688         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
9689         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
9690         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
9691         Move to fts-cycle.c.
9692         (fts_open): Use setup_dir.
9693         (fts_close): Use free_dir.
9694         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
9695         This adds a label and some gotos, but the alternatives were messier.
9696         Check for memory allocation failure when entering a dir.
9697         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
9698         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
9699         (FTS): New member fts_cycle, that is a union that contains the
9700         old active_dir_ht and cycle_state.  All uses changed to mention
9701         fts_cycle.ht and fts_cycle.state.
9702         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
9703         fts.c, with the following changes:
9704         (setup_dir, free_dir): New functions.
9705         (enter_dir): Now returns bool.  Return true if successful, false
9706         if memory exhausted.  All callers changed.
9707         Do not bother partly cleaning up on
9708         memory allocation failure; that is free_dir's job.
9709         However, free ad if hash_insert fails, to avoid memory leak.
9710         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
9711         fts->fts_options to see which union member to use.
9712
9713 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
9714
9715         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
9716         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
9717
9718 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
9719
9720         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
9721
9722 2005-05-20  Jim Meyering  <jim@meyering.net>
9723
9724         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
9725         Now a macro, to pacify GCC.
9726
9727 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
9728
9729         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
9730         of -1.
9731
9732 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
9733
9734         * lib/chown.c (rpl_chown): Return -1 on failure.
9735
9736 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
9737
9738         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
9739         Don't check for stddef.h.
9740         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
9741         don't use its results.
9742         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
9743         since we include them unconditionally.  Don't require
9744         AM_STDBOOL_H, since stdbool is a prerequisite.
9745         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
9746         since we assume C89 or better.
9747         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
9748         as we don't use their results.
9749         Don't check for fchdir, memmove, memset, strrchr, as we use
9750         them unconditionally.
9751         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
9752         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
9753
9754 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
9755
9756         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
9757         Include <stddef.h> unconditionally, since we assume C89 now.
9758         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
9759         * lib/fts.c: Include fts_.h first, to check interface.
9760         Do not include intprops.h; no longer needed.
9761         Include cycle-check.h and hash.h, since fts_.h no longer does.
9762         Remove unnecessary casts of closedir to void.
9763         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
9764         decide whether to decrement nlinks.
9765         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
9766         (FTS): Use struct hash_table * instead of Hash_table, so that
9767         we no longer need to include hash.h here.
9768
9769 2005-05-18  Jim Meyering  <jim@meyering.net>
9770
9771         * modules/dirfd (License): Change to LGPL.  Most of the code
9772         is already in the public domain.
9773
9774 2005-05-18  Jim Meyering  <jim@meyering.net>
9775
9776         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
9777         Reported by Yoann Vandoorselaere.
9778
9779 2005-05-17  Jim Meyering  <jim@meyering.net>
9780
9781         * m4/fts.m4: New file, from coreutils.
9782
9783 2005-05-17  Jim Meyering  <jim@meyering.net>
9784
9785         * lib/fts.c, fts_.h: New files, from coreutils.
9786
9787 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
9788
9789         Sync from coreutils.
9790         * m4/unlinkdir.m4: New file.
9791
9792 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
9793
9794         Sync from coreutils.
9795         * lib/unlinkdir.c, unlinkdir.h: New files.
9796         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
9797         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
9798         White space changes only.
9799         * lib/makepath.c (make_path): Port to hosts where leading "//" is
9800         special.
9801         * lib/yesno.c: Include getline.h, not ctype.h.
9802         (yesno): Don't remove leading white space; POSIX doesn't allow it.
9803         Use getline to remove arbitrary restriction on response length.
9804
9805 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
9806
9807         * config/srclist-update: Spell out "Street" in FSF postal
9808         mail address; this is the style the FSF seems to prefer.
9809
9810         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
9811         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
9812         this updates FSF postal mail address.
9813
9814         Sync from coreutils.
9815         * modules/unlinkdir: New file.
9816         * modules/yesno (Depends-on): Add getline.
9817         * MODULES.html.sh (File system functions): Add unlinkdir.
9818
9819 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
9820
9821         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
9822         lib/strsep.h:
9823         Change the initial comment to refer to GPL, not LGPL.
9824         gnulib-tool will change it to LGPL as needed.
9825
9826         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
9827         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
9828         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
9829         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
9830         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
9831         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
9832         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
9833         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
9834         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
9835         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
9836         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
9837         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
9838         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
9839         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
9840         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
9841         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
9842         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
9843         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
9844         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
9845         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
9846         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
9847         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
9848         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
9849         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
9850         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
9851         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
9852         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
9853         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
9854         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
9855         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
9856         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
9857         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
9858         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
9859         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
9860         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
9861         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
9862         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
9863         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
9864         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
9865         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
9866         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
9867         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
9868         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
9869         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
9870         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
9871         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
9872         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
9873         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
9874         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
9875         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
9876         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
9877         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
9878         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
9879         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
9880         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
9881         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
9882         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
9883         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
9884         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
9885         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
9886         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
9887         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
9888         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
9889         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
9890         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
9891         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
9892         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
9893         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
9894         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
9895         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
9896         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
9897         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
9898         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
9899         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
9900         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
9901         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
9902         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
9903         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
9904         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
9905         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
9906         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
9907         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
9908         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
9909         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
9910         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
9911         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
9912         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
9913         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
9914         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
9915         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
9916         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
9917         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
9918         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
9919         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
9920         lib/yesno.c, lib/yesno.h:
9921         Update FSF postal mail address.
9922
9923 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
9924
9925         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
9926         tests/test-memmem.c, tests/test-stpncpy.c:
9927         Update FSF postal mail address.
9928
9929 2005-05-13  Bruno Haible  <bruno@clisp.org>
9930
9931         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
9932         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
9933         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
9934         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
9935         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
9936         Add support for 64-bit integers in the MSVC compiler.
9937
9938 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
9939
9940         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
9941
9942 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
9943
9944         * gnulib-tool (func_import): Sort and uniquify recommended includes.
9945
9946 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
9947
9948         * doc/getdate.texi (General date syntax): Don't say that date
9949         date --iso-8601=ns generates acceptable dates; it doesn't yet.
9950         Problem reported by Nic Ferrier.
9951
9952 2005-05-10  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
9953
9954         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
9955         specified in ai_socktype. Fix invalid ai_protocol
9956         check. ai_protocol is usually set to 0 or depending on
9957         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
9958         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
9959         ai_socktype / ai_protocol in the returned addrinfo structure.
9960
9961 2005-05-10  Simon Josefsson  <jas@extundo.com>
9962
9963         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
9964         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
9965
9966 2005-05-10  Karl Berry  <karl@gnu.org>
9967
9968         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
9969         (from http://www.gnu.org/licenses).
9970         * doc/COPYING.LIB: also rename to COPYING.LESSER.
9971         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
9972         fdl.texi suffices.
9973
9974 2005-05-10  Karl Berry  <karl@gnu.org>
9975
9976         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
9977         (COPYING.DOC): remove.
9978
9979         * config/srclist-update: new FSF address.
9980
9981 2005-05-10  Derek Price  <derek@ximbiot.com>
9982
9983         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
9984         possible.
9985
9986 2005-05-09  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
9987             Bruno Haible  <bruno@clisp.org>
9988
9989         * modules/inet_ntop: New file.
9990         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
9991         inet_ntop.
9992
9993 2005-05-09  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
9994             Bruno Haible  <bruno@clisp.org>
9995
9996         * m4/inet_ntop.m4: New file.
9997
9998 2005-05-09  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
9999             Bruno Haible  <bruno@clisp.org>
10000
10001         * lib/inet_ntop.h: New file.
10002         * lib/inet_ntop.c: New file, from glibc with modifications.
10003
10004 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
10005
10006         * modules/time_r (License): Change to LGPL.
10007         * modules/extensions (License): Change to LGPL.  Actually,
10008         the license is more permissive than that, but currently gnulib-tool
10009         doesn't know how to handle more-permissive licenses.
10010
10011         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
10012         Problem reported by Dave Love.
10013
10014 2005-05-08  Jim Meyering  <jim@meyering.net>
10015
10016         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
10017         blank.
10018
10019 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
10020
10021         * modules/argmatch (Depends-on): Add stdbool.
10022         * modules/backupfile (Depends-on): Likewise.
10023         * modules/chdir-long (Depends-on): Likewise.
10024         * modules/closeout (Depends-on): Likewise.
10025         * modules/cycle-check (Depends-on): Likewise.
10026         * modules/dirname (Depends-on): Likewise.
10027         * modules/fnmatch (Depends-on): Likewise.
10028         * modules/fsusage (Depends-on): Likewise.
10029         * modules/fwriteerror (Depends-on): Likewise.
10030         * modules/getcwd (Depends-on): Likewise.
10031         * modules/getloadavg (Depends-on): Likewise.
10032         * modules/hard-locale (Depends-on): Likewise.
10033         * modules/makepath (Depends-on): Likewise.
10034         * modules/mountlist (Depends-on): Likewise.
10035         * modules/nanosleep (Depends-on): Likewise.
10036         * modules/posixtm (Depends-on): Likewise.
10037         * modules/quotearg (Depends-on): Likewise.
10038         * modules/readtokens (Depends-on): Likewise.
10039         * modules/readtokens0 (Depends-on): Likewise.
10040         * modules/readutmp (Depends-on): Likewise.
10041         * modules/save-cwd (Depends-on): Likewise.
10042         * modules/strftime (Depends-on): Likewise.
10043         * modules/userspec (Depends-on): Likewise.
10044         * modules/utimecmp (Depends-on): Likewise.
10045         * modules/xgetcwd (Depends-on): Likewise.
10046         * modules/xnanosleep (Depends-on): Likewise.
10047         * modules/xstrtod (Depends-on): Likewise.
10048         * modules/yesno (Depends-on): Likewise.
10049
10050 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
10051
10052         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
10053         needless checks.
10054
10055 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
10056
10057         Merge from coreutils.  Among other things,
10058         add bulletproofing for cases where stdin, stdout, or stderr are closed.
10059         * lib/fd-safer.c: New file.
10060         * lib/fcntl-safer.h, open-safer.c: Remove.
10061         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
10062         * lib/dup-safer.c: Include unistd-safer.h first.
10063         Don't include errno.h.
10064         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
10065         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
10066         * lib/file-type.c: Rely on file-type.h change.
10067         * lib/getloadavg.c: Include unistd-safer.h.
10068         (getloadavg): Use safer open.
10069         * lib/getusershell.c: Include "stdio-safer.h".
10070         (getusershell): Use safer fopen.
10071         * lib/long-options.c (long_options): Use NULL rather than 0.
10072         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
10073         'free'.
10074         * lib/modechange.c: Likewise.
10075         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
10076         (MODE_DONE): New constant.
10077         (struct mode_change): Remove 'next' member.
10078         (make_node_op_equals): New function; like the old one of the
10079         same name, except it allocates an array.
10080         (mode_compile, mode_create_from_ref): Use it.
10081         (mode_compile): Allocate result as an array, not a linked list.
10082         Parse octal string ourself, so that we catch mistakes like "+0".
10083         (mode_adjust): Arg is an array, not a linked list.
10084         * lib/modechange.c: Include stat-macros.h, xalloc.h.
10085         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
10086         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
10087         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
10088         Remove.  This is now stat-macros.h's job.
10089         (talloc): Remove.  All callers replaced by xalloc, so that
10090         our invokers don't have to worry about reporting memory failures.
10091         (make_node_op_equals): Remove.
10092         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
10093         New constants.
10094         (struct mode_change): Moved here from modechange.h.
10095         (mode_append_entry): Remove.
10096         (mode_compile): Remove MASKED_OPS arg, since it encouraged
10097         apps to have incorrect behavior.  Use simpler algorithm for head
10098         and tail.  Don't futz with umask; that's now the job of mode_adjust.
10099         Detect more invalid usages rather than having somewhat-random behavior.
10100         Don't insert an "a=" action, as that leads to incorrect behavior.
10101         (mode_compile, mode_create_from_ref): Return NULL on error instead
10102         of an enum, since now there's only one way to have an error.  All
10103         callers changed.
10104         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
10105         at the correct time.  Simplify calculation of "+u" and its ilk.
10106         Don't mishandle "+X".
10107         (mode_free): Remove "register" and localize decls.
10108         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
10109         (struct mode_change): Move to modechange.c; callers don't
10110         need to see this stuff.
10111         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
10112         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
10113         (mode_change, mode_adjust): Reflect the new signatures noted above.
10114         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
10115         that might redefine system include files.
10116         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
10117         (my_usleep): Use NULL rather than (void *) 0.
10118         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
10119         Use siginterrupt to specify that system calls should be interrupted.
10120         (rpl_nanosleep): Move initialization of suspended closer to call of
10121         my_usleep.
10122         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
10123         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
10124         (desirable_utmp_entry): New function.
10125         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
10126         using x2nrealloc, to simplify logic.
10127         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
10128         size calculation.  Do not assume utmp file is a regular file.
10129         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
10130         (READ_UTMP_CHECK_PIDS): New constant.
10131         * lib/save-cwd.c: Include unistd-safer.h.
10132         (save_cwd): Use fd_safer.
10133         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
10134         [!_LIBC] Include "stat-macros.h" instead.
10135         * lib/unistd-safer.h (fd_safer): New decl.
10136
10137 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
10138
10139         * modules/getloadavg (Depends-on): Add unistd-safer.
10140         * modules/getusershell (Depends-on): Add stdio-safer.
10141         * modules/lstat (Depends-on): Remove xalloc.
10142         * modules/mkstemp (Depends-on): Add stat-macros.
10143         * modules/modechange (Depends-on): Remove xstrtol.
10144         Add stat-macros, xalloc.
10145         * modules/save-cwd (Depends-on): Add unistd-safer.
10146         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
10147         * modules/unistd-safer (Files): Add lib/fd-safer.c
10148         (Makefile.am): Remove lib_SOURCES.
10149
10150         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
10151         Remove fcntl-safer; unistd-safer supersedes it.
10152
10153 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
10154
10155         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
10156         AC_HEADER_STAT.
10157         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
10158         (gl_PREREQ_CHOWN): Remove.
10159         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
10160         it.  Don't require AC_HEADER_STAT.
10161         (gl_PREREQ_LSTAT): Remove.
10162         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
10163         Don't require AC_HEADER_STAT.
10164         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
10165         (gl_PREREQ_RMDIR): Remove.
10166         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
10167         mention stat-macros.h or AC_HEADER_STAT, since we'll make
10168         the stat-macros module a prerequisite.
10169         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
10170         * m4/filemode.m4 (gl_FILEMODE): Likewise.
10171         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
10172         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
10173         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
10174         variable names.
10175         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
10176         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
10177         variable prefixes.
10178         * m4/fcntl-safer.m4: Remove.
10179         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
10180         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
10181         Invoke gl_PREREQ_FD_SAFER.
10182         (gl_PREREQ_FD_SAFER): New macro.
10183         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
10184         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
10185         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
10186         Remove duplicate call to AC_LIBOBJ(readutmp).
10187         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
10188
10189         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
10190         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
10191
10192 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
10193
10194         * MODULES.html.sh (Misc): Add byteswap.
10195
10196 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
10197
10198         * modules/getcwd (Depends-on): Add extensions.
10199         * modules/openat (Depends-on): Likewise.
10200
10201 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
10202
10203         * modules/byteswap: New file.
10204
10205 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
10206
10207         * m4/byteswap.m4: New file.
10208
10209 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
10210
10211         * lib/byteswap_.h: New file.
10212
10213 2005-04-25  Karl Berry  <karl@gnu.org>
10214
10215         * m4/gettext.m4: Update from GNU gettext 0.14.4.
10216
10217 2005-04-25  Albert Chin  <china@thewrittenword.com>
10218
10219         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
10220         Toolkit C bug.
10221
10222 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
10223
10224         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
10225         (func_ln_if_changed) Remove forcibly for no error message
10226         in case file does not exist.
10227
10228 2005-04-19  Simon Josefsson  <jas@extundo.com>
10229
10230         * gnulib-tool (Options): Make --symlink mean --symbolic.
10231
10232 2005-04-18  Oskar Liljeblad <oskar@osk.mine.nu>
10233
10234         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
10235
10236 2005-04-16  Simon Josefsson  <jas@extundo.com>
10237
10238         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
10239
10240 2005-04-15  Simon Josefsson  <jas@extundo.com>
10241
10242         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
10243
10244 2005-04-15  Simon Josefsson  <jas@extundo.com>
10245
10246         * gnulib-tool: Rename --symlink to --symbolic.
10247
10248 2005-04-15  Oskar Liljeblad <oskar@osk.mine.nu>
10249
10250         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
10251         symbolic links to files instead of copying/moving.  Add --aux-dir,
10252         specifying directory relative --dir where auxiliary build tools
10253         are placed.
10254
10255 2005-04-14  Bruno Haible  <bruno@clisp.org>
10256
10257         * modules/allocsa (License): Change to LGPL.
10258         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
10259
10260 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
10261
10262         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
10263         that "UTC +1 second" continues to work.  Problem reported
10264         by Dmitry V. Levin.
10265         (relunit_snumber): New rule.
10266         (relunit): Use it.
10267
10268 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
10269
10270         * lib/getdate.y (universal_time_zone_table): New constant.
10271         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
10272         universal_time_zone_table.
10273         (lookup_zone): Prefer universal_time_zone_table to
10274         local_time_zone_table, so that "GMT" time stamps are allowed in
10275         London during the summer.  Problem reported by Ian Abbott.
10276
10277 2005-04-12  Jim Meyering  <jim@meyering.net>
10278
10279         * lib/human.c (humblock): Set *options even when returning due to
10280         xstrtoumax conversion failure.  Thanks to a used-uninitialized
10281         warning from gcc-4.
10282
10283 2005-04-09  Jim Meyering  <jim@meyering.net>
10284
10285         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
10286         -Wuninitialized: initialize tm0.tm_year.
10287
10288 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
10289
10290         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
10291         count, since there's no maximum.  All uses changed.
10292         Add member dsts_seen.
10293         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
10294         not being INT_MAX.
10295         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
10296         Use pc_rels_seen to decide whther a date is absolute.
10297
10298         * lib/getdate.y (number): Don't overwrite year.
10299         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
10300         check.
10301
10302 2005-04-02  Simon Josefsson  <jas@extundo.com>
10303
10304         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
10305         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
10306
10307 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
10308
10309         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
10310         where no absolute path name can be longer than PATH_MAX.
10311
10312 2005-03-27  Jim Meyering  <jim@meyering.net>
10313
10314         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
10315
10316 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
10317
10318         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
10319         "one's complement" -> "ones' complement" in comment, as per Knuth.
10320         "value of type" -> "type or expression" in comment.
10321         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
10322
10323 2005-03-26  Jim Meyering  <jim@meyering.net>
10324
10325         Comment nits.
10326         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
10327         Correct typos: s/or/of/.
10328
10329 2005-03-26  Jim Meyering  <jim@meyering.net>
10330
10331         * modules/check-include-files: Move to ../ and rename to...
10332         * check-module: ...this.
10333
10334 2005-03-25  Jim Meyering  <jim@meyering.net>
10335
10336         * modules/xvasprintf (Files): Add xalloc.h.
10337
10338 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
10339
10340         * modules/gettext (Files): config/config.rpath ->
10341         build-aux/config.rpath
10342         * modules/iconv (Files): Likewise.
10343         Problem reported by Oskar Liljeblad.
10344
10345 2005-03-23  Jim Meyering  <jim@meyering.net>
10346
10347         * modules/check-include-files: New script to check for
10348         missing dependencies, multiple includes, etc.
10349
10350         * modules/c-strtold (Depends-on): Add xalloc.
10351         * modules/c-strtod (Depends-on): Add xalloc.
10352         * modules/hash (Depends-on): Add xalloc.
10353         (Files): Remove lib/xalloc.h.
10354
10355         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
10356         * modules/userspec (Files): Add lib/inttostr.h.
10357
10358 2005-03-23  Jim Meyering  <jim@meyering.net>
10359
10360         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
10361
10362 2005-03-22  Jim Meyering  <jim@meyering.net>
10363
10364         * modules/stat-macros: New module.
10365         * modules/canonicalize, modules/euidaccess, modules/file-type,
10366         * modules/filemode, modules/lchown, modules/makepath,
10367         * modules/rmdir, modules/stat: Depend on new stat-macros module
10368         rather than listing lib/stat-macros.h manually.
10369         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
10370
10371 2005-03-22  Jim Meyering  <jim@meyering.net>
10372
10373         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
10374
10375 2005-03-22  Bruno Haible  <bruno@clisp.org>
10376
10377         * config/srclist.txt: Replace target directory 'config' with
10378         'build-aux'.
10379         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
10380         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
10381         ../build-aux/.
10382
10383 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
10384
10385         * modules/chdir-long (Depends-on): Add mempcpy.
10386
10387         * modules/acl, modules/backupfile, modules/c-strtod,
10388         modules/c-strtold, modules/canon-host, modules/canonicalize,
10389         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
10390         modules/exclude, modules/exitfail, modules/file-type,
10391         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
10392         modules/getdate, modules/getline, modules/getpagesize,
10393         modules/getpass, modules/getugroups, modules/group-member,
10394         modules/hard-locale, modules/hash, modules/human, modules/idcache,
10395         modules/inttostr, modules/long-options, modules/makepath,
10396         modules/md5, modules/memcasecmp, modules/memcoll,
10397         modules/modechange, modules/mountlist, modules/path-concat,
10398         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
10399         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
10400         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
10401         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
10402         modules/strftime, modules/strndup, modules/strverscmp,
10403         modules/timespec, modules/unlocked-io, modules/userspec,
10404         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
10405         modules/yesno:
10406         Remove lib_SOURCES line from Makefile.am section, as this is now
10407         done automatically by the corresponding Autoconf macro.
10408
10409 2005-03-21  Jim Meyering  <jim@meyering.net>
10410
10411         Changes imported from coreutils.
10412
10413         * lib/cycle-check.c: Don't include xalloc.h.
10414
10415         * lib/path-concat.c: Don't include assert.h.
10416         (path_concat): Remove assertion that would have triggered
10417         for ABASE starting with more than one slash.
10418         Reported by Andreas Schwab.
10419
10420         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
10421         properly when ABASE is an absolute file name.
10422         Correct the description of this function.
10423         Include <assert.h>.
10424         Add an assertion and a test driver.
10425         This fixes a bug introduced on 2004-07-02.
10426         Andreas Schwab reported the resulting failure of cp --parents:
10427         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
10428
10429 2005-03-21  Jim Meyering  <jim@meyering.net>
10430
10431         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
10432         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
10433
10434 2005-03-21  Jim Meyering  <jim@meyering.net>
10435         and  Paul Eggert  <eggert@cs.ucla.edu>
10436
10437         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
10438         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
10439         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
10440         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
10441         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
10442         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
10443         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
10444         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
10445         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
10446         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
10447         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
10448         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
10449         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
10450         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
10451         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
10452         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
10453         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
10454         for these modules.
10455
10456 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
10457
10458         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
10459         (which shouldn't happen), generate nothing instead of returning 0
10460         immediately, so that nstrftime (NULL, ...) doesn't return 0.
10461
10462 2005-03-16  Bruno Haible  <bruno@clisp.org>
10463
10464         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
10465         HAVE_LONGLONG_64BIT.
10466
10467 2005-03-16  Bruno Haible  <bruno@clisp.org>
10468
10469         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
10470         HAVE_LONGLONG_64BIT.
10471
10472 2005-03-16  Bruno Haible  <bruno@clisp.org>
10473
10474         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
10475         HAVE_LONGLONG_64BIT.
10476
10477 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
10478
10479         * lib/strftime.c (my_strftime): Prepend space to format so that we can
10480         reliably distinguish strftime failure from empty output on POSIX
10481         hosts.
10482
10483 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
10484
10485         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
10486         (iconv_string): Don't guess a size-zero buffer, as that might cause
10487         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
10488         result would be 'too large', where 'too large' is (heuristically)
10489         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
10490         overflow concerns.  This will prevent some unwanted malloc failures
10491         when the inputs are very large.
10492
10493 2005-03-15  Karl Berry  <karl@gnu.org>
10494
10495         * config/srclist.txt (config.rpath): from gettext.
10496         * config/config.rpath: update.
10497
10498 2005-03-15  Bruno Haible  <bruno@clisp.org>
10499
10500         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
10501         to 'negate'.
10502
10503         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
10504         variable.
10505
10506         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
10507         results.
10508
10509 2005-03-14  Simon Josefsson  <jas@extundo.com>
10510
10511         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
10512         <fx@gnu.org>.
10513
10514 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
10515
10516         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
10517         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
10518         intprops.h.
10519         * lib/strtol.c: Likewise.
10520
10521 2005-03-14  Jim Meyering  <jim@meyering.net>
10522
10523         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
10524         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
10525         to be nonzero so that we (and caller) can detect the difference
10526         between a valid zero-length expansion and an error return, even
10527         when the underlying strftime fails before writing anything into
10528         that location.
10529
10530 2005-03-14  Bruno Haible  <bruno@clisp.org>
10531
10532         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
10533         Update from GNU gettext 0.14.3.
10534
10535 2005-03-10  Jim Meyering  <jim@meyering.net>
10536
10537         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
10538
10539 2005-03-10  Jim Meyering  <jim@meyering.net>
10540
10541         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
10542         so that this module works on systems without fchdir.
10543
10544 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
10545
10546         Factor int-properties macros into a single file, except for
10547         glibc-related files.
10548         * lib/intprops.h: New file.
10549         * lib/getloadavg.c: Include it instead of limits.h.
10550         (INT_STRLEN_BOUND): Remove.
10551         * lib/human.c: Include intprops.h.
10552         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
10553         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
10554         302/1000.
10555         * lib/inttostr.h: Include intprops.h instead of limits.h.
10556         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
10557         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
10558         for consistency with intprops.h.
10559         (time_t_is_integer, twos_complement_arithmetic): Use them.
10560         * lib/sig2str.h: Include <signal.h>, intprops.h.
10561         (INT_STRLEN_BOUND): Remove.
10562         * lib/strftime.c (TYPE_SIGNED): Remove.
10563         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
10564         * lib/strtol.c: Adjust comments to match intprops.h.
10565         * lib/userspec.c: Include intprops.h.
10566         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
10567         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
10568         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
10569         instead of rolling our own expressions.
10570         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
10571
10572         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
10573         instead of int.
10574         (my_strftime): Do not mishandle years close to INT_MAX, by doing
10575         the right thing even if adding 1900 would overflow.  Similarly
10576         for tm_mon + 1 and tm_yday + 1.
10577         Make %Y always equivalent to %C%y, and similarly for %G and %g.
10578         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
10579         (DO_SIGNED_NUMBER): New macro.
10580         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
10581
10582 2005-03-07  Bruno Haible  <bruno@clisp.org>
10583
10584         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
10585
10586 2005-03-07  Bruno Haible  <bruno@clisp.org>
10587
10588         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
10589
10590 2005-03-04  Derek R. Price  <derek@ximbiot.com>
10591
10592         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
10593         (func_import): Only replace files via --import when they have actually
10594         changed.
10595
10596 2005-03-03  Derek R. Price  <derek@ximbiot.com>
10597
10598         * m4/mmap-anon.m4: New file.
10599         * m4/pagealign_alloc.m4: New file.
10600
10601 2005-03-03  Derek R. Price  <derek@ximbiot.com>
10602             Bruno Haible  <bruno@clisp.org>
10603
10604         * modules/pagealign_alloc: New file.
10605         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
10606
10607 2005-03-03  Derek R. Price  <derek@ximbiot.com>
10608             Bruno Haible  <bruno@clisp.org>
10609
10610         * lib/pagealign_alloc.h: New file.
10611         * lib/pagealign_alloc.c: New file.
10612
10613 2005-03-03  Bruno Haible  <bruno@clisp.org>
10614
10615         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
10616         Use an all-permissive copyright notice, recommended by RMS.
10617
10618 2005-03-02  Bruno Haible  <bruno@clisp.org>
10619
10620         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
10621         of AIX, the replacement has to be done only after <string.h> is
10622         included, therefore not in config.h. stpncpy.h does the replacement,
10623         and stpncpy.c uses it.
10624
10625 2005-03-02  Bruno Haible  <bruno@clisp.org>
10626
10627         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
10628         stpncpy.c uses it.
10629
10630 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
10631
10632         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
10633         The workaround isn't strictly needed for POSIX conformance, and
10634         it's too much of a pain to configure and maintain.  We'll ask
10635         people to fix their kernels instead.
10636         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
10637         (NANOSLEEP_BUG_WORKAROUND): Remove.
10638         (xnanosleep): Remove the workaround.
10639
10640 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
10641
10642         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
10643         Reported by Derek Price.
10644         (Include): Add "timespec.h".
10645
10646         * modules/xnanosleep (Depends-on): Remove gethrxtime.
10647
10648 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
10649
10650         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
10651         to detect nanosleep bug.
10652
10653 2005-03-01  Bruno Haible  <bruno@clisp.org>
10654
10655         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
10656
10657 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
10658
10659         * modules/gethrxtime: New file.
10660         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
10661         (Depends-on): Add gethrxtime.
10662         (configure.ac): Add gl_XNANOSLEEP.
10663         (Makefile.am): Remove lib_SOURCES line.
10664
10665 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
10666
10667         * m4/gethrxtime.m4, xnanosleep.m4: New files.
10668         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
10669
10670 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
10671
10672         * lib/gethrxtime.h, gethrxtime.c, xtime.h: New files.
10673         * lib/timespec.h (gettime): Return void, since it always
10674         succeeds now.  All uses changed.
10675         * lib/gettime.c (gettime) Likewise.
10676         [HAVE_NANOTIME]: Prefer nanotime.
10677         Assume gettimeofday succeeds, as POSIX requires.
10678         Assime time () succeeds, since other code already does.
10679         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
10680         (timespec_subtract): Remove.
10681         (NANOSLEEP_BUG_WORKAROUND): New constant.
10682         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
10683         things considerably.  Use it only on GNU/Linux hosts, since the
10684         workaround shouldn't be needed elsewhere.
10685
10686 2005-02-24  Bruno Haible  <bruno@clisp.org>
10687
10688         * modules/gettext (Files): Add m4/glibc2.m4.
10689
10690 2005-02-24  Bruno Haible  <bruno@clisp.org>
10691
10692         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
10693         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
10694         * m4/progtest.m4:
10695         Update from GNU gettext 0.14.2.
10696         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
10697
10698 2005-02-24  Bruno Haible  <bruno@clisp.org>
10699
10700         * lib/localcharset.c: Update from GNU gettext 0.14.2.
10701         * lib/config.charset: Update from GNU gettext 0.14.2.
10702
10703 2005-02-24  Bruno Haible  <bruno@clisp.org>
10704
10705         * lib/gettext.h: Update from GNU gettext 0.14.2.
10706
10707 2005-02-23  Simon Josefsson  <jas@extundo.com>
10708
10709         * m4/iconvme.m4: New file.
10710
10711 2005-02-23  Jim Meyering  <jim@meyering.net>
10712
10713         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
10714         change.
10715         Thanks to Bruno Haible for catching it.
10716
10717 2005-02-22  Simon Josefsson  <jas@extundo.com>
10718
10719         * modules/iconvme: New file.
10720
10721         * MODULES.html.sh: Add iconvme.
10722
10723 2005-02-22  Simon Josefsson  <jas@extundo.com>
10724
10725         * lib/iconvme.h, iconvme.c: New files, from libc.
10726
10727 2005-02-22  Simon Josefsson  <jas@extundo.com>
10728
10729         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
10730
10731 2005-02-22  Jim Meyering  <jim@meyering.net>
10732
10733         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
10734         s/ifndef/ifdef/.
10735
10736 2005-02-20  Neil Conway  <neilc@samurai.com>
10737
10738         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
10739         returned by OSX/Darwin if the specified buffer is not large
10740         enough for the hostname.
10741
10742 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
10743
10744         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
10745         pass it to _help, otherwise the latter coredumps trying to
10746         dereference state.root_argp.
10747
10748 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
10749
10750         * modules/chdir-long (Depends-on): Add memrchr.
10751         * modules/memrchr (Files): Add lib/memrchr.h.
10752         (Include): "memrchr.h".
10753
10754 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
10755
10756         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
10757
10758 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
10759
10760         * lib/memrchr.h: New file.
10761         * lib/chdir-long.c: Include it.
10762         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
10763         Don't bother including stddef.h.
10764
10765 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
10766
10767         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
10768         inclusion.
10769         Include <sys/types.h>, for dev_t.
10770         (ME_DUMMY, ME_REMOTE): Move from here....
10771         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
10772         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
10773         Dmitry V. Levin.
10774         Include mountlist.h first, to test the interface.
10775
10776 2005-01-29  Bruno Haible  <bruno@clisp.org>
10777
10778         * lib/progname.c (program_name): Initialize.
10779         Needed when linking statically on MacOS X.
10780
10781 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
10782
10783         Sync from coreutils.
10784         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
10785         (Depends-on): Add c-strtod.
10786         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
10787
10788 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
10789
10790         Sync from coreutils.
10791         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
10792
10793         Remove files that are specific to coreutils.
10794         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
10795
10796 2005-01-28  Bruno Haible  <bruno@clisp.org>
10797
10798         * modules/javacomp: New file.
10799         * MODULES.html.sh (Java): Add javacomp.
10800
10801 2005-01-28  Bruno Haible  <bruno@clisp.org>
10802
10803         * m4/javacomp.m4: New file, from GNU gettext.
10804
10805 2005-01-28  Bruno Haible  <bruno@clisp.org>
10806
10807         * lib/javacomp.sh.in: New file, from GNU gettext.
10808         * lib/javacomp.h: New file, from GNU gettext.
10809         * lib/javacomp.c: New file, from GNU gettext.
10810
10811 2005-01-26  Simon Josefsson  <jas@extundo.com>
10812
10813         * lib/gai_strerror.c: Use GPL in header.
10814
10815 2005-01-26  Bruno Haible  <bruno@clisp.org>
10816
10817         * modules/javaexec: New file.
10818         * MODULES.html.sh (Java): Add javaexec.
10819
10820 2005-01-26  Bruno Haible  <bruno@clisp.org>
10821
10822         * m4/javaexec.m4: New file, from GNU gettext.
10823
10824 2005-01-26  Bruno Haible  <bruno@clisp.org>
10825
10826         * lib/javaexec.sh.in: New file, from GNU gettext.
10827         * lib/javaexec.h: New file, from GNU gettext.
10828         * lib/javaexec.c: New file, from GNU gettext.
10829
10830 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
10831
10832         * modules/lchown (Depends-on): Remove lchown.h
10833
10834 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
10835
10836         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
10837         must be defined if the header file was not found, in order
10838         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
10839
10840 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
10841
10842         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
10843         initializers for struct pentry_state.
10844         (__argp_error): Check return value of __asprintf
10845         (__argp_failure): Translate error message
10846
10847         * lib/argp-parse.c: Removed braces around the expansion of N_()
10848
10849 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
10850
10851         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
10852         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
10853         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
10854         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
10855         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
10856         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
10857         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
10858         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
10859         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
10860         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
10861         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
10862         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
10863         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
10864         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
10865         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
10866         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
10867         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
10868         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
10869         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
10870         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
10871         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
10872         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
10873         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
10874         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
10875         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
10876         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
10877         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
10878         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
10879         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
10880         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
10881         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
10882         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
10883         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
10884         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
10885         xstrtol.m4, xstrtoumax.m4, yesno.m4:
10886         Use an all-permissive copyright notice, recommended by RMS.
10887
10888 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
10889
10890         * modules/chdir-long (Depends-on): Remove mempcpy.
10891
10892 2005-01-21  Jim Meyering  <jim@meyering.net>
10893
10894         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
10895         same value as for Solaris 9.
10896
10897         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
10898         component length.  This included changing the parameter to be
10899         of type `char *' rather than `char const *'.
10900         * lib/chdir-long.h (chdir_long): Update prototype.
10901
10902         * lib/openat.c (fdopendir, fstatat): New functions.
10903         * lib/openat.h: Include headers required for use of DIR and struct
10904         stat.
10905         [AT_SYMLINK_NOFOLLOW]: Define.
10906         (fdopendir, fstatat): Add prototypes.
10907
10908 2005-01-21  Bruno Haible  <bruno@clisp.org>
10909
10910         * modules/classpath: New file.
10911         * MODULES.html.sh (Java): Add classpath.
10912
10913 2005-01-21  Bruno Haible  <bruno@clisp.org>
10914
10915         * lib/classpath.h: New file, from GNU gettext.
10916         * lib/classpath.c: New file, from GNU gettext.
10917
10918 2005-01-20  Simon Josefsson  <jas@extundo.com>
10919
10920         * modules/version-etc-fsf: New file.
10921
10922 2005-01-20  Simon Josefsson  <jas@extundo.com>
10923
10924         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
10925         * lib/version-etc.c: Remove version_etc_copyright.
10926         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
10927         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
10928
10929 2005-01-20  Simon Josefsson  <jas@extundo.com>
10930
10931         * lib/base64.h (isbase64): Add.
10932
10933         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
10934         using a unsigned prototype, don't inline.
10935         (base64_decode): Use it.
10936
10937 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
10938
10939         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
10940         it.
10941
10942 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
10943
10944         * lib/save-cwd.c (save_cwd): Remove code to support the case
10945         where fchdir is missing or flaky.
10946
10947 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
10948
10949         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
10950
10951 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
10952
10953         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
10954         AC_LIBSOURCES now does this.
10955         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
10956         with new ullong_max module.
10957
10958 2005-01-19  Bruno Haible  <bruno@clisp.org>
10959
10960         * modules/sh-quote: New file.
10961         * MODULES.html.sh (Executing programs): Add sh-quote.
10962
10963 2005-01-19  Bruno Haible  <bruno@clisp.org>
10964
10965         * lib/sh-quote.h: New file, from GNU gettext.
10966         * lib/sh-quote.c: New file, from GNU gettext.
10967
10968 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
10969
10970         Merge from coreutils.
10971         * m4/ullong_max.m4: New file.
10972         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
10973         (gl_MACROS): Assume localeconv exists.
10974
10975 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
10976
10977         Merge changes from coreutils, as described below in several
10978         changelogs dated today.
10979
10980         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
10981         (O_DIRECTORY): Remove; not needed here, since "." must be
10982         a directory.  All uses removed.
10983         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
10984         universal on Suns, and we also need to test for IRIX.
10985         Revamp code to use 'if' rather than '#if'.
10986         Avoid unnecessary comparison of cwd->desc to 0.
10987
10988         * lib/utimens.c (futimens): Robustify the previous patch, by checking
10989         for known valid error numbers rather than observed invalid ones.
10990
10991 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
10992
10993         * modules/ullong_max: New file.
10994
10995         * modules/chdir-long, modules/openat: New files.
10996         * modules/save-cwd (Depends-on): Depend on chdir-long.
10997         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
10998
10999 2005-01-18  Jim Meyering  <jim@meyering.net>
11000
11001         Merge from coreutils.
11002         * m4/chdir-long.m4, openat.m4: New files.
11003         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
11004         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
11005         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
11006         is sane and DOES follow symlinks.  Besides, testing 20 different
11007         systems found no broken chown implementations.
11008         Prompted by a change in rsync's copy of this macro.
11009         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
11010
11011         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
11012
11013         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
11014         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
11015         NULL-means-set-to-current-time semantics.
11016         Remove temporary file immediately, rather than waiting
11017         for configure's at-exit trap code to do it.
11018
11019 2005-01-18  Jim Meyering  <jim@meyering.net>
11020
11021         * lib/version-etc.c (version_etc_copyright): Update copyright date.
11022
11023         * lib/utimens.c (futimens): Account for the fact that futimes
11024         can also fail with errno == ENOSYS or errno == ENOENT.
11025         Patch from Dmitry V. Levin.
11026
11027         Change the name of the robust chdir function from chdir to chdir_long.
11028         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
11029         (restore_cwd): Use chdir_long, not chdir.
11030         * lib/chdir-long.c: Renamed from chdir.c.
11031         * lib/chdir-long.h: Renamed from chdir.h.
11032         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
11033         Hurd.
11034
11035 2005-01-18  Bruno Haible  <bruno@clisp.org>
11036
11037         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
11038         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
11039         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
11040         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
11041         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
11042         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
11043         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
11044         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
11045         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
11046         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
11047         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
11048         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
11049         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
11050         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
11051         Use an all-permissive copyright notice, recommended by RMS.
11052
11053 2005-01-18  Bob Proulx  <bob@proulx.com>
11054
11055         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
11056         simplify offsetof() macro construct to avoid compile failure with
11057         native HP-UX 11.0 ANSI C compiler.
11058
11059 2005-01-17  Bruno Haible  <bruno@clisp.org>
11060
11061         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
11062         redundant because stpncpy.m4 takes care of it.
11063
11064 2005-01-17  Bruno Haible  <bruno@clisp.org>
11065
11066         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
11067
11068 2005-01-17  Bruno Haible  <bruno@clisp.org>
11069
11070         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
11071         used.
11072
11073 2005-01-17  Bruno Haible  <bruno@clisp.org>
11074
11075         * lib/fwriteerror.h (fwriteerror): Change specification to include
11076         fclose.
11077         * lib/fwriteerror.c: Include <stdbool.h>.
11078         (fwriteerror): At the end, close the file stream. Record whether
11079         stdout was already closed.
11080
11081 2005-01-17  Bruno Haible  <bruno@clisp.org>
11082
11083         * lib/execute.c (environ): Declare if needed.
11084         * lib/pipe.c (environ): Likewise.
11085         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
11086
11087 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
11088
11089         * modules/argp: Depend on vsnprintf
11090
11091 2005-01-10  Jim Meyering  <jim@meyering.net>
11092
11093         * modules/closeout (Depends-on): Add atexit.
11094
11095 2005-01-06  Bruno Haible  <bruno@clisp.org>
11096
11097         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
11098
11099 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
11100
11101         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
11102         definitions to be after all include files, to avoid collisions.
11103         Problem reported by Bob Proulx.
11104
11105 2005-01-04  Jim Meyering  <jim@meyering.net>
11106
11107         Changes imported from coreutils.
11108         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
11109         as the mkstemp template, use a temporary directory and an
11110         8.3-friendly template to avoid trouble on systems like DJGPP.
11111         Reported by Juan M. Guerrero via Stepan Kasal.
11112         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
11113         close. Remove the temporary directory right away, rather than waiting
11114         for configure's at-exit trap code to do it.
11115         Suggestion from Stepan Kasal.
11116
11117 2005-01-01  Simon Josefsson  <jas@extundo.com>
11118
11119         * gnulib-tool: Print #include directives when --import'ing.
11120
11121 2004-12-28  Simon Josefsson  <jas@extundo.com>
11122
11123         * tests/test-base64.c: Include required header files.  Remove
11124         unused variables.
11125
11126 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
11127
11128         * modules/error (Depends-on): Remove gettext.
11129
11130 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
11131
11132         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
11133         not needed.  This removes a dependency on the gettext module.
11134         [defined _LIBC]: Do not include <libintl.h>; not needed.
11135
11136 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
11137
11138         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
11139         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
11140
11141 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
11142
11143         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
11144         HAVE_DECL_STRTOLD.
11145
11146 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
11147
11148         * modules/getdate (Depends-on): Remove alloca-opt.
11149
11150 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
11151
11152         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
11153
11154 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
11155
11156         * lib/argp-parse.c: Include <stddef.h>.
11157         (alignof, alignto): New macros.
11158         (parser_init): Don't assume that void * is aligned sufficiently
11159         for struct option.
11160
11161         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
11162         need to extend the stack.
11163         (YYINITDEPTH): New macro, so that the initial stack isn't overly
11164         large.
11165
11166 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
11167
11168         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
11169
11170 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
11171
11172         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
11173         (2004-10-24) change.  Apparently this was a false alarm.
11174
11175         * modules/getdate: Depend on alloca-opt, not alloca.
11176
11177 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
11178
11179         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
11180         Remove now-obsolete comment about AIX.
11181         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
11182         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
11183         (YYMAXDEPTH): New macro.
11184
11185 2004-12-18  Simon Josefsson  <jas@extundo.com>
11186
11187         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
11188
11189 2004-12-18  Bruno Haible  <bruno@clisp.org>
11190
11191         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
11192
11193 2004-12-18  Bruno Haible  <bruno@clisp.org>
11194
11195         * lib/fatal-signal.c (fatal_signals): Make non-const.
11196         (init_fatal_signals): New function.
11197         (uninstall_handlers, install_handlers): Ignore signals that were set to
11198         SIG_IGN.
11199         (at_fatal_signal): Call init_fatal_signals.
11200         (init_fatal_signal_set): Likewise. Ignore signals that were set to
11201         SIG_IGN.
11202         Reported by Paul Eggert.
11203
11204 2004-12-18  Bruno Haible  <bruno@clisp.org>
11205
11206         * doc/alloca.texi: New file.
11207         * doc/alloca-opt.texi: New file.
11208
11209 2004-12-17  Jim Meyering  <jim@meyering.net>
11210
11211         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
11212         Otherwise, install-sh could exit with improper exit status when
11213         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
11214
11215 2004-12-16  Simon Josefsson  <jas@extundo.com>
11216
11217         * tests/test-base64.c: Add license.
11218
11219 2004-12-15  Stepan Kasal  <address@hidden>
11220
11221         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
11222
11223 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
11224
11225         * modules/getcwd (Files): Add m4/d-ino.m4.
11226         Suggested by Mark D. Baushke.
11227
11228 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
11229
11230         * lib/getdate.y (textint): New member "negative".
11231         (time_zone_hhmm): New function.
11232         Expect 14 shift-reduce conflicts, not 13.
11233         (o_colon_minutes): New rule.
11234         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
11235         (yylex): Set the "negative" member of signed numbers.
11236
11237 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
11238
11239         * doc/getdate.texi (Time of day items, Time zone items):
11240         Describe new formats +00:00, UTC+00:00.
11241
11242 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
11243
11244         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
11245         spurious "-l"s.  Problem reported by Stepan Kasal.
11246
11247 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
11248
11249         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
11250         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
11251
11252 2004-12-04  Simon Josefsson  <jas@extundo.com>
11253
11254         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
11255         Vandoorselaere <yoann@prelude-ids.org>.
11256
11257 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
11258
11259         Changes imported from coreutils.
11260         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
11261         exist.
11262         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
11263
11264 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
11265
11266         Changes imported from coreutils.
11267         * lib/hard-locale.c: Assume <locale.h> exists.
11268         Include "strdup.h".
11269         (GLIBC_VERSION): New macro.
11270         (hard_locale): Assume setlocale exists.
11271         Rewrite to avoid #ifdef.
11272         Use strdup rather than malloc + strcpy.
11273         * lib/human.c: Assume <locale.h> exists.
11274         (human_readable): Assume localeconv exists.
11275
11276 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
11277
11278         * modules/hard-locale (Depends-on): Add strdup.
11279
11280 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
11281
11282         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
11283         convert T2, not T.  (Imported from libc.)
11284
11285 2004-11-30  Simon Josefsson  <jas@extundo.com>
11286
11287         * modules/restrict (License): Change to LGPL.
11288
11289 2004-11-30  Simon Josefsson  <jas@extundo.com>
11290
11291         * m4/restrict.m4: Add copyright and copying conditions.
11292
11293 2004-11-30  Simon Josefsson  <jas@extundo.com>
11294
11295         * m4/base64.m4: New file.
11296
11297 2004-11-30  Simon Josefsson  <jas@extundo.com>
11298
11299         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
11300         base64.
11301
11302         * tests/test-base64.c: New file.
11303
11304         * modules/base64: New file.
11305
11306 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
11307
11308         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
11309         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
11310
11311         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
11312
11313 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
11314
11315         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
11316         (__getcwd.c): Don't restore errno; glibc doesn't.
11317         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
11318         first, falling back to our code only if its results look suspicious.
11319         Ensure that the resulting buffer is only as large as necessary.
11320
11321         * lib/readutmp.c: Include readutmp.h first.
11322         Include <errno.h>, since readutmp.h no longer does that.
11323         * lib/readutmp.h: Don't include <errno.h>,
11324         <sys/param.h>, <time.h>; not needed to establish interface.
11325         (errno): Remove decl.
11326         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
11327         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
11328         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
11329
11330 2004-11-28  Simon Josefsson  <jas@extundo.com>
11331
11332         * lib/base64.h, base64.c: New file.
11333
11334 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
11335
11336         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
11337
11338 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
11339
11340         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
11341         (Depends-on): Remove pathmax, same.  Add mempcpy.
11342         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
11343         (Makefile.am): Append getcwd.h to lib_SOURCES.
11344         (Include): Add getcwd.h.
11345         (Maintainer): Change from Jim Meyering to "all, glibc",
11346         since getdate now uses intended-for-glibc code.
11347         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
11348         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
11349
11350 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
11351
11352         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
11353         HP's ANSI C compiler.
11354         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
11355         Declaring int functions causes warnings on some modern systems and
11356         shouldn't be needed to compile on ancient ones.
11357         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
11358         defined.
11359
11360         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
11361         with the following changes.
11362         (__set_errno): Parenthesize properly.
11363         Include <stdbool.h>.
11364         (MIN, MAX, MATCHING_INO): New macros.
11365         (__getcwd): Define with prototype, not K&R form.
11366         Use heuristics to allocate default buffer on stack if possible.
11367         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
11368         behavior, and to avoid the PATH_MAX limit when computing
11369         ../../../../...
11370         Use MATCHING_INO to compare inode number to file.
11371         Check for arithmetic overflow in size calculations.
11372         Fix bug in reallocation of dot array that caused getcwd to fail
11373         on directories nested deeper than 75.
11374         Be more careful about saving errno on error.
11375         Do not use realloc; use only free+malloc, as this is a bit
11376         more flexible and avoids a needless copy operation.
11377         Do not inspect st_dev and st_ino for symbolic links; POSIX
11378         doesn't specify the latter.
11379         Check for closedir errors.
11380         Avoid needless casts.
11381         Use "#ifdef weak_alias" around weak_alias, to be like other
11382         glibc code.
11383         The following changes to getcwd.c have effect only when used in
11384         gnulib; they have no effect inside glibc proper.
11385         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
11386         as alloca isn't used.
11387         (alloca, __alloca): Likewise.
11388         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
11389         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
11390         unconditionally, as gnulib assumes C89 or better.
11391         Do not include <sys/param.h>.
11392         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
11393         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
11394         better.
11395         (NULL) [!defined NULL]: Remove; we assume C89 or better.
11396         Include <dirent.h> in a way that is compatible with modern Autoconf.
11397         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
11398         New macros, if not already defined.
11399         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
11400         Use "_LIBC", not "defined _LIBC", for consistency.
11401         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
11402         a mempcpy module.
11403         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
11404         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
11405         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
11406         credit only to Jim Meyering and adjust the copyright dates.
11407         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
11408         <stdlib.h>, <unistd.h>, "pathmax.h".
11409         Instead, include "xgetcwd.h" (first) and "getcwd.h".
11410         (INITIAL_BUFFER_SIZE): Remove.
11411         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
11412
11413 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
11414
11415         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
11416         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
11417         Use the _ONCE methods, for efficiency.
11418         Check for fcntl.h.  In test program, include <errno.h>
11419         and <fcntl.h> if available.  Remove old K&R cruft from
11420         test program.  Check for common errors in GNU/Linux,
11421         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
11422         don't do AC_LIBOBJ, as that's getcwd.m4's job.
11423         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
11424         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
11425         name accordingly.
11426         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
11427         accommodate new getcwd.c.
11428         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
11429         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
11430         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
11431         that's all we need now.
11432
11433 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
11434
11435         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
11436         argp-parse.c depends on getopt internals, that means we should
11437         always use our getopt, to be on the safe side.
11438         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
11439         order not to spoil the result of an eventual previous invocation
11440         of gl_GETOPT_SUBSTITUTE.
11441
11442 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
11443
11444         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
11445         redefinition warnings. To avoid them, include the defines
11446         in `#if !defined __need_getopt ... #endif'. The only place
11447         where __getopt_argv_const is used is in definitions
11448         of getopt_long and getopt_long_only below, which are as well
11449         protected by `#ifndef __need_getopt'.
11450         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
11451         __need_getopt after including <stdio.h> and <unistd.h> These
11452         headers might have defined it.
11453
11454 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
11455
11456         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
11457
11458 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
11459
11460         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
11461         (futimens): New function, which uses futimes if available.
11462         (futimens, utimens): Support timespec==NULL, with same semantics
11463         as utime and utimens.
11464         * lib/utimens.h (futimens): New decl.
11465
11466 2004-11-23  Jim Meyering  <jim@meyering.net>
11467
11468         * lib/getopt_.h: Remove trailing blanks.
11469
11470 2004-11-23  Jim Meyering  <jim@meyering.net>
11471
11472         * lib/__fpending.c: Add comment.
11473
11474 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
11475
11476         * modules/canonicalize (Depends-on): Add xreadlink.
11477         Problem reported by James Youngman.
11478
11479 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
11480
11481         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
11482         New macros.
11483         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
11484         optopt): Use them instead of invoking ## directly; otherwise, the
11485         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
11486
11487 2004-11-19  Bruno Haible  <bruno@clisp.org>
11488
11489         * lib/strtok_r.c: Move comments from here...
11490         * lib/strtok_r.h: ... to here.
11491
11492 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
11493
11494         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
11495         implementations that mishandle size_t overflow.
11496
11497 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
11498
11499         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
11500         might fail.  Problem reported by Yoann Vandoorselaere.
11501         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
11502         implementations that mishandle size_t overflow.
11503
11504 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
11505
11506         * modules/canon-host (Depends-on): Add strdup.
11507
11508 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
11509
11510         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
11511
11512 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
11513
11514         * lib/canon-host.c: Include "strdup.h".
11515         (canon_host): Use getaddrinfo if available, so that IPv6 works.
11516         Use strdup instead of malloc/strcpy to duplicate strings.
11517
11518         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
11519         (human_space_before_unit): New constant.
11520         * lib/human.c (human_readable): Support it.
11521
11522         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
11523         (xgetcwd): Set errno correctly when failing.
11524         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
11525         the failure is actually due to a PATH_MAX problem.
11526
11527         Further getopt changes to make it more likely that glibc will
11528         buy the changes back.
11529         * lib/getopt.c (POSIXLY_CORRECT): New constant.
11530         (getopt): Use it, so to preserve glibc semantic
11531         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
11532         when compiling for libc.
11533         * lib/getopt_.h (__getopt_argv_const): Bring it back.
11534         (getopt_long, getopt_long_only): Use it.
11535
11536         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
11537         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
11538         (getopt): Argv is now char * const *, as per standard.
11539         (_getopt_internal_r, _getopt_internal): Argv is now char **,
11540         not char *__getopt_argv_const *.
11541         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
11542         _getopt_long_only_r): Likewise.
11543         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
11544         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
11545         _getopt_long_r, _getopt_long_only_r): Likewise.
11546         * lib/getopt_.h (__getopt_argv_const): Remove.
11547         (getopt): Argv is now char * const *, as per standard.
11548
11549         * lib/getdate.y (tORDINAL): New token.
11550         (day, relunit): Allow it for relative times.
11551         (relative_time_table): Use tORDINAL for ordinals.
11552
11553 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
11554
11555         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
11556         Document that "second" isn't allowed as an ordinal number.
11557
11558 2004-11-16  Jim Meyering  <jim@meyering.net>
11559
11560         * modules/closeout (Depends-on): Add fpending.
11561
11562 2004-11-15  Jim Meyering  <jim@meyering.net>
11563
11564         * lib/closeout.c: Include "__fpending.h" once again.
11565         Include <stdbool.h>.
11566         (close_stdout): Don't fail just because stdout was closed initially,
11567         since some programs don't write to stdout in the normal course of
11568         operation (other than --version and --help), and we don't want this
11569         function to make e.g. `touch file >&-' fail.
11570         But do fail if it was closed and someone has tried to write to it.
11571         E.g., `printf foo >&-' must fail.
11572
11573 2004-11-13  Jim Meyering  <jim@meyering.net>
11574
11575         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
11576
11577 2004-11-12  Simon Josefsson  <jas@extundo.com>
11578
11579         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
11580         small doc fix is still pending.
11581
11582 2004-11-11  Simon Josefsson  <jas@extundo.com>
11583
11584         * modules/strtok_r: New file.
11585
11586         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
11587         strtok_r.
11588
11589 2004-11-11  Simon Josefsson  <jas@extundo.com>
11590
11591         * m4/strtok_r.m4: New file.
11592
11593         * m4/getopt.m4: Replace opterr.
11594
11595 2004-11-11  Simon Josefsson  <jas@extundo.com>
11596
11597         * lib/strtok_r.h, strtok_r.c: New file.
11598
11599 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
11600
11601         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
11602         of replacing opterr, getopt, etc.  This should handle the
11603         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
11604
11605 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
11606
11607         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
11608         we can stop lying to compilers about the constness of argv when we
11609         are compiled outside glibc.
11610         (getopt, getopt_long, getopt_long_only): Use it.
11611         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
11612         _getopt_internal, getopt): Likewise.
11613         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
11614         _getopt_long_only_r): Likewise.
11615         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
11616         _getopt_long_r, _getopt_long_only_r): Likewise.
11617
11618         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
11619         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
11620         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
11621         the other external symbols.
11622         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
11623         declaration, since the above renaming now works around collisions.
11624
11625 2004-11-11  Jim Meyering  <jim@meyering.net>
11626
11627         * lib/linebreak.c: Remove trailing blanks.
11628         * lib/alloca_.h: Likewise.
11629         * lib/acosl.c: Likewise.
11630         * lib/euidaccess.c: Likewise.
11631         * lib/allocsa.h: Likewise.
11632
11633 2004-11-10  Simon Josefsson  <jas@extundo.com>
11634
11635         * m4/getaddrinfo.m4: New file.
11636
11637 2004-11-10  Simon Josefsson  <jas@extundo.com>
11638
11639         * lib/getaddrinfo.h, getaddrinfo.c: New files.
11640
11641 2004-11-10  Simon Josefsson  <jas@extundo.com>
11642
11643         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
11644         getaddrinfo.
11645
11646         * modules/getaddrinfo: New file.
11647
11648 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11649
11650         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
11651
11652 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11653
11654         * lib/mktime.c (SHR): New macro, which is a portable
11655         substitute for >> that should work even on Crays.
11656         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
11657         Problem reported by Mark D. Baushke in
11658         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
11659         * lib/getdate.y (SHR): Likewise.
11660         (tm_diff): Use it.
11661         * lib/strftime.c (SHR): Likewise.
11662         (tm_diff): Use it.
11663         * lib/quotearg.c (struct quoting_options): Use unsigned int for
11664         quote_these_too, so that right shifts are well defined.  All uses
11665         changed.
11666
11667 2004-11-10  Jim Meyering  <jim@meyering.net>
11668
11669         Ensure that no close failure goes unreported.
11670         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
11671         return early when it seems there's nothing to flush.
11672         Don't include __fpending.h.
11673
11674 2004-11-10  Jim Meyering  <jim@meyering.net>
11675
11676         * modules/closeout (Depends-on): Remove fpending.
11677
11678 2004-11-10  Jim Meyering  <jim@meyering.net>
11679
11680         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
11681
11682 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
11683
11684         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
11685         gl_FUNC_STRFTIME.
11686         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
11687         and AC_REQUIRE when possible, to avoid duplicate checks.
11688         Check for <wchar.h>.
11689
11690 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
11691
11692         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
11693
11694 2004-11-09  Bruno Haible  <bruno@clisp.org>
11695
11696         * m4/sockpfaf.m4: New file.
11697
11698 2004-11-05  Bruno Haible  <bruno@clisp.org>
11699
11700         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
11701         Reported by Mark D. Baushke <mdb@cvshome.org>.
11702
11703 2004-11-04  Bruno Haible  <bruno@clisp.org>
11704
11705         2004-09-11  Bruno Haible  <bruno@clisp.org>
11706                 * allocsa.valgrind: New file.
11707         2004-02-06  Bruno Haible  <bruno@clisp.org>
11708                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
11709                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
11710                 Reported by Christopher Seip <chris.seip@hp.com>.
11711
11712 2004-11-04  Bruno Haible  <bruno@clisp.org>
11713
11714         * modules/allocsa (Files): Add lib/allocsa.valgrind.
11715         (Makefile.am): Distribute it.
11716
11717 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
11718
11719         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
11720         with errno == ERANGE if the buffer is too small.
11721         Problem reported by Mark D. Baushke.
11722
11723 2004-11-03  Albert Chin <china@thewrittenword.com>
11724             Paul Eggert  <eggert@cs.ucla.edu>
11725
11726         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
11727         equivalent, substitute $ac_type for equivalent type rather than
11728         blindly using uint32_t *always* which won't work if uint32_t is not
11729         available.  Define _UINT32_T to work around typedef of uint32_t if
11730         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
11731         2.5.1.
11732
11733 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
11734
11735         * m4/jm-macros.m4: Sync from coreutils.
11736         (gl_MACROS): Check for mbrlen, for pathchk.
11737         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
11738
11739 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
11740
11741         * lib/xreadlink.c (MAXSIZE): New macro.
11742         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
11743         size does not exceed MAXSIZE.  Avoid cast.
11744         As suggested by Mark D. Baushke in
11745         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
11746         if readlink fails with buffer size just under MAXSIZE, try again
11747         with MAXSIZE.
11748
11749 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
11750
11751         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
11752
11753 2004-11-02  Derek R. Price  <derek@ximbiot.com>
11754         and  Paul Eggert  <eggert@cs.ucla.edu>
11755
11756         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
11757         (get_date): Overparenthesize to avoid GCC warning.
11758
11759 2004-11-02  Bruno Haible  <bruno@clisp.org>
11760
11761         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
11762         returns void.
11763
11764 2004-11-02  Bruno Haible  <bruno@clisp.org>
11765
11766         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
11767         function returns void.
11768
11769 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
11770
11771         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
11772         fflush_unlocked, flockfile, funlockfile, funlockfile,
11773         fputs_unlocked, putc_unlocked.
11774
11775 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
11776
11777         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
11778         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
11779         already declared.
11780
11781 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
11782
11783         * modules/getdate (Files): Add doc/getdate.texi.
11784         (Depends-on): Add setenv, xalloc.
11785
11786 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
11787
11788         * lib/getdate.y: Add support for TZ="foo" within a date string.
11789         Fix some bugs near time_t boundaries.  Reject dates with
11790         out-of-range components, e.g., "Sept 31".
11791         Include <stdlib.h>, "setenv.h", "xalloc.h".
11792         (ISDIGIT_LOCALE): Remove; unused.
11793         Note that the TZ and time functions used here are not reentrant.
11794         (mktime_ok, get_tz): New functions.
11795         (TZBUFSIZE): New constant.
11796         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
11797         This requires that we sometimes generate our own TZ="XXX..." setting.
11798
11799 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
11800
11801         * doc/getdate.texi: New file, from coreutils with modifications for
11802         the new TZ parsing.
11803
11804 2004-10-27  Derek R. Price  <derek@ximbiot.com>
11805
11806         * lib/mktime.c (not_equal_tm): Remove redundant check.
11807
11808 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
11809
11810         * modules/regex (lib_SOURCES): Add regex.c.
11811         Reported by James Youngman in
11812         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
11813
11814 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
11815
11816         * lib/getdate.y: Use Bison 1.875 features, and some minor
11817         code cleanups.  This change does not affect semantics.
11818         Don't include <stdlib.h>; no longer needed.
11819         Don't include unlocked-io.h; only the "#if TEST" code uses
11820         stdio, and performance isn't crucial there.
11821         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
11822         Bison 1.875 features as described below.
11823         All uses of "PC." replaced by "pc->".
11824         (YYSTYPE): Add a forward declaration.
11825         (yylex, yyerror): Use full prototypes in forward decls.
11826         Use "%pure-parser" rather than obsolescent "%pure_parser".
11827         Use %parse-param and %lex-param instead of obsolescent
11828         YYPARSE_PARAM and YYLEX_PARAM.
11829         (meridian_table, month_and_day_table, time_units_table,
11830         relative_time_table, time_zone_table, military_table,
11831         lookup_zone, lookup_word, get_date):
11832         Use NULL instead of 0 where appropriate.
11833         (to_hour): Avoid abort (), to avoid a dependency on
11834         stdlib.h.
11835         (yyerror, yylex): Now accepts parser_control * arg.
11836         (main) [TEST]: Use '\0' rather than 0 for char.
11837
11838 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
11839
11840         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
11841
11842 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
11843
11844         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
11845         It's now the caller's responsibility to handle the case where
11846         !HAVE_GETPAGESIZE && !defined getpagesize.
11847
11848         * lib/mktime.c (leapyear): Arg is long int, not int.
11849
11850 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
11851
11852         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
11853
11854 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
11855
11856         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
11857         missing.  Problem reported by James Youngman.
11858
11859 2004-10-16  Simon Josefsson  <jas@extundo.com>
11860
11861         * gnulib-tool: Fix comments.  Fix parse problem.
11862         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
11863
11864 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
11865
11866         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
11867         implementation of getopt_long.  Problem reported by Alexander Taler in:
11868         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
11869
11870 2004-10-15  Bruno Haible  <bruno@clisp.org>
11871
11872         * gnulib-tool: Untabify. Initialize supplied_libname.
11873         (func_usage): More homogenous output.
11874         (func_modules_transitive_closure, func_modules_to_filelist,
11875         func_emit_lib_Makefile_am): New functions.
11876         (func_import): New function, extracted from big case statement. Use
11877         func_get_license, func_modules_transitive_closure,
11878         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
11879         opt_lgpl. Don't use test -a, as it's not portable.
11880         (func_create_testdir): Use func_modules_transitive_closure,
11881         func_modules_to_filelist, func_emit_lib_Makefile_am.
11882
11883 2004-10-15  Bruno Haible  <bruno@clisp.org>
11884
11885         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
11886
11887 2004-10-15  Bruno Haible  <bruno@clisp.org>
11888
11889         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
11890         the portions belonging to each module.
11891         Suggested by Derek Robert Price <derek@ximbiot.com>.
11892
11893 2004-10-12  Simon Josefsson  <jas@extundo.com>
11894
11895         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
11896         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
11897         to real functions.
11898
11899 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
11900
11901         * modules/vsnprintf: New file.
11902
11903 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
11904
11905         * m4/vsnprintf.m4: New file.
11906
11907 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
11908
11909         * lib/vsnprintf.h: New file.
11910         * lib/vsnprintf.c: New file.
11911
11912 2004-10-11  Bruno Haible  <bruno@clisp.org>
11913
11914         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
11915         vsnprintf.
11916
11917 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
11918
11919         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
11920
11921 2004-10-07  Bruno Haible  <bruno@clisp.org>
11922
11923         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
11924         fits into the provided buffer.
11925
11926 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
11927
11928         * lib/diacrit.c, diacrit.h: Add GPL notice.
11929
11930         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
11931         notice.
11932         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
11933         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
11934         This avoids a potential constant-folding bug.
11935
11936 2004-10-05  Bruno Haible  <bruno@clisp.org>
11937
11938         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
11939         for the declaration of strsep.
11940
11941 2004-10-05  Bruno Haible  <bruno@clisp.org>
11942
11943         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
11944
11945 2004-10-04  Simon Josefsson  <jas@extundo.com>
11946
11947         * modules/memmem: New file.
11948         * tests/test-memmem.c: New file.
11949         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
11950
11951 2004-10-04  Simon Josefsson  <jas@extundo.com>
11952
11953         * m4/memmem.m4: New file.
11954
11955 2004-10-04  Simon Josefsson  <jas@extundo.com>
11956
11957         * lib/memmem.h: New file.
11958         * lib/memmem.c: New file, taken from glibc.
11959
11960 2004-10-04  Simon Josefsson  <jas@extundo.com>
11961
11962         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
11963         '#ifdef USE_UNLOCKED_IO'.
11964
11965 2004-10-04  Simon Josefsson  <jas@extundo.com>
11966
11967         * config/srclist.txt: Add memmem from glibc.
11968
11969 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
11970
11971         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
11972
11973         * modules/argmatch, modules/argp, modules/closeout, modules/error,
11974         modules/exclude, modules/getdate, modules/getline,
11975         modules/getndelim2, modules/getpass, modules/getpass-gnu,
11976         modules/getusershell, modules/linebuffer, modules/md5,
11977         modules/mountlist, modules/posixtm, modules/readtokens,
11978         modules/readutmp, modules/regex, modules/sha1,
11979         modules/version-etc, modules/yesno:
11980         Remove dependency on unlocked-io.
11981
11982 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
11983
11984         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
11985
11986         * m4/unlocked-io.m4: Add copyright notice.
11987         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
11988
11989 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
11990
11991         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
11992         * lib/xmalloc.c (xmemdup): Likewise.
11993         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
11994         XFREE): Remove these long-obsolescent macros.
11995         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
11996         * lib/xstrdup.c: Remove.
11997
11998         * lib/regex.c (re_comp): Cast gettext return value to char *,
11999         Problem reported by Martin Neitzel via Mark D. Baushke.
12000
12001 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
12002
12003         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
12004         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
12005         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
12006         regex.c, sha1.c, version-etc.c, yesno.c:
12007         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
12008         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
12009         the includer's responsibility.
12010
12011         Sync from coreutils.
12012
12013         * lib/modechange.c (mode_compile): Don't decrement a pointer that
12014         points to the start of a string, as the C Standard says the
12015         resulting behavior is undefined.
12016
12017         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
12018         simple -> simple_backups, numbered_existing ->
12019         numbered_existing_backups, numbered -> numbered_backups
12020         to avoid shadowing problems.  All uses changed.
12021         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
12022         * lib/backupfile.c (check_extension, numbered_backup):
12023         Rename locals to avoid shadowing 'basename'.
12024         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
12025         once.
12026
12027         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
12028         * lib/.cvsignore: Add getopt.h.
12029
12030 2004-10-04  Bruno Haible  <bruno@clisp.org>
12031
12032         * modules/README: New file.
12033         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
12034         not a module.
12035
12036 2004-10-02  Jim Meyering  <jim@meyering.net>
12037
12038         * lib/dirfd.h, getpagesize.h: Add copyright notice.
12039
12040 2004-10-01  Yoann Vandoorselaere <yoann@prelude-ids.org>
12041
12042         * modules/strsep: New file.
12043
12044 2004-10-01  Yoann Vandoorselaere <yoann@prelude-ids.org>
12045
12046         * m4/strsep.m4: New file.
12047
12048 2004-10-01  Yoann Vandoorselaere <yoann@prelude-ids.org>
12049
12050         * lib/strsep.h: New file.
12051         * lib/strsep.c: New file.
12052
12053 2004-10-01  Simon Josefsson  <jas@extundo.com>
12054
12055         * lib/snprintf.c (snprintf): Handle size==0.
12056
12057 2004-10-01  Simon Josefsson  <jas@extundo.com>
12058             Bruno Haible  <bruno@clisp.org>
12059
12060         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
12061         (snprintf): Declare 'args'.
12062
12063 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
12064
12065         * lib/snprintf.c: Remove comments as to why each header is needed.
12066
12067 2004-10-01  Bruno Haible  <bruno@clisp.org>
12068
12069         * MODULES.html.sh: Add strsep.
12070
12071 2004-09-30  Simon Josefsson  <jas@extundo.com>
12072
12073         * modules/snprintf: New file.
12074
12075 2004-09-30  Simon Josefsson  <jas@extundo.com>
12076
12077         * m4/snprintf.m4: New file.
12078
12079 2004-09-30  Simon Josefsson  <jas@extundo.com>
12080
12081         * lib/snprintf.h, snprintf.c: New files.
12082
12083 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12084
12085         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
12086         (hol_entry_help): Never translate an empty string.
12087         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
12088         * lib/argp.h (OPTION_NO_TRANS): New option.
12089
12090 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
12091
12092         * modules/argp (Maintainer): Replace Simon Josefsson
12093         by Sergey Poznyakoff.
12094
12095 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
12096
12097         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
12098         changes merged back into glibc.
12099
12100 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
12101
12102         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
12103
12104 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
12105
12106         * lib/xvasprintf.c: Include xalloc.h.
12107         (xvasprintf): Use xalloc_die, not xmalloc_die.
12108
12109 2004-09-29  Bruno Haible  <bruno@clisp.org>
12110
12111         * modules/alloca-opt: New file, derived from modules/alloca.
12112         * modules/allocsa: Depend on alloca-opt instead of alloca.
12113         * modules/setenv: Likewise.
12114         * modules/vasnprintf: Likewise.
12115         * MODULES.html.sh: Add alloca-opt.
12116
12117 2004-09-28  Simon Josefsson  <jas@extundo.com>
12118
12119         * gnulib-tool: New parameter --lgpl, to asseert that modules are
12120         LGPL, and to replace license template from GPL to LGPL.
12121
12122 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
12123
12124         * modules/dummy: Change license to LGPL.
12125
12126 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
12127
12128         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
12129
12130 2004-09-24  Simon Josefsson  <jas@extundo.com>
12131
12132         * modules/minmax (License): Change from GPL to LGPL.
12133
12134 2004-09-23  Simon Josefsson  <jas@extundo.com>
12135
12136         * gnulib-tool (--import): Typo.
12137
12138 2004-09-23  Simon Josefsson  <jas@extundo.com>
12139
12140         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
12141
12142 2004-09-22  Bruno Haible  <bruno@clisp.org>
12143
12144         * modules/*: Add 'License' field.
12145         * gnulib-tool: Accept --extract-license option.
12146         (func_get_license): New function.
12147
12148 2004-09-21  Bruno Haible  <bruno@clisp.org>
12149
12150         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
12151         Reported by Simon Josefsson.
12152
12153 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
12154
12155         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
12156         gl_AC_TYPE_LONG_LONG.
12157
12158 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
12159
12160         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
12161
12162 2004-09-18  Simon Josefsson  <jas@extundo.com>
12163         and  Paul Eggert  <eggert@cs.ucla.edu>
12164
12165         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
12166         calls with autoreconf.  Define GL_LIB.
12167
12168 2004-09-14  Karl Berry  <karl@gnu.org>
12169
12170         * config/srclist.txt: unsync setenv.c, sigh.
12171
12172 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
12173
12174         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
12175         Problem reported by Bruno Haible in:
12176         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
12177
12178 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
12179
12180         * config/srclist.txt: Comment out argp-pvh.c.
12181
12182 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
12183
12184         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
12185         in case some system header has #define'd it.  Problem reported by
12186         Soeren D. Schulze in
12187         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
12188
12189 2004-09-09  Karl Berry  <karl@gnu.org>
12190
12191         * regex.[ch]: delete from the root.  These were supposed to be
12192                 synced with emacs cvs, but this has not happened for about
12193                 a year, and anyway nothing else uses emacs regex.[ch].
12194                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
12195                 lib/regex[.ch] is untouched.
12196
12197 2004-09-09  Bruno Haible  <bruno@clisp.org>
12198
12199         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
12200
12201 2004-09-09  Bruno Haible  <bruno@clisp.org>
12202
12203         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
12204         modifications.
12205         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
12206
12207 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
12208
12209         * modules/xvasprintf: New file.
12210         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
12211
12212 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
12213
12214         * lib/xvasprintf.h: New file.
12215         * lib/xvasprintf.c: New file.
12216         * lib/xasprintf.c: New file.
12217
12218 2004-09-08  Bruno Haible  <bruno@clisp.org>
12219
12220         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
12221
12222 2004-09-08  Bruno Haible  <bruno@clisp.org>
12223
12224         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
12225         length is > INT_MAX.
12226         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
12227         more.
12228
12229 2004-09-08  Bruno Haible  <bruno@clisp.org>
12230
12231         * lib/stdint_.h: New file, taken from GNU clisp.
12232
12233 2004-09-08  Bruno Haible  <bruno@clisp.org>
12234             Oskar Liljeblad  <oskar@osk.mine.nu>
12235
12236         * modules/stdint: New file.
12237         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
12238
12239 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
12240
12241         Import from coreutils.
12242         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
12243         strings on unbounded length.  alloca's performance benefits aren't
12244         that important here.
12245         (V_STRDUP): Remove.
12246         (parse_with_separator): New function, with most of the internals
12247         of the old parse_user_spec.  Allow user to omit both user and group,
12248         for compatibility with FreeBSD.
12249         Clone only the user name, not the entire spec.
12250         Do not set *uid, *gid unless entirely successful.
12251         Avoid memory leak in some failing cases.
12252         Fix regression for USER.GROUP reported by Dmitry V. Levin in
12253         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
12254         (parse_user_spec): Rewrite to use parse_with_separator.
12255
12256 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
12257
12258         * modules/userspec: Don't depend on alloca.
12259
12260 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
12261
12262         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
12263
12264 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
12265
12266         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
12267         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
12268         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
12269
12270 2004-08-16  Simon Josefsson  <jas@extundo.com>
12271
12272         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
12273         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
12274         Add --dry-run for --import.
12275         Let user provided command line parameters override configure.ac
12276         settings.
12277
12278 2004-08-12  Simon Josefsson  <jas@extundo.com>
12279
12280         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
12281         as discussed with Paul Eggert in threads rooted at
12282         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
12283         and
12284         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
12285         Before, the test was empty, and relied on ELIDE_CODE in source
12286         code.)
12287         (gl_PREREQ_GETOPT): New macro.
12288         (gl_GETOPT): Use them.
12289
12290 2004-08-12  Simon Josefsson  <jas@extundo.com>
12291
12292         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
12293         * lib/getopt_.h: Renamed from getopt.h.
12294
12295 2004-08-12  Simon Josefsson  <jas@extundo.com>
12296
12297         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
12298         Change default library name from libfoo to libgnu.
12299         Now, if you have a configure.ac that says:
12300                 gl_SOURCE_BASE(gl)
12301                 gl_M4_BASE(gl/m4)
12302                 gl_MODULES(error getopt etcetera)
12303                 gl_INIT
12304         you can import all you need by running:
12305                 ../gnulib/gnulib-tool --import
12306
12307         * modules/getopt (Files): Rename getopt.h to getopt_.h.
12308         (Makefile.am): Rewrite, use logic from argz.
12309         (Include): Use <getopt.h> instead of "getopt.h".
12310
12311 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
12312
12313         * modules/argp (Files): Add m4/unlocked-io.m4.
12314         (Depends-on): Add extensions.
12315
12316 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
12317
12318         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
12319         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
12320         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
12321         Check for program_invocation_name, program_invocation_short_name,
12322         flockfile, funlockfile, features.h, _getopt_long_only_r.
12323
12324 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
12325
12326         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
12327         its complicated substitute.
12328         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
12329         and program_invocation_name.
12330         (__argp_basename) [!_LIBC]: Remove; the only use was
12331         replaced by its body.
12332         (__argp_short_program_name): Change condition from
12333         !defined __argp_short_program_name to
12334         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
12335         to match argp-namefrob.h.
12336         (__argp_failure): Don't assume strerror_r returns char *.
12337         * lib/argp-parse.c (N_): Define unconditionally.
12338         (argp_default_options): Fill out initializers with 0 to avoid
12339         gcc warnings.
12340
12341 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
12342
12343         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
12344         getopt1.c.
12345
12346 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
12347
12348         Merge from coreutils.
12349
12350         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
12351
12352         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
12353         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
12354
12355 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
12356
12357         Merge from coreutils.
12358
12359         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
12360         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
12361         for Reliant Unix 5.43.
12362
12363         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
12364         (union fooround): Use uintmax_t, not long int.
12365         The rest is a merge from libc:
12366         [defined _LIBC]: Include <shlib-compat.h>.
12367         (_obstack) [defined _LIBC]: Remove after 2.3.4.
12368
12369         * lib/settime.c (settime): Recode to avoid warning with
12370         Sun Forte C 6U2.
12371
12372         * lib/strverscmp.c: Convert to UTF-8.
12373
12374 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
12375
12376         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
12377         m4/uintmax_t.m4.
12378
12379 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
12380
12381         * modules/xalloc-die: New file.
12382         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
12383
12384         * modules/md5 (Files): Add m4/uint32_t.m4.
12385         * modules/sha1: Renamed from modules/sha.
12386         (Files):
12387         Rename lib/sha.h to lib/sha1.h.
12388         Rename lib/sha.c to lib/sha1.c.
12389         Rename m4/sha.m4 to m4/sha1.m4.
12390         (lib_SOURCES): Likewise.
12391         (configure.ac): Rename gl_SHA to gl_SHA1.
12392         (Include): sha.h -> sha1.h.
12393
12394 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
12395
12396         * m4/uint32_t.m4, uintptr_t.m4: New files.
12397         * m4/sha1.m4: Renamed from sha.m4.
12398         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
12399
12400 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
12401
12402         * lib/obstack.h (obstack_empty_p):
12403         Don't assume that chunk->contents is suitably aligned.
12404         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
12405         Likewise. Problem reported by Benno in
12406         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
12407
12408         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
12409         readable.  This could be improved further but it'd take some work.
12410
12411 2004-08-08  Simon Josefsson  <jas@extundo.com>
12412
12413         * modules/xgethostname (Depends-on): Remove exit and error (not
12414         used).
12415
12416         * modules/getpass-gnu: Add getpass.h.
12417         (Depends-on): Add stdbool.
12418         * modules/getpass: Add getpass.h.
12419
12420 2004-08-08  Simon Josefsson  <jas@extundo.com>
12421
12422         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
12423         Check getpass declaration.
12424
12425 2004-08-08  Simon Josefsson  <jas@extundo.com>
12426
12427         * lib/xgethostname.c: Don't include error.h (not used).
12428
12429         * lib/getpass.h: Add.
12430         * lib/getpass.c: Include getpass.h first.
12431
12432 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
12433
12434         * lib/xalloc-die.c: New files.
12435         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
12436         All uses removed.
12437         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
12438         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
12439         xalloc-die.c.
12440         (_, N_, xalloc_die): Move to xalloc-die.c.
12441         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
12442         so that we needn't mess with xalloc_msg_memory_exhausted.
12443
12444         * lib/sha1.h: Renamed from sha.h.
12445         (SHA1_H): Renamed from _SHA_H.
12446         (sha1_ctx): Renamed from sha_ctx.
12447         (sha1_init_ctx): Renamed from sha_init_ctx.
12448         (sha1_process_block): Renamed from sha_process_block.
12449         (sha1_process_bytes): Renamed from sha_process_bytes.
12450         (sha1_finish_ctx): Renamed from sha_finish_ctx.
12451         (sha1_read_ctx): Renamed from sha_read_ctx.
12452         (sha1_stream): Renamed from sha_stream.
12453         (sha1_buffer): Renamed from sha_buffer.
12454         * lib/sha1.c: Likewise; renamed from sha.c.
12455         Do not include <sys/types.h>.
12456         Include <stddef.h> rather than <stdlib.h>.
12457
12458 2004-08-08  Bruno Haible  <bruno@clisp.org>
12459
12460         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
12461         FILESYSTEM_PREFIX_LEN.
12462         * lib/progreloc.c: Likewise.
12463         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
12464
12465 2004-08-06  Simon Josefsson  <jas@extundo.com>
12466
12467         * modules/progname (Depends-on): Don't depend on stdbool.
12468
12469 2004-08-06  Simon Josefsson  <jas@extundo.com>
12470
12471         * modules/getsubopt: New file.
12472         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
12473         getsubopt.
12474
12475 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
12476
12477         More merge from coreutils.
12478
12479         * m4/utimens.m4, utimecmp.m4: New files.
12480         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
12481         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
12482         prereq.m4, sha.m4: Import changes from coreutils.
12483
12484 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
12485
12486         More merge from coreutils.
12487         * modules/raise, modules/readtokens0, modules/utimens,
12488         modules/utimecmp, module/xnanosleep: New files.
12489         * modules/strftime: Add lib/strftime.h.
12490         Change include from <time.h> to "strftime.h".
12491         * modules/yesno: Add lib/yesno.h.
12492         * modules/backupfile: Remove lib/addext.c.
12493         * modules/euidaccess: Add stat-macros.h.
12494         * modules/canonicalize, modules/euidaccess,
12495         modules/filemode, modules/lchown, modules/makepath,
12496         modules/rmdir, modules/stat: Likewise.
12497
12498 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
12499
12500         Merge from tar.
12501         * lib/argp-help.c (make_hol, hol_append): Don't assume that
12502         SIZE_MAX is a valid preprocessor constant.
12503         (__argp_basename): Change from "#ifndef _LIBC"
12504         to "#ifndef __argp_short_program_name", so that
12505         we don't compile these functions for tar.
12506
12507         More merges from coreutils.
12508         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h,
12509         lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c,
12510         lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
12511         * lib/addext.c: Remove; no longer needed.
12512         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
12513         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
12514         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
12515         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
12516         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
12517         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
12518         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
12519         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
12520         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
12521         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
12522         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
12523         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
12524         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
12525         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
12526         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
12527         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
12528         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
12529         Import changes from coreutils.
12530
12531 2004-08-05  Simon Josefsson  <jas@extundo.com>
12532
12533         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
12534
12535 2004-08-05  Simon Josefsson  <jas@extundo.com>
12536
12537         * m4/getsubopt.m4: New file.
12538
12539 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
12540
12541         Merge from coreutils.
12542
12543         * m4/c-strtod.m4, canonicalize.m4, fcntl-safer.m4, getcwd-path-max.m4:
12544         New files.
12545
12546         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
12547         FILESYSTEM_PREFIX_LEN ->
12548         FILE_SYSTEM_PREFIX_LEN.
12549         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
12550         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
12551         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
12552         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
12553
12554         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
12555         prerequisite modules now handle the DOS stuff.
12556         Don't check for unistd.h.
12557
12558 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
12559
12560         Merge from coreutils.
12561
12562         * lib/.gdb-history: Remove; this doesn't belong here.
12563
12564         * lib/c-strtod.c, c-strtod.h, c-strtold.c, cycle-check.c,
12565         cycle-check.h, dev-ino.h, canonicalize.h, canonicalize.c,
12566         fcntl-safer.h, fcntl-safer.c, getcwd.c: New files.
12567
12568         * lib/dirname.h: Include <stdbool.h>.
12569         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
12570         for consistency with POSIX terminology.  All uses changed.
12571         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
12572         (strip_trailing_slashes): Use bool for booleans.
12573         * lib/stripslash.c (strip_trailing_slashes): Likewise.
12574
12575         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
12576         sometimes returns a positive errno value even when it succeeds.
12577         (print_errno_message) [!LIBC]: Fall back on strerror if
12578         __strerror_r fails.
12579
12580         * lib/path-concat.c (mempcpy): Don't define if a system header defines
12581         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
12582         (longest_relative_suffix): New function.
12583         (path_concat): Use it.  Assume first argument is not NULL.
12584         Port to DOS.  Omit redundant separators.
12585         Report an error instead of returning NULL.
12586         Use mempcpy instead of memcpy.
12587         (xpath_concat): Remove: not declared or used.
12588
12589         * lib/same.h: Include <stdbool.h>
12590         (same_name): Return bool, not int.
12591         * lib/same.c (same_name): Likewise.
12592         (errno): Don't declare; we assume C89 or better now.
12593
12594         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
12595         if not already defined.
12596
12597         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
12598         * lib/dup-safer.c (errno): Likewise.
12599
12600 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
12601
12602         Merge from coreutils.
12603         * modules/c-strtod, modules/c-strtold, modules/canonicalize,
12604         modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
12605         * modules/path-concat: Don't depend on strdup.
12606
12607 2004-08-03  Simon Josefsson  <jas@extundo.com>
12608
12609         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
12610         * lib/progname.h: Don't include stdbool.h.
12611
12612 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
12613
12614         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
12615         * MODULES.html.sh (func_all_modules): Remove fatal.
12616
12617 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
12618
12619         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
12620
12621 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
12622
12623         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
12624         working.
12625
12626 2004-08-02  Simon Josefsson  <jas@extundo.com>
12627
12628         * lib/getsubopt.h: New file, with comments from Bruno Haible.
12629         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
12630         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
12631
12632 2004-08-01  Simon Josefsson  <jas@extundo.com>
12633
12634         * lib/xgetdomainname.c: Include stdlib.h, for free().
12635
12636 2004-07-19  Bruno Haible  <bruno@clisp.org>
12637
12638         * MODULES.html.sh (func_all_modules): Add dummy.
12639
12640 2004-07-16  Simon Josefsson  <jas@extundo.com>
12641
12642         * modules/dummy: New file.
12643
12644 2004-07-16  Simon Josefsson  <jas@extundo.com>
12645
12646         * lib/dummy.c: New file.
12647
12648 2004-07-16  Bruno Haible  <bruno@clisp.org>
12649
12650         * lib/backupfile.h: Add extern "C" for C++.
12651         * lib/closeout.h: Likewise.
12652         * lib/copy-file.h: Likewise.
12653         * lib/findprog.h: Likewise.
12654         * lib/full-write.h: Likewise.
12655         * lib/pathname.h: Likewise.
12656         * lib/progname.h: Likewise.
12657         * lib/stpcpy.h: Likewise.
12658         * lib/stpncpy.h: Likewise.
12659         * lib/strcase.h: Likewise.
12660         * lib/strstr.h: Likewise.
12661         * lib/xalloc.h: Likewise.
12662
12663         * lib/mbswidth.h: Add extern "C" for C++.
12664         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
12665
12666 2004-07-13  Robert Millan  <robertmh@gnu.org>
12667
12668         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
12669
12670 2004-07-09  Simon Josefsson  <jas@extundo.com>
12671
12672         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
12673         failed without this.)
12674
12675 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
12676
12677         * modules/chown (Files): Add lib/fchown-stub.c, since
12678         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
12679
12680 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
12681
12682         * lib/fchown-stub.c: New file.
12683
12684 2004-06-24  Jim Meyering  <jim@meyering.net>
12685
12686         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
12687
12688 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
12689
12690         * modules/argz: Omit "#include".
12691
12692         * MODULES.html.sh (func_all_modules): Add calloc, to match
12693         2004-06-01 addition of calloc module.
12694
12695 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
12696
12697         * m4/argz.m4: New file, which is autoupdated from libtool.
12698
12699 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
12700
12701         * lib/argz.c, argz_.h: New files, which are autoupdated from libtool.
12702
12703 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
12704
12705         * config/srclist-update: Don't insist on "USA." before the
12706         close-comment, as libtool omits the period and puts the */ on a
12707         separate line.
12708         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
12709         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
12710
12711 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
12712
12713         * modules/argz: New file.
12714         * MODULES.html.sh (func_all_modules): Add argz.
12715
12716 2004-06-12  Jim Meyering  <jim@meyering.net>
12717         and  Paul Eggert  <eggert@cs.ucla.edu>
12718
12719         * modules/hash (Files): Add lib/xalloc.h.
12720         * modules/pipe (Depends-on): Add wait-process.
12721         * modules/stat (Depends-on): Add xalloc.
12722         * modules/userspec (Files): Add lib/userspec.h.
12723         * modules/xstrto
12724
12725         Upgrade from gettext-0.13.
12726         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
12727         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
12728         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
12729
12730 2004-06-10  Jim Meyering  <jim@meyering.net>
12731
12732         * lib/calloc.c: New file.
12733
12734 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
12735
12736         * lib/getdate.y (yylex): Allow space between sign and number.
12737         Problem reported by Dan Jacobson.
12738
12739 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
12740
12741         Merge from coreutils CVS.
12742
12743         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
12744         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
12745         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
12746         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
12747         xstrtol.m4: Fix copyright date and/or serial number.
12748
12749         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
12750         See if we need an fchown replacement.
12751         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
12752         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
12753         and use the replacement function if we detect either defect.
12754
12755         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
12756         gl_UTIMECMP.
12757
12758 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
12759         and  Jim Meyering  <jim@meyering.net>
12760
12761         Merge from coreutils CVS.
12762
12763         * lib/stat-macros.h: New file, with contents from file-type.h
12764         and coreutils' system.h.
12765         * lib/file-type.c: Include "stat-macros.h".
12766         * lib/file-type.h (file_type): Move all macro definitions to new file,
12767         stat-macros.h.
12768
12769         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
12770         Wrap old code with this conditional.
12771         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
12772         function that does not dereference symlinks.
12773         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
12774
12775         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
12776         dependency problems.
12777         (xreadlink): Accept new arg SIZE, for efficiency.
12778         All decls and uses changed.
12779         * lib/xreadlink.h: Include <stddef.h>, for size_t.
12780
12781         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
12782         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
12783
12784         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
12785         sysexits.h.
12786
12787 2004-06-01  Jim Meyering  <jim@meyering.net>
12788
12789         * m4/calloc.m4: New file.
12790
12791 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
12792
12793         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
12794         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
12795         Also, fix a typo in a diagnostic.
12796
12797 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
12798
12799         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
12800         or AC_FUNC_REALLOC.
12801
12802 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
12803
12804         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
12805         macros to be defined.
12806         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
12807         the allocator returns NULL because the requested size is zero.
12808
12809 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
12810
12811         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
12812         var.  Add comment explaining why libc still defines it.  This
12813         merges the following patch from glibc:
12814         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
12815
12816 2004-05-20  Andreas Schwab  <schwab@suse.de>
12817
12818         * m4/free.m4: Replace free if it not known to work, not the other
12819         way round.
12820
12821 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
12822
12823         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
12824         present in glibc since revision 1.1 of this file.
12825         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
12826         obstack_alignment_mask, obstack_alloc, obstack_base,
12827         obstack_blank, obstack_blank_fast, obstack_chunk_size,
12828         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
12829         obstack_grow0, obstack_init, obstack_int_grow,
12830         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
12831         obstack_next_free, obstack_object_size, obstack_ptr_grow,
12832         obstack_ptr_grow_fast, obstack_room): Remove declarations of
12833         nonexistent functions.
12834
12835 2004-05-18  Karl Berry  <karl@gnu.org>
12836
12837         * config/srclist.txt: break link for vasnprintf.c.
12838
12839 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
12840
12841         Port obstack to the AS/400, where pointers are 16 bytes wide and
12842         you cannot cast an integer to a valid pointer.  This patch is
12843         currently waiting to be integrated into glibc; see
12844         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
12845
12846         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
12847         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
12848         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
12849         (struct obstack): temp member is now a union of a pointer and
12850         an integer, instead of an integer.  All integer uses changed.
12851         This does not affect the physical layout of struct obstack,
12852         except on hosts (like the AS/400) where the size or alignment of
12853         void * is greater than that of ptrdiff_t.
12854         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
12855         __STDC__)]: Store temporary in pointer member of union, not
12856         integer member.
12857         * lib/obstack.c: Include <stddef.h>, for offsetof.
12858         (struct fooalign): Remove; it doesn't need a name.
12859         (union fooround): Change double to long double, and add void *.
12860         (DEFAULT_ALIGNMENT): Use offsetof to compute.
12861         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
12862         not a macro.  Hence the values are always int; so remove all
12863         casts-to-int in uses.
12864
12865 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
12866
12867         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
12868         we can get this patch merged into glibc.
12869
12870 2004-05-17  Derek R. Price  <derek@ximbiot.com>
12871             Paul Eggert  <eggert@cs.ucla.edu>
12872
12873         * m4/argp: Depend on alloca.
12874
12875 2004-05-17  Derek R. Price  <derek@ximbiot.com>
12876             Paul Eggert  <eggert@cs.ucla.edu>
12877
12878         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
12879         freecoding.
12880
12881 2004-05-17  Bruno Haible  <bruno@clisp.org>
12882
12883         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
12884         precision that consists of a '.' followed by an empty digit string.
12885         Patch by Tor Lillqvist <tml@iki.fi>.
12886
12887 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
12888
12889         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
12890         for backward compatibility with older code.  We need our own
12891         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
12892         it under some other name, and our alloca.h will define it.
12893
12894 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
12895             Derek Price  <derek@ximbiot.com>
12896
12897         * lib/alloca.c: Include <alloca.h>, to get our interface.
12898         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
12899         include <alloca.h> first.  Use C89 prototype for alloca; this
12900         requires including <stddef.h> for size_t.  Use extern "C" if C++.
12901         Use #elif for simplicity, since we can assume C89 now.
12902         Don't try to source the system alloca.h since it will not be found
12903         and to prevent recursively including its replacement.
12904         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
12905         * lib/regex.c: Likewise.
12906
12907 2004-05-16  Derek Price  <derek@ximbiot.com>
12908             Paul Eggert  <eggert@cs.ucla.edu>
12909
12910         getline cleanup.  This changes the getndelim2 API: both order of
12911         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
12912         no delimiter).
12913
12914         * lib/getline.c: Don't include stddef.h or stdio.h, since our
12915         interface does that.
12916         (getline): Always use getdelim, so that we don't have two
12917         copies of this code.
12918         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
12919         if available.
12920         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
12921         (GETNDELIM2_MAXIMUM): New macro.
12922         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
12923         instead of the old practice of delim2==0.  All callers changed.
12924         Return -1 on overflow, instead of returning junk.
12925         Do not set *linesize unless allocation succeeds.
12926         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
12927         that we include sys/types.h.
12928         * lib/getnline.h: Likewise.
12929         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
12930         (getndelim2): Reorder arguments.
12931         * lib/getnline.c (getnline, getndelim):
12932         Don't discard the NMAX argument.
12933         (getnline): Invoke getndelim, to avoid code duplication.
12934         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
12935         of (size_t) -1 by callers of the getnline family.
12936
12937 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
12938
12939         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
12940         Check for gettimeofday.
12941         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
12942         Check for settimeofday, stime.
12943
12944 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
12945
12946         * lib/nanosleep.c (suspended): Change its type from int to
12947         sig_atomic_t volatile.
12948         (first_call): Make it private to rpl_nanosleep, and have it
12949         be zero initially as that's a bit faster.
12950         (my_usleep): Round up fractional times instead of truncating them,
12951         as this is the usual meaning for 'sleep'.
12952
12953         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
12954         doesn't work.
12955         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
12956         (ENOSYS): Define if not defined.
12957         (settime): Fall back on stime if it exists and settimeofday fails.
12958         But don't bother with fallbacks if a method fails with errno == EPERM.
12959
12960 2004-05-11  Jim Meyering  <jim@meyering.net>
12961
12962         Prior to this change, the save_cwd caller required read access to the
12963         current directory on most systems (ones with the fchdir function).
12964
12965         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
12966         fails, try write-only, and finally, resort to using xgetcwd.
12967
12968 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
12969
12970         * lib/obstack.c, obstack.h: Import changes from libc.
12971
12972 2004-04-28  Bruno Haible  <bruno@clisp.org>
12973
12974         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
12975         also implicitly appends .exe to executables.
12976         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
12977         accepts Windows pathnames.
12978         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
12979         Treat Cygwin like Windows, since it now accepts Windows pathnames.
12980         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
12981         Treat Cygwin like Windows, since it now accepts Windows pathnames.
12982         Reported by Derek Robert Price <derek@ximbiot.com>.
12983
12984 2004-04-21  Karl Berry  <karl@gnu.org>
12985
12986         * config/srclist.txt (localcharset.c): break sync.
12987
12988 2004-04-20  Paul Eggert  <eggert@twinsun.com>
12989
12990         * m4/host-os.m4: Add a copyright notice.
12991
12992 2004-04-20  Jim Meyering  <jim@meyering.net>
12993
12994         Change UTILS_ to gl_ in AC_DEFINE'd names.
12995         Change utils_- and jm_-prefixed variables, too.
12996         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
12997         UTILS_FUNC_MKDIR_TRAILING_SLASH.
12998         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
12999
13000         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
13001         Don't emit trailing blanks.
13002         Also rename jm_-prefixed variables to have gl_ prefix.
13003
13004         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
13005         Also rename jm_-prefixed variables to have gl_ prefix.
13006
13007         * m4/jm-macros.m4: Reflect the renamings.
13008         * m4/prereq.m4: Likewise.
13009
13010 2004-04-20  Jim Meyering  <jim@meyering.net>
13011
13012         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
13013         memory.
13014
13015 2004-04-20  Jim Meyering  <jim@meyering.net>
13016             Bruno Haible  <bruno@clisp.org>
13017
13018         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
13019         memory when realloc fails.
13020
13021 2004-04-19  Jim Meyering  <jim@meyering.net>
13022
13023         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
13024         now that readutmp.c may call `free (0)'.
13025
13026 2004-04-19  Bruno Haible  <bruno@clisp.org>
13027
13028         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
13029         * m4/inttypes_h.m4: Likewise.
13030         * m4/stdint_h.m4: Likewise.
13031         * m4/intmax_t.m4: Likewise.
13032         * m4/uintmax_t.m4: Likewise.
13033
13034 2004-04-18  Jim Meyering  <jim@meyering.net>
13035
13036         * m4/prereq.m4: Don't forbid jm_ prefix.
13037
13038         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
13039         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
13040         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
13041         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
13042         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
13043         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
13044         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
13045         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
13046         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
13047         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
13048         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
13049         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
13050         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
13051         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
13052         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
13053         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
13054         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
13055         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
13056         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
13057
13058 2004-04-18  Jim Meyering  <jim@meyering.net>
13059
13060         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
13061         failure, don't leak memory and do call END_UTMP_ENT.
13062
13063 2004-04-16  Jim Meyering  <jim@meyering.net>
13064
13065         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
13066         coreutils' stat program.
13067         (gl_PREREQ): Don't require jm_PREREQ_STAT.
13068
13069 2004-04-11  Paul Eggert  <eggert@twinsun.com>
13070
13071         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
13072         C89.
13073         (CHAR_BIT): Remove, since we assume C89.
13074         Include <stdint.h> if available, as per current Autoconf CVS advice.
13075
13076 2004-03-31  Jim Meyering  <jim@meyering.net>
13077
13078         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
13079         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
13080         * m4/xalloc.m4: Likewise.
13081
13082 2004-03-30  Paul Eggert  <eggert@twinsun.com>
13083
13084         Merge from coreutils.
13085
13086         * m4/inttostr.m4: New file.
13087         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
13088         Require AM_STDBOOL_H and gl_TIMESPEC instead.
13089         Require gl_CLOCK_TIME.
13090         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
13091
13092 2004-03-30  Paul Eggert  <eggert@twinsun.com>
13093
13094         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
13095         not bool, to be more consistent with Unix conventions.
13096         Suggested by Bruno Haible.
13097
13098         Merge from coreutils.
13099
13100         * lib/imaxtostr.c, inttostr.c, inttostr.h, offtostr.c, umaxtostr.c:
13101         New files.
13102
13103         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
13104         the usual <time.h> dance.
13105         (get_date): Change signature to support fractional time stamps.
13106         All callers changed.
13107         * lib/getdate.y: Include "getdate.h" first, as we can now
13108         assume C89 and don't need to worry about 'const'.
13109         Similarly, include "unlocked-io.h" near start, not in middle.
13110         Include <limits.h>.
13111         (textint.value): Use long int rather than int.
13112         (textint.digits): Use size_t rather than int.
13113         (BILLION, LOG10_BILLION): New constants.
13114         (parser_control): New member rel_ns.  Members day_ordinal,
13115         time_zone, month, day, hour, minutes, rel_year, rel_month,
13116         rel_day, rel_hour, rel_minutes, rel_seconds
13117         are now long int, not int.  Member seconds is now struct timespec,
13118         not int.  New member timespec_seen.  Members dates_seen, days_seen,
13119         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
13120         not int.
13121         (%union.intval): Now long int, not int.
13122         New member timespec.
13123         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
13124         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
13125         (spec): Now is a timespec or an item list.
13126         (timespec, items): New nonterminals.
13127         (time, rel, relunit, number, get_date):
13128         Add support for fractional seconds.
13129         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
13130         (gmtime, localtime, mktime): Remove decls; not needed with C89.
13131         (to_hour): First arg is now long int, not int.
13132         (to_year): Returns long int, not int.
13133         Don't treat year -70 like 70.
13134         (tm_diff): Returns long int, not int.
13135         (lookup_word): Use bool instead of int when appropriate.
13136         (yylex): Use size_t for count, not int.
13137         Detect overflow when parsing large integer constants.
13138         Add support for fractions.
13139         (get_date): Make pointers 'const' if possible.
13140         Use more-portable code to detect integer overflow.
13141         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
13142         Don't use ctime; it's not reliable if the year has >4 digits.
13143
13144         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
13145         This is for compatibility with BSD.
13146
13147         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
13148         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
13149         From coreutils' system.h.
13150
13151         * lib/userspec.c: Don't include "posixver.h".
13152         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
13153         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
13154         compatible extension.  Simplify code by removing a boolean int
13155         that was always nonzero if a string was nonnull.
13156
13157 2004-03-30  Jim Meyering  <jim@meyering.net>
13158
13159         Merge from coreutils.
13160
13161         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
13162         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
13163         on some systems one must include <grp.h> before it.
13164         Reported by Christian Krackowizer.
13165
13166 2004-03-30  Jim Meyering  <jim@meyering.net>
13167
13168         Merge from coreutils.
13169
13170         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
13171
13172         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
13173         an empty input stream.
13174
13175         * lib/readtokens.c: Include <stdbool.h>.
13176         (readtoken): Use `size_t' rather than int/long.
13177         All callers adjusted.
13178         Use `bool' rather than `int' where appropriate.
13179         Use memset rather than an explicit loop.
13180         Use x2nrealloc rather than xrealloc.
13181         Allow the use of `\0' as a delimiter.
13182         (readtokens): Likewise.
13183         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
13184
13185 2004-03-30  Jim Meyering  <jim@meyering.net>
13186
13187         * m4/realloc.m4: Remove file, since now it does no more than
13188         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
13189         the `configure.ac' section of module/realloc.
13190         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
13191
13192 2004-03-30  Bruno Haible  <bruno@clisp.org>
13193
13194         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
13195         nonnull.
13196
13197 2004-03-29  Paul Eggert  <eggert@twinsun.com>
13198
13199         Merge changes to getloadavg.c from coreutils and Emacs.
13200
13201         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
13202         Define to an expression, not to the empty string.
13203         Include cloexec.h and xalloc.h.
13204         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
13205         Use set_cloexec_flag rather than rolling our own.
13206         * lib/cloexec.c, cloexec.h: New files.
13207
13208 2004-03-29  Paul Eggert  <eggert@twinsun.com>
13209
13210         * m4/cloexec.m4: New file.
13211
13212 2004-03-18  Paul Eggert  <eggert@twinsun.com>
13213
13214         * lib/getopt.h: Sync with libc CVS.
13215
13216 2004-03-18  Paul Eggert  <eggert@twinsun.com>
13217             Bruno Haible  <bruno@clisp.org>
13218
13219         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
13220         mbswidth.
13221
13222 2004-03-18  Paul Eggert  <eggert@twinsun.com>
13223             Bruno Haible  <bruno@clisp.org>
13224
13225         * lib/mbswidth.h: Include <wchar.h> only if
13226         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
13227         <wchar.h>.
13228         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
13229
13230 2004-03-09  Paul Eggert  <eggert@twinsun.com>
13231
13232         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
13233         Sync with libc CVS.
13234         * lib/getopt_int.h: New file, also synced from libc.
13235
13236 2004-03-09  Paul Eggert  <eggert@twinsun.com>
13237
13238         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
13239         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
13240         Bring back getopt.c, getopt.h, getopt1.c.
13241
13242 2004-03-07  Paul Eggert  <eggert@twinsun.com>
13243
13244         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
13245         All uses changed.  Check for sa_sigaction member; this fixes
13246         a bug first reported by Jason Andrade in
13247         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
13248
13249 2004-03-07  Paul Eggert  <eggert@twinsun.com>
13250
13251         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
13252         '#if' expressions.  Unlike the code it replaces, it does not
13253         depend on (defined _SC_PAGESIZE).  However, it does depend on
13254         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
13255         first reported by Jason Andrade in
13256         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
13257
13258 2004-02-25  Simon Josefsson  <jas@extundo.com>
13259
13260         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
13261
13262 2004-02-25  Simon Josefsson  <jas@extundo.com>
13263
13264         * lib/strdup.h: New file.
13265         * lib/strdup.c: Include it.
13266         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
13267         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
13268
13269 2004-02-23  Karl Berry  <karl@gnu.org>
13270
13271         * doc/maintain.texi, standards.texi, make-stds.texi: new files
13272         (from fencepost.gnu.org:/gd/gnuorg).
13273
13274 2004-02-23  Karl Berry  <karl@gnu.org>
13275
13276         * config/srclistvars.sh (GNUORG) [karl]: redefine.
13277         * config/srclist.txt: add maintain/standards documents.
13278
13279 2004-02-18  Bruno Haible  <bruno@clisp.org>
13280
13281         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
13282         Reported by Derek Robert Price <derek@ximbiot.com>.
13283
13284 2004-02-16  Karl Berry  <karl@gnu.org>
13285
13286         * config/mkinstalldirs, install-sh: update from automake.
13287
13288 2004-02-06  Karl Berry  <karl@gnu.org>
13289
13290         * m4/po.m4: update from gettext 0.14.1.
13291
13292 2004-02-06  Karl Berry  <karl@gnu.org>
13293
13294         * lib/config.charset: update from gettext 0.14.1.
13295
13296 2004-02-05  Paul Eggert  <eggert@twinsun.com>
13297
13298         Add comments and code, prompted by suggestions from Bruno Haible
13299         for sh-quote.
13300         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
13301         describing the enum quoting_style values.
13302         * lib/quotearg.c (quotearg_alloc): New function.
13303         (quotearg_buffer_restyled): Treat lone { and } as special.
13304         Treat = as special.  Work around bug with older shells
13305         that "see" a '\' that is really the 2nd byte of a multibyte char.
13306         Quote empty string with shell_quoting_style.
13307
13308 2004-02-03  Bruno Haible  <bruno@clisp.org>
13309
13310         * m4/pipe.m4: New file, from GNU gettext.
13311
13312 2004-02-03  Bruno Haible  <bruno@clisp.org>
13313
13314         * lib/pipe.h: New file, from GNU gettext.
13315         * lib/pipe.c: New file, from GNU gettext.
13316
13317 2004-01-27  Bruno Haible  <bruno@clisp.org>
13318
13319         * m4/execute.m4: New file, from GNU gettext.
13320
13321 2004-01-27  Bruno Haible  <bruno@clisp.org>
13322
13323         * lib/execute.h: New file, from GNU gettext.
13324         * lib/execute.c: New file, from GNU gettext.
13325         * lib/w32spawn.h: New file, from GNU gettext.
13326
13327 2004-01-24  Paul Eggert  <eggert@twinsun.com>
13328
13329         Merge from diffutils.
13330
13331         * lib/file-type.c (file_type): Add typed memory objects.
13332         * lib/file-type.h (S_TYPEISTMO): New macro.
13333
13334         * lib/c-stack.h (c_stack_action): Remove argv argument.
13335         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
13336         (die): Don't calculate message unless segv_action returns.
13337         (get_stack_location, min_address_from_argv, max_address_from_argv,
13338         volatile stack_base, volatile_stack_size): Remove.
13339         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
13340         that every segmentation violation is a stack overflow.  (Ouch!)
13341         See Debian bug 136249 (still outstanding) for more info about why
13342         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
13343
13344 2004-01-24  Paul Eggert  <eggert@twinsun.com>
13345
13346         Exit-status fix from coreutils.
13347
13348         Use exit_failure consistently in place of EXIT_FAILURE,
13349         so that program exit statuses are consistent on failure.
13350
13351         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
13352         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
13353         * lib/argmatch.h: Comment fix to match the above.
13354         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
13355         Now a macro referring to exit_failure, instead of a separate
13356         variable.  Include "exitfail.h" to get it.
13357         * lib/xstrtol.h: Include "exitfail.h".
13358         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
13359
13360         * lib/long-options.c (parse_long_options): Use prototype
13361         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
13362         for clarity.
13363
13364 2004-01-21  Jim Meyering  <jim@meyering.net>
13365
13366         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
13367         so as not to conflict with a different-sized __mktime_internal
13368         function in GNU libc.
13369         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
13370         Problem building statically-linked `ls' reported by Michael Brunnbauer.
13371
13372 2004-01-20  Karl Berry  <karl@gnu.org>
13373
13374         * config/config.guess: update from config.
13375
13376         * config/srclistvars.sh: GNUWWWLICENSES for karl.
13377
13378 2004-01-20  Bruno Haible  <bruno@clisp.org>
13379
13380         Safer stack allocation.
13381         * lib/setenv.c: Include allocsa.h.
13382         (alloca): Remove fallback definition.
13383         (freea): Remove macro.
13384         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
13385         instead of freea.
13386
13387 2004-01-20  Bruno Haible  <bruno@clisp.org>
13388
13389         * m4/eealloc.m4: New file, from GNU gettext.
13390
13391 2004-01-20  Bruno Haible  <bruno@clisp.org>
13392
13393         * m4/allocsa.m4: New file, from GNU gettext.
13394
13395 2004-01-20  Bruno Haible  <bruno@clisp.org>
13396
13397         * lib/xallocsa.h: New file, from GNU gettext.
13398         * lib/xallocsa.c: New file, from GNU gettext.
13399
13400 2004-01-20  Bruno Haible  <bruno@clisp.org>
13401
13402         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
13403
13404 2004-01-20  Bruno Haible  <bruno@clisp.org>
13405
13406         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
13407         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
13408         specially.
13409
13410 2004-01-20  Bruno Haible  <bruno@clisp.org>
13411
13412         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
13413         patch.
13414
13415 2004-01-20  Bruno Haible  <bruno@clisp.org>
13416
13417         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
13418
13419 2004-01-20  Bruno Haible  <bruno@clisp.org>
13420
13421         * lib/eealloc.h: New file.
13422
13423 2004-01-20  Bruno Haible  <bruno@clisp.org>
13424
13425         * lib/binary-io.h: Avoid warnings on Cygwin.
13426
13427 2004-01-20  Bruno Haible  <bruno@clisp.org>
13428
13429         * lib/allocsa.h: New file, from GNU gettext.
13430         * lib/allocsa.c: New file, from GNU gettext.
13431
13432 2004-01-18  Karl Berry  <karl@gnu.org>
13433
13434         * doc/gpl.texi, lgpl.texi: new files.
13435
13436 2004-01-18  Karl Berry  <karl@gnu.org>
13437
13438         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
13439         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
13440
13441 2004-01-15  Paul Eggert  <eggert@twinsun.com>
13442
13443         Merge from coreutils.
13444
13445         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
13446         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
13447         (gl_DEFAULT_POSIX2_VERSION): Move
13448         the documentation from 'configure' into 'config.hin',
13449         so that 'configure --help' isn't burdened by it and
13450         we don't have to worry about its formatting there.
13451         Reword the documentation so that it's more succinct
13452         and can be run together into a single paragraph.
13453         * m4/same.m4 (gl_SAME): Check for pathconf.
13454
13455 2004-01-15  Paul Eggert  <eggert@twinsun.com>
13456
13457         Merge from coreutils.
13458
13459         * lib/posixver.c: Include posixver.h.
13460
13461         * lib/same.c: Include <stdbool.h>, <limits.h>.
13462         (_POSIX_NAME_MAX): Define if not defined.
13463         (MIN): New macro.
13464         (same_name): If file names are silently truncated, report
13465         that the file names are the same if they are the same after
13466         the silent truncation.
13467
13468         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
13469         conversion function.
13470         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
13471         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
13472         longer needed.
13473
13474 2004-01-15  Jim Meyering  <jim@meyering.net>
13475
13476         Merge from coreutils.
13477
13478         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
13479         if no library is required.
13480         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
13481         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
13482         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
13483         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
13484         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
13485         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
13486         value, $ac_cv_search_crypt, if it's "none required".
13487         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
13488         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
13489         not gl_FUNC_GETLOADAVG.
13490         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
13491         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
13492
13493 2004-01-15  Jim Meyering  <jim@meyering.net>
13494
13495         Merge from coreutils.
13496
13497         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
13498         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
13499         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
13500
13501         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
13502         optional configure-time default.
13503
13504         * lib/version-etc.c (version_etc_copyright): Update copyright date.
13505
13506         * lib/xreadlink.c (xreadlink): Correct outdated comment.
13507
13508 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
13509
13510         Merge from coreutils.
13511
13512         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
13513         value, $ac_cv_search_nanosleep, if it's "none required".
13514
13515 2004-01-14  Paul Eggert  <eggert@twinsun.com>
13516
13517         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
13518         with like-named macro in fnmatch.c.
13519         (EXT): Use an internal constant instead.
13520
13521         Merge fnmatch patches from glibc.
13522         * lib/fnmatch.c (mbsinit): Remove define.
13523         Add libc_hidden_ver (__fnmatch, fnmatch).
13524         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
13525         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
13526
13527 2004-01-14  Karl Berry  <karl@gnu.org>
13528
13529         * config/install-sh: update from automake.
13530
13531 2004-01-13  Karl Berry  <karl@gnu.org>
13532
13533         * config/install-sh: update from automake.
13534
13535 2004-01-09  Karl Berry  <karl@gnu.org>
13536
13537         * config/install-sh: update from automake.
13538
13539 2004-01-05  Karl Berry  <karl@gnu.org>
13540
13541         * config/config.{sub,guess}: update from config.
13542
13543 2003-12-31  Karl Berry  <karl@gnu.org>
13544
13545         * config/depcomp: update from automake.
13546
13547 2003-12-14  Karl Berry  <karl@gnu.org>
13548
13549         * lib/config.charset: update from gettext-runtime.
13550
13551 2003-12-03  Paul Eggert  <eggert@twinsun.com>
13552
13553         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
13554         Bug reported by Alfred M. Szmidt.
13555
13556 2003-12-03  Bruno Haible  <bruno@clisp.org>
13557
13558         * m4/gettext.m4: Upgrade from gettext-0.13.
13559         * m4/po.m4: Upgrade from gettext-0.13.
13560         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
13561         * m4/intmax.m4: New file, from gettext-0.13.
13562         * m4/printf-posix.m4: New file, from gettext-0.13.
13563
13564 2003-11-29  Karl Berry  <karl@gnu.org>
13565
13566         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
13567
13568 2003-11-25  Paul Eggert  <eggert@twinsun.com>
13569             Bruno Haible  <bruno@clisp.org>
13570
13571         * lib/printf-parse.h: Don't include sys/types.h.
13572         (ARG_NONE): New macro.
13573         (char_directive): Change type of *arg_index fields to size_t.
13574         * lib/printf-parse.c: Don't include sys/types.h.
13575         (SSIZE_MAX): Remove macro.
13576         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
13577         Remove unnecessary overflow check.
13578         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
13579         fields.
13580
13581 2003-11-25  Bruno Haible  <bruno@clisp.org>
13582
13583         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
13584
13585 2003-11-25  Bruno Haible  <bruno@clisp.org>
13586
13587         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
13588         gt_TYPE_SSIZE_T.
13589
13590 2003-11-24  Paul Eggert  <eggert@twinsun.com>
13591
13592         * modules/alloca: Remove dependency on xalloc.
13593
13594 2003-11-24  Paul Eggert  <eggert@twinsun.com>
13595
13596         * lib/alloca.c: Remove dependency on xalloc module.
13597         (xalloc_die): Remove.
13598         (memory_full) [!defined emacs]: New macro.
13599         [!defined emacs]: Don't include xalloc.h.
13600         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
13601         address arithmetic overflows.  Change datatypes a bit to avoid
13602         unnecessary casts.
13603
13604 2003-11-22  Jim Meyering  <jim@meyering.net>
13605
13606         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
13607         s/size/size_t/.
13608
13609 2003-11-21  Karl Berry  <karl@gnu.org>
13610
13611         * config/config.{sub,guess}: update from config.
13612
13613 2003-11-18  Karl Berry  <karl@gnu.org>
13614
13615         * config/config.{sub,guess}: update from config.
13616
13617         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
13618
13619 2003-11-17  Paul Eggert  <eggert@twinsun.com>
13620
13621         * README: Mention that S+T cannot overflow if S is the size of
13622         an existing object and T is sufficiently small.
13623
13624 2003-11-17  Jim Meyering  <jim@meyering.net>
13625
13626         On systems without utime and without a utimes function capable of
13627         dealing with a NULL struct utimbuf* argument, this utime replacement
13628         could -- in unusual circumstances -- leak a file descriptor.
13629         * lib/utime.c: Include <unistd.h> and <errno.h>.
13630         (utime_null): Be sure to close `fd' and to preserve errno.
13631         Reported by Geoff Collyer via Arnold Robbins.
13632
13633 2003-11-17  Bruno Haible  <bruno@clisp.org>
13634
13635         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
13636         (Depends-on): Add xsize.
13637
13638 2003-11-17  Bruno Haible  <bruno@clisp.org>
13639
13640         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
13641
13642 2003-11-17  Bruno Haible  <bruno@clisp.org>
13643
13644         * lib/vasnprintf.c (alloca): Remove fallback definition.
13645         (freea): Remove definition.
13646         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
13647         Reported by Paul Eggert.
13648
13649 2003-11-16  Paul Eggert  <eggert@twinsun.com>
13650             Bruno Haible  <bruno@clisp.org>
13651
13652         Protect against address arithmetic overflow.
13653         * lib/printf-args.h: Include stddef.h.
13654         (arguments): Change type of field 'count' to size_t.
13655         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
13656         'unsigned int' where appropriate.
13657         * lib/printf-parse.h: Include sys/types.h.
13658         (char_directive): Change type of *arg_index fields to ssize_t.
13659         (char_directives): Change type of fields 'count', max_*_length to
13660         size_t.
13661         * lib/printf-parse.c: Include sys/types.h and xsize.h.
13662         (SSIZE_MAX): Define fallback value.
13663         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
13664         instead of 'int' where appropriate. Check a_allocated, d_allocated
13665         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
13666         * lib/vasnprintf.c: Include xsize.h.
13667         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
13668         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
13669         overflow. Avoid wraparound when converting a width or precision from
13670         decimal to binary.
13671
13672 2003-11-16  Bruno Haible  <bruno@clisp.org>
13673
13674         Update from GNU gettext.
13675         * lib/printf-parse.c: Generalize to it can be compiled for wide
13676         strings.
13677         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
13678         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
13679         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
13680         SNPRINTF): New macros.
13681         Don't include <alloca.h> if the file is used inside libintl.
13682         (local_wcslen): New function, for Solaris 2.5.1.
13683         (VASNPRINTF): Use it instead of wcslen.
13684
13685 2003-11-16  Bruno Haible  <bruno@clisp.org>
13686
13687         * lib/xsize.h (xmax): New function.
13688         (xsum, xsum3, xsum4): Declare as "pure" functions.
13689
13690 2003-11-12  Paul Eggert  <eggert@twinsun.com>
13691
13692         * modules/xalloc (Files): Undo latest change, since xalloc.h
13693         no longer needs SIZE_MAX or PTRDIFF_MAX.
13694
13695 2003-11-12  Paul Eggert  <eggert@twinsun.com>
13696
13697         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
13698         gl_PTRDIFF_MAX.
13699
13700 2003-11-12  Paul Eggert  <eggert@twinsun.com>
13701
13702         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
13703         "return", to pacify some unknown compiler.  Problem reported
13704         by Joerg Schilling.
13705
13706 2003-11-12  Paul Eggert  <eggert@twinsun.com>
13707
13708         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
13709         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
13710         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
13711         heuristic is just as accurate as far as we know, and it removes a
13712         dependency on size_max.m4 and ptrdiff_max.m4.
13713
13714 2003-11-11  Bruno Haible  <bruno@clisp.org>
13715
13716         * modules/xsize (Files): Add m4/size_max.m4.
13717         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
13718
13719 2003-11-11  Bruno Haible  <bruno@clisp.org>
13720
13721         * m4/size_max.m4: New file.
13722         * m4/ptrdiff_max.m4: New file.
13723         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
13724         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
13725         (gl_XALLOC): Invoke it.
13726
13727 2003-11-11  Bruno Haible  <bruno@clisp.org>
13728
13729         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
13730         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
13731         defined.
13732
13733 2003-11-10  Paul Eggert  <eggert@twinsun.com>
13734
13735         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
13736         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
13737         rejected some allocations of exactly SIZE_MAX - 2 bytes.
13738         From Bruno Haible.
13739         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
13740         not (size_t) -1, since it's defined here.
13741
13742 2003-11-09  Karl Berry  <karl@gnu.org>
13743
13744         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
13745
13746 2003-11-06  Paul Eggert  <eggert@twinsun.com>
13747
13748         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
13749         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
13750         Reject sizes of exactly SIZE_MAX bytes.
13751         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
13752         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
13753
13754 2003-11-05  Bruno Haible  <bruno@clisp.org>
13755
13756         * lib/xsize.h: Include limits.h, to avoid a possible collision with
13757         SIZE_MAX defined in <limits.h> on Solaris.
13758
13759 2003-11-04  Jim Meyering  <jim@meyering.net>
13760
13761         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
13762         variable names, rather than @VAR@.
13763         * modules/poll: Likewise.
13764
13765 2003-11-04  Bruno Haible  <bruno@clisp.org>
13766
13767         * modules/xsize: New file.
13768         * modules/linebreak: Depend on xsize.
13769         * MODULES.html.sh (func_all_modules): Add xsize.
13770
13771 2003-11-04  Bruno Haible  <bruno@clisp.org>
13772
13773         * m4/xsize.m4: New file.
13774
13775 2003-11-04  Bruno Haible  <bruno@clisp.org>
13776
13777         * lib/xsize.h: New file.
13778         * lib/linebreak.c: Include xsize.h.
13779         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
13780         argument for overflow.
13781         Suggested by Paul Eggert.
13782
13783 2003-11-03  Karl Berry  <karl@gnu.org>
13784
13785         * config/config.{guess,sub}: update from config.
13786
13787 2003-11-03  Jim Meyering  <jim@meyering.net>
13788
13789         * modules/userspec (lib_SOURCES): Add userspec.h.
13790         (Include): Add "userspec.h".
13791         Improve description.
13792
13793 2003-11-03  Jim Meyering  <jim@meyering.net>
13794
13795         * lib/userspec.c: Include "userspec.h".
13796         * lib/userspec.h: New file.
13797
13798 2003-11-03  Bruno Haible  <bruno@clisp.org>
13799
13800         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
13801
13802 2003-11-03  Bruno Haible  <bruno@clisp.org>
13803
13804         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
13805         available, to avoid (extremely rare) race condition.
13806         Suggested by Paul Eggert.
13807
13808 2003-11-02  Karl Berry  <karl@gnu.org>
13809
13810         * config/srclist.txt (vasprintf.c): sync broken, sigh.
13811
13812 2003-10-31  Paul Eggert  <eggert@twinsun.com>
13813
13814         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
13815         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
13816         (read_filesystem_list): Set and use me_type_malloced.
13817         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
13818         whatever the type happens to be), for brevity and consistency.
13819         Check for size calculation overflow on Alphas running OSF/1.
13820
13821 2003-10-31  Jim Meyering  <jim@meyering.net>
13822
13823         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
13824
13825         * lib/linebuffer.c: Include <string.h> for declaration of memset.
13826
13827 2003-10-30  Paul Eggert  <eggert@twinsun.com>
13828             Bruno Haible  <bruno@clisp.org>
13829
13830         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
13831         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
13832
13833 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
13834
13835         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
13836         netbsd*-gnu*.  Suggested by Robert Millan.
13837
13838 2003-10-29  Paul Eggert  <eggert@twinsun.com>
13839
13840         * modules/group-member: Depend on stdbool.
13841
13842 2003-10-29  Paul Eggert  <eggert@twinsun.com>
13843
13844         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
13845
13846 2003-10-29  Paul Eggert  <eggert@twinsun.com>
13847
13848         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
13849         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
13850         after the 'gnu' in these cases.  This fixes some bugs in the
13851         previous change, and is based on suggestions by Robert Millan.
13852
13853 2003-10-29  Paul Eggert  <eggert@twinsun.com>
13854
13855         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
13856         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
13857         no longer needed.
13858         * lib/quotearg.c (quotearg_n_options): Use it.
13859         * lib/group-member.c: Include <stdbool.h>.
13860         (free_group_info): Arg is now const *; don't free arg.
13861         (get_group_info): Now returns bool and accepts struct group_info *,
13862         rather than returning a malloc'ed struct group_info *.
13863         All uses changed.  Check for overflow in internal size calculation.
13864
13865         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
13866         rather than xmalloc/xrealloc.
13867         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
13868         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
13869         conformance bug: the old code used a pointer after freeing the
13870         storage that it addressed.
13871         * lib/hash.c (hash_initialize): Simplify the code by using
13872         xalloc_oversized rather than doing it by hand.
13873         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
13874         the buffer preserved.  Use free and xmalloc instead.
13875         * lib/quotearg.c (quotearg_n_options): Likewise.
13876         Use a simpler test for size overflow.  Don't use xalloc_oversized
13877         because unsigned int might be wider than size_t (!); this suggests
13878         that we should switch from unsigned int to size_t for slot numbers.
13879
13880 2003-10-28  Paul Eggert  <eggert@twinsun.com>
13881
13882         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
13883         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
13884         NetBSD kernels.  Requested by Richard Stallman.
13885
13886 2003-10-27  Paul Eggert  <eggert@twinsun.com>
13887
13888         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
13889         to allocate the returned structure.  Do not allocate a subarray,
13890         as x2nrealloc will do that.
13891         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
13892         instead of xnrealloc.
13893         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
13894
13895 2003-10-27  Bruno Haible  <bruno@clisp.org>
13896
13897         * lib/stdbool_.h: Better support for BeOS.
13898
13899 2003-10-26  Paul Eggert  <eggert@twinsun.com>
13900
13901         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
13902         now uses inline.
13903
13904 2003-10-26  Paul Eggert  <eggert@twinsun.com>
13905
13906         * lib/xalloc.h (xalloc_oversized): New static inline function, for
13907         callers that want to do their own size-overflow checking.  Include
13908         <stdbool.h>, since xalloc_oversized returns bool.
13909         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
13910         to use xalloc_oversized.
13911
13912         Add two functions x2realloc, x2nrealloc, for programs that grow
13913         arrays dynamically by doubling their sizes.
13914         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
13915         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
13916         New functions.
13917
13918         Port to C99 semantics for 'inline' of external functions.
13919         Bug reported by Bruno Haible.
13920         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
13921         with the old contents of xnmalloc.
13922         (xnmalloc, xmalloc): Use it.
13923         (xnrealloc_inline): New static inline function,
13924         with the old contents of xnrealloc.
13925         (xnrealloc, xrealloc): Use it.
13926
13927         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
13928         that.
13929
13930 2003-10-26  Karl Berry  <karl@gnu.org>
13931
13932         * config/srclist.txt (COPYING.DOC): no longer available from
13933         /gd/gnuorg; don't know where the ultimate source is.
13934
13935 2003-10-25  Paul Eggert  <eggert@twinsun.com>
13936
13937         Fix several address-calculation bugs in the hash modules,
13938         plus some minor code cleanup.
13939
13940         * lib/hash.h: Include <stdbool.h>, for bool.
13941         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
13942         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
13943         hash_get_n_entries, hash_get_max_bucket_length,
13944         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
13945         hash_rehash): Use size_t rather than unsigned.
13946         * lib/hash.c (struct hash_table, hash_get_n_buckets,
13947         hash_get_n_buckets_used, hash_get_n_entries,
13948         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
13949         hash_get_entries, hash_do_for_each, hash_string, is_prime,
13950         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
13951         Likewise.
13952         (SIZE_MAX): Define if not defined.
13953         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
13954         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
13955         hash_print):
13956         Use const * when possible.
13957         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
13958         (check_tuning): Fix bug: if tuning parameters were very close to
13959         0 or 1, rounding errors could have caused subscript violations.
13960         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
13961         (hash_initialize): Add 'fail:' label
13962         to free table and return NULL, and use it to simplify code.
13963         Use calloc rather than clearing the storage ourself.
13964         (hash_initialize, hash_rehash): Check for arithmetic overflow in
13965         buffer size calculations.
13966         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
13967         Include <stddef.h>, for size_t.
13968         * lib/hash-pjw.c (hash_pjw): Likewise.
13969         Switch to method described by Bruno Haible.
13970         Include <limits.h>, for CHAR_BIT.
13971         (SIZE_BITS): New macro.
13972
13973 2003-10-23  Paul Eggert  <eggert@twinsun.com>
13974
13975         * m4/getline.m4 (AM_FUNC_GETLINE):
13976         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
13977         hosts.  Problem reported by Derek Robert Price in
13978         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
13979         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
13980         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
13981
13982 2003-10-21  Paul Eggert  <eggert@twinsun.com>
13983
13984         * lib/getndelim2.c (getndelim2): When size calculation overflows,
13985         ceiling the allocation at NMAX bytes rather than silently
13986         discarding input bytes before NMAX is reached.  This makes
13987         a difference only if NMAX exceeds SIZE_MAX / 2.
13988
13989         * lib/obstack.c: Merge from glibc.
13990         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
13991         Add libc_hidden_def (_obstack_newchunk).
13992         (_obstack_free) [! defined _LIBC]: Remove.
13993         [defined _LIBC]: Make a strong alias from obstack_free, rather than
13994         a clone of the function body.
13995         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
13996         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
13997
13998         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
13999         glibc.
14000         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
14001         arg to memcpy.
14002
14003         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
14004         (obstack_ptr_grow_fast, obstack_int_grow_fast):
14005         Don't use lvalue casts, as GCC plans to remove support for them
14006         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
14007         was also present in the non-GCC version, indicating that this
14008         code had always been buggy and had never been widely used.
14009         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
14010         Use the fast variant of each macro, rather than copying the
14011         definiens of the fast variant; that way, we'll be more likely to
14012         catch future bugs in the fast variants.
14013
14014 2003-10-20  Bruno Haible  <bruno@clisp.org>
14015
14016         * modules/wait-process: New file.
14017         * MODULES.html.sh (func_all_modules): Add wait-process.
14018
14019 2003-10-20  Bruno Haible  <bruno@clisp.org>
14020
14021         * m4/wait-process.m4: New file.
14022
14023 2003-10-20  Bruno Haible  <bruno@clisp.org>
14024
14025         * lib/wait-process.h: New file, from GNU gettext.
14026         * lib/wait-process.c: New file, from GNU gettext.
14027
14028 2003-10-19  Jim Meyering  <jim@meyering.net>
14029
14030         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
14031         HPUX 10.20.
14032
14033 2003-10-18  Karl Berry  <karl@gnu.org>
14034
14035         * config/config.guess: update from config.
14036
14037 2003-10-16  Paul Eggert  <eggert@twinsun.com>
14038
14039         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
14040         (getgroups): First arg is int, not size_t.
14041         Don't let 'free' mangle errno.
14042
14043 2003-10-16  Paul Eggert  <eggert@twinsun.com>
14044
14045         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
14046
14047 2003-10-16  Karl Berry  <karl@gnu.org>
14048
14049         * config/config.{guess,sub}: update from config.
14050
14051 2003-10-16  Jim Meyering  <jim@meyering.net>
14052
14053         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
14054         memcpy.
14055
14056 2003-10-15  Paul Eggert  <eggert@twinsun.com>
14057
14058         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
14059         (SIZE_MAX): Remove.
14060         (new_exclude, add_exclude_file): Initial size no longer needs to
14061         be a power of 2.
14062         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
14063         our own address arithmetic overflow checking.
14064
14065         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
14066         (fnmatch): Do not alloca more than 2000 wide characters;
14067         instead, use malloc for large buffers.
14068         Check for address arithmetic overflow, and return -1
14069         with errno set to ENOMEM in that case.
14070         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
14071         (NEW_PATTERN): Do not alloca more than 8000 bytes;
14072         instead, return -1.  Check for address arithmetic overflow.
14073
14074 2003-10-14  Paul Eggert  <eggert@twinsun.com>
14075
14076         Handle invalid suffixes and overflow independently, so that
14077         callers can treat them independently as needed.  Fix some bugs in
14078         suffix handling, e.g., "100k@" was not diagnosed as an invalid
14079         suffix for a human-readable blocksize.  The major caller-visible
14080         change is the addition of a new
14081         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
14082         that both overflow and suffix chars were found.
14083
14084         * lib/human.c (humblock): Don't check separately for invalid suffix
14085         char; that is xstrtoumax's job (now that its bug is fixed).
14086         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
14087         INTMAX_MAX]: New macros.
14088         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
14089         TYPE_MAXIMUM): New macros.
14090         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
14091         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
14092         if overflow occurs, as it's what __strtol does and it's more useful
14093         in practice.
14094         (__xstrtol): If __strtol reports some error other than ERANGE,
14095         reflect it to the caller as LONGINT_INVALID.  If it reports
14096         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
14097         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
14098         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
14099         value.
14100         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
14101         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
14102         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
14103         [defined UINTMAX_MAX]: New macros.
14104
14105 2003-10-14  Bruno Haible  <bruno@clisp.org>
14106
14107         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
14108
14109 2003-10-14  Bruno Haible  <bruno@clisp.org>
14110
14111         * m4/sig_atomic_t: New file, from GNU gettext.
14112         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
14113
14114 2003-10-14  Bruno Haible  <bruno@clisp.org>
14115
14116         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
14117         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
14118         Also use volatile where needed.
14119
14120 2003-10-12  Paul Eggert  <eggert@twinsun.com>
14121
14122         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
14123         Change maintainer from Bruno Haible to 'all'.
14124
14125 2003-10-12  Paul Eggert  <eggert@twinsun.com>
14126
14127         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
14128
14129 2003-10-12  Paul Eggert  <eggert@twinsun.com>
14130
14131         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
14132         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
14133         and define in terms of the other primitives.
14134         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
14135         (SIZE_MAX): Define if not already defined.
14136         (array_size_overflow): New function.
14137         (xalloc_die): Abort instead of exiting if 'error' returns.
14138         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
14139         (xmalloc, xrealloc): Use them.
14140         (xcalloc): Check for address arithmetic overflow.
14141         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
14142         a bit faster than strcpy.
14143
14144 2003-10-10  Simon Josefsson  <jas@extundo.com>
14145
14146         * modules/argp (Depends-on): Add restrict and strcase.
14147
14148 2003-10-10  Simon Josefsson  <jas@extundo.com>
14149
14150         * m4/argp.m4: Add AC_C_INLINE.
14151
14152 2003-10-08  Paul Eggert  <eggert@twinsun.com>
14153
14154         Merge getpass from libc, plus a few fixes.
14155
14156         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
14157         Include <stdbool.h>.
14158         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
14159         __fsetlocking to empty.
14160         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
14161         do include <bits/libc-lock.h>.
14162         Do not include <fcntl.h>; not needed.
14163         [_LIBC]: Include <wchar.h>.
14164         (NOTCANCEL_MODE): New macro.
14165         (flockfile, funlockfile) [_LIBC]: New macros.
14166         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
14167         [!_LIBC]: New macros.
14168         (call_fclose): New function.
14169         (getpass): Use it.  Save tty stream separately; this simplifies the
14170         code and makes it more reliable if stdin happens to equal stdout.
14171         Invoke __fsetlocking on tty.
14172         Handle thread cancellation if needed.
14173         Namespace cleanup (use __tcgetattr, __getline).
14174         Use bool for Booleans.
14175         [USE_IN_LIBIO]: Handle wide streams.
14176         [!_LIBC]: Unconditionally do the fseek, since we don't know what
14177         stream might go where.
14178
14179         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
14180         doesn't have to include <stdio.h> before us.
14181         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
14182         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
14183         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
14184         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
14185         if not declared, so that we can use getpass.c code from libc without
14186         rewriting it.
14187         (flockfile, ftrylockfile, funlockfile): New macros.
14188
14189 2003-10-08  Paul Eggert  <eggert@twinsun.com>
14190
14191         * modules/getpass: Depend on stdbool.
14192
14193 2003-10-08  Paul Eggert  <eggert@twinsun.com>
14194
14195         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
14196
14197 2003-10-07  Karl Berry  <karl@gnu.org>
14198
14199         * config/config.{guess,sub}: update from config.
14200
14201 2003-10-06  Jim Meyering  <jim@meyering.net>
14202             Bruno Haible  <bruno@clisp.org>
14203
14204         This lets translators provide better translations for the
14205         "Written by ..." part of --version output.
14206         * lib/version-etc.h: Include stdarg.h.
14207         (version_etc_copyright): Declare as readonly.
14208         (version_etc): Make this function variadic with a NULL-terminated list
14209         of author name strings.
14210         (version_etc_va): New declaration.
14211         * lib/version-etc.c: Include stdarg.h, stdlib.h.
14212         (version_etc_copyright): Declare as readonly.
14213         (version_etc_va): New function. Provide a different translatable string
14214         for each possible number of authors < 10. Abbreviate when there are 10
14215         authors or more.
14216         (version_etc): Make this function variadic. Call version_etc_va.
14217         Suggestion from Gary V. Vaughan.
14218
14219         * lib/long-options.h (parse_long_options): Change prototype: the
14220         authors string is moved to the end and becomes variadic.
14221         * lib/long-options.c: Include stdarg.h.
14222         (parse_long_options): Make this function variadic, too.
14223         Call version_etc_va, not version_etc.
14224
14225 2003-10-06  Bruno Haible  <bruno@clisp.org>
14226
14227         * modules/version-etc-2: Remove file.
14228         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
14229
14230 2003-10-06  Bruno Haible  <bruno@clisp.org>
14231
14232         * modules/fatal-signal: New file.
14233         * MODULES.html.sh (func_all_modules): Add fatal-signal.
14234
14235 2003-10-06  Bruno Haible  <bruno@clisp.org>
14236
14237         * m4/fatal-signal.m4: New file.
14238         * m4/signalblocking.m4: New file, from GNU gettext.
14239
14240 2003-10-06  Bruno Haible  <bruno@clisp.org>
14241
14242         * lib/version-etc-2.h: Remove file.
14243         * lib/version-etc-2.c: Remove file.
14244
14245 2003-10-06  Bruno Haible  <bruno@clisp.org>
14246
14247         * lib/fatal-signal.h: New file, from GNU gettext.
14248         * lib/fatal-signal.c: New file, from GNU gettext.
14249
14250 2003-10-05  Paul Eggert  <eggert@twinsun.com>
14251
14252         * README: Rework advice for preventing empty .o files.
14253         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
14254         not <sys/types.h>.
14255
14256 2003-10-04  Karl Berry  <karl@gnu.org>
14257
14258         * lib/argp*: update from libc.
14259
14260 2003-10-04  Karl Berry  <karl@gnu.org>
14261
14262         * config/config.{guess,sub}: update from config.
14263
14264 2003-10-02  Bruno Haible  <bruno@clisp.org>
14265
14266         * modules/lchown (Include): Add lchown.h.
14267         * modules/time_r (Include): Use "..." syntax.
14268         * modules/xgetdomainname (Include): Add xgetdomainname.h.
14269
14270 2003-10-01  Simon Josefsson  <jas@extundo.com>
14271
14272         * MODULES.html.sh (func_all_modules): Move gethostname from section
14273         'based on' to section 'lacking' POSIX:2001.
14274
14275 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
14276
14277         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
14278         to output mode on the same stream.
14279
14280 2003-09-29  Paul Eggert  <eggert@twinsun.com>
14281
14282         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
14283         Fix arg typo in previous patch.
14284
14285 2003-09-28  Jim Meyering  <jim@meyering.net>
14286
14287         * lib/error.c: Correct cpp indentation.
14288
14289 2003-09-27  Paul Eggert  <eggert@twinsun.com>
14290
14291         * modules/free: New file.
14292
14293 2003-09-27  Paul Eggert  <eggert@twinsun.com>
14294
14295         * m4/free.m4: New file.
14296
14297 2003-09-27  Paul Eggert  <eggert@twinsun.com>
14298
14299         * lib/minmax.h (MIN, MAX)
14300         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
14301         Omit the special code that used __typeof__, since we worry that
14302         it could be more trouble than it's worth.  See:
14303         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
14304         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
14305
14306         * lib/free.c: New file.
14307
14308 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
14309
14310         Trivial fixes to Makefile.am parts of module listings.
14311         * modules/strstr: Append strstr.h to lib_SOURCES.
14312         * modules/strcase: Likewise, for strcase.h.
14313
14314 2003-09-27  Karl Berry  <karl@gnu.org>
14315
14316         * config/mkinstalldirs: update from automake.
14317
14318 2003-09-26  Paul Eggert  <eggert@twinsun.com>
14319
14320         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
14321         (error_tail): Do not loop, reallocating temporary buffer, since
14322         the output cannot contain more wide characters than the input
14323         contains bytes, the size must be big enough already.  This avoids
14324         one potential size overflow calculation.  Check for size overflow
14325         when calculating temporary buffer size.  Free temporary buffer
14326         when done, if it was allocated with malloc; this plugs a memory
14327         leak.  Remove casts from void * to pointers, that are no longer
14328         needed now that we're assuming C89 or better.
14329
14330         Merge error changes from glibc.
14331
14332         * lib/error.c, error.h: Update copyright notice header to match glibc.
14333         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
14334         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
14335         Disable cancellation while printing error.
14336         * lib/error.h: Prepend __ to parameter names.
14337
14338 2003-09-26  Jim Meyering  <jim@meyering.net>
14339
14340         * lib/error.c (error_tail): Move some declarations
14341         into inner scope where the local variables are used.
14342
14343 2003-09-26  Bruno Haible  <bruno@clisp.org>
14344
14345         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
14346         stpncpy().
14347         Don't define stpncpy through config.h; it's now done through stpncpy.h.
14348
14349 2003-09-26  Bruno Haible  <bruno@clisp.org>
14350
14351         * lib/stpncpy.h (gnu_stpncpy): New declaration.
14352         (stpncpy): Define as alias for gnu_stpncpy.
14353         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
14354
14355 2003-09-25  Simon Josefsson  <jas@extundo.com>
14356
14357         * lib/xgetdomainname.h: New file.
14358         * lib/xgetdomainname.c: New file.
14359
14360 2003-09-25  Simon Josefsson  <jas@extundo.com>
14361             Bruno Haible  <bruno@clisp.org>
14362
14363         * modules/getdomainname: New file.
14364         * modules/xgetdomainname: New file.
14365         * MODULES.html.sh (func_all_modules): Add getdomainname,
14366         xgetdomainname.
14367
14368 2003-09-25  Simon Josefsson  <jas@extundo.com>
14369             Bruno Haible  <bruno@clisp.org>
14370
14371         * m4/getdomainname.m4: New file.
14372
14373 2003-09-25  Simon Josefsson  <jas@extundo.com>
14374             Bruno Haible  <bruno@clisp.org>
14375
14376         * lib/getdomainname.h: New file.
14377         * lib/getdomainname.c: New file.
14378
14379 2003-09-25  Karl Berry  <karl@gnu.org>
14380
14381         * lib/argp-fmtstream.c, argp-help.c: update from libc.
14382
14383 2003-09-25  Karl Berry  <karl@gnu.org>
14384
14385         * config/install-sh: update from automake.
14386
14387 2003-09-25  Bruno Haible  <bruno@clisp.org>
14388
14389         * modules/version-etc-2: New file, from modules/version-etc with
14390         modifications.
14391         * MODULES.html.sh (func_all_modules): Add version-etc-2.
14392
14393 2003-09-25  Bruno Haible  <bruno@clisp.org>
14394
14395         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
14396         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
14397
14398 2003-09-24  Simon Josefsson  <jas@extundo.com>
14399
14400         * modules/xgethostname: Add xgethostname.h.
14401
14402 2003-09-24  Paul Eggert  <eggert@twinsun.com>
14403
14404         * lib/linebuffer.c (freebuffer): Don't free the argument, just
14405         the buffer associated with the argument.  Bug reported by
14406         Simon Josefsson.
14407
14408 2003-09-24  Paul Eggert  <eggert@twinsun.com>
14409
14410         * README: Document assumptions that 'int' is at least 32 bits
14411         wide, that integer arithmetic is 2's complement without overflow,
14412         that there are no holes in integer values, that adding sizes of
14413         two nonoverlapping objects can't overflow, and that all-bits-zero
14414         yields scalar zero.  Fix spelling and capitalization typos.
14415
14416 2003-09-19  Karl Berry  <karl@gnu.org>
14417
14418         * lib/argp.h: update from libc.
14419
14420 2003-09-17  Paul Eggert  <eggert@twinsun.com>
14421
14422         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
14423         to avoid spurious warnings like "AC_RUN_IFELSE was called before
14424         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
14425
14426 2003-09-17  Paul Eggert  <eggert@twinsun.com>
14427
14428         * gnulib-tool: Use "test -h", not "test -L", for portability
14429         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
14430         (tags_regexp): Remove, since \| doesn't conform to POSIX.
14431         (sed_extract_prog): Issue s commands one-by-one, rather than
14432         using \| in one s command.
14433
14434 2003-09-16  Paul Eggert  <eggert@twinsun.com>
14435
14436         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
14437         input error, instead of returning NULL the next time we are called
14438         (and therefore losing track of errno).
14439
14440 2003-09-16  Bruno Haible  <bruno@clisp.org>
14441
14442         * gnulib-tool (func_create_testdir): Warn about duplicated
14443         dependencies.
14444
14445 2003-09-15  Paul Eggert  <eggert@twinsun.com>
14446
14447         * modules/argmatch, modules/fatal, modules/obstack,
14448         modules/xalloc, modules/xgethostname: Sort dependencies by
14449         importance, not alphabetically.
14450
14451 2003-09-15  Paul Eggert  <eggert@twinsun.com>
14452
14453         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
14454         fails, so that the caller gets the proper errno.
14455
14456         * lib/readutmp.c (read_utmp): Likewise.
14457         Check for fstat error.  Close stream and free storage
14458         when failing.
14459
14460 2003-09-14  Karl Berry  <karl@gnu.org>
14461
14462         * config/srclist.txt (strdup.c): disable for c89 changes.
14463
14464 2003-09-14  Jim Meyering  <jim@meyering.net>
14465
14466         * lib/getloadavg.c: Correct cpp indentation.
14467         * lib/strdup.c: Likewise.
14468         * lib/vasnprintf.c: Likewise.
14469
14470 2003-09-14  Bruno Haible  <bruno@clisp.org>
14471
14472         * modules/fwriteerror: New file.
14473         * MODULES.html.sh (func_all_modules): Add fwriteerror.
14474
14475 2003-09-14  Bruno Haible  <bruno@clisp.org>
14476
14477         * lib/fwriteerror.h: New file.
14478         * lib/fwriteerror.c: New file.
14479
14480 2003-09-12  Paul Eggert  <eggert@twinsun.com>
14481
14482         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
14483         modules/xgethostname, modules/xalloc: Depend on exit.
14484
14485 2003-09-12  Paul Eggert  <eggert@twinsun.com>
14486
14487         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
14488
14489         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
14490         and AC_MINIX, too, so that their extensions are available.
14491
14492         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
14493         This macro has been superseded by gl_BACKUPFILE.
14494
14495         More patches to assume C89 or better.
14496
14497         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
14498
14499         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
14500         unconditionally.
14501         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
14502         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
14503         Include <string.h>, <stdlib.h> unconditionally.
14504         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
14505         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
14506         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
14507         headers or for string.h.
14508         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
14509         or strtoul.
14510
14511         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
14512         headers.
14513         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
14514         * m4/userspec.m4 (gl_USERSPEC): Likewise.
14515         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
14516         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
14517         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
14518         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
14519         memcpy, memset.
14520         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
14521         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
14522         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
14523         strtol.
14524         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
14525         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
14526         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
14527         strtoul.
14528
14529 2003-09-12  Paul Eggert  <eggert@twinsun.com>
14530
14531         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
14532         * lib/obstack.c [!defined _LIBC]: Likewise.
14533         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
14534         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
14535         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
14536
14537         More changes to assume C89 or better.
14538
14539         * lib/error.c (error_tail): Assume vprintf.
14540
14541         * lib/argmatch.c (getenv): Remove decl.
14542         * lib/progreloc.c (get_full_program_name): Define via prototype.
14543         * lib/setenv.c (clearenv): Likewise.
14544         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
14545         needed.
14546         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
14547         (malloc, memcpy): Remove decls.
14548         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
14549         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
14550         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
14551         (memcpy): Remove macro.
14552         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
14553         (__P): Remove.  All uses removed.
14554         (PTR): Remove.  All uses changed to void *.
14555         (CHAR_BIT, NULL): Remove.
14556         (spaces, zeros, memset_space, memset_zero)
14557         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
14558         Remove.
14559         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
14560         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
14561         Define with prototype.
14562         Remove now-unnecessary prototype decl.
14563         (extra_args_spec): Assume ANSI C.  All uses changed.
14564         (extra_args_spec_iso): Remove.
14565         (my_strftime, emacs_strftimeu): Define via prototype.
14566         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
14567         unconditionally.
14568         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
14569         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
14570         (strtoul, strtol): Remove decls.
14571         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
14572         LONG_MAX): Remove.
14573         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
14574         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
14575         (LOCALE_PARAM_PROTO): New macro.
14576         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
14577         (INTERNAL (strtol), strtol): Define with a prototype.
14578         (PARAMS): Remove.  All uses removed.
14579         * lib/tempname.c: Include <string.h> unconditionally.
14580         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
14581         * lib/xgethostname.c (main): Define with a prototype.
14582         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
14583         Include <stdlib.h> unconditionally.
14584         (calloc, malloc, realloc, free): Remove decls.
14585         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
14586         Include <stdlib.h> unconditionally.  Sort include file names.
14587         (strtod): Remove.
14588         (xstrtod): Define with a prototype.
14589         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
14590         (strtol, strtoul): Remove decls.
14591
14592 2003-09-11  Paul Eggert  <eggert@twinsun.com>
14593
14594         More patches to assume C89 or better.
14595         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
14596         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
14597         string.h, memchr, STDC_HEADERS.
14598
14599 2003-09-11  Paul Eggert  <eggert@twinsun.com>
14600
14601         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
14602         Include <stdlib.h>, <string.h> unconditionally.
14603         Remove now-unnecessary cast to char *.
14604         * lib/strnlen.c: Include <string.h> unconditionally.
14605         * lib/yesno.c (yesno): Define with a prototype.
14606
14607 2003-09-11  Bruno Haible  <bruno@clisp.org>
14608
14609         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
14610
14611 2003-09-10  Jim Meyering  <jim@meyering.net>
14612
14613         * lib/error.c: Correct indentation of cpp directives.
14614
14615 2003-09-10  Bruno Haible  <bruno@clisp.org>
14616
14617         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
14618         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
14619         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
14620         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
14621         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
14622         <stdlib.h> and <string.h> checks.
14623         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
14624         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
14625
14626 2003-09-10  Bruno Haible  <bruno@clisp.org>
14627
14628         * lib/strcspn.c: Include <string.h> unconditionally.
14629         * lib/strpbrk.c: Include <string.h> unconditionally.
14630         * lib/strstr.c: Include <string.h> unconditionally.
14631         * lib/unicodeio.c: Include <string.h> unconditionally.
14632         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
14633         * lib/unsetenv.c: Likewise.
14634         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
14635         * lib/yesno.c: Include <stdlib.h> unconditionally.
14636         (rpmatch): Add prototype.
14637
14638 2003-09-09  Paul Eggert  <eggert@twinsun.com>
14639
14640         More patches to assume C89 or better.
14641         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
14642         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
14643         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
14644         or for string.h.
14645         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
14646         stdlib.h.
14647         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
14648         C headers.
14649         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
14650         string.h.
14651         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
14652         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
14653         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
14654         or for string.h.
14655         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
14656         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
14657         C headers.
14658         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
14659         memcpy.
14660         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
14661         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
14662         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
14663         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
14664         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
14665         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
14666         string.h, free.
14667         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
14668         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
14669         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
14670         C headers, or for string.h.
14671         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
14672         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
14673         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
14674         headers, memory.h, stdlib.h, string.h, strings.h.
14675         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
14676         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
14677         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
14678         strchr.
14679         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
14680         headers, memory.h, string.h.
14681         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
14682         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
14683         free.
14684         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
14685         headers.
14686         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
14687         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
14688         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
14689         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
14690         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
14691
14692 2003-09-09  Paul Eggert  <eggert@twinsun.com>
14693
14694         More K&R removal.
14695
14696         * lib/acosl.c (main): Use a prototype.
14697         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
14698         tanl.c: Likewise.
14699
14700         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
14701
14702         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
14703         (getopt, etopt_long, getopt_long_only, _getopt_internal)
14704         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
14705         with a prototype.
14706         * lib/getopt.c (const): Remove macro.
14707         Include <string.h> unconditionally.
14708         (my_index): Remove; all uses changed to strchr.
14709         (strlen): Remove decl.
14710         (exchange): Remove forward decl; no longer needed.
14711         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
14712         Define with prototype.
14713         * lib/getopt1.c (const): Remove macro.
14714         (getopt_long, getopt_long_only, main): Define with prototype.
14715
14716         * lib/getugroups.c: Include <string.h> unconditionally.
14717
14718         * lib/getusershell.c: Include <stdlib.h> unconditionally.
14719         (getusershell, setusershell, endusershell, readname, main):
14720         Define with prototypes.
14721
14722         * lib/group-member.c: Include group-member.h first.
14723         Include <stdlib.h> unconditionally.
14724
14725         * lib/hard-locale.c: Include hard-locale.h first.
14726         Include <stdlib.h>, <string.h> unconditionally.
14727
14728         * lib/hash.c (free, malloc): Remove decls.
14729         Include <stdlib.h> unconditionally.
14730
14731         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
14732         (getenv): Do not declare.
14733
14734         * lib/idcache.c: Include <string.h> unconditionally.
14735
14736         * lib/long-options.c: Include long-options.h first, to test interface.
14737         Include <stdlib.h> unconditionally.
14738
14739         * lib/makepath.c: Include makepath.h first, to test interface.
14740         Include <stdlib.h> and <string.h> unconditionally.
14741
14742         * lib/linebuffer.c: Include <stdlib.h>.
14743         (free): Remove decl.
14744
14745         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
14746         stddef.h. rpl_malloc returns void *, not char *.
14747         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
14748         prototype.
14749
14750         * lib/md5.h: Include <limits.h> unconditionally.
14751         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
14752         (__P): Remove; all uses removed.
14753         * lib/md5.c: Include "md5.h" first.
14754         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
14755         md5_buffer, md5_process_bytes, md5_process_block):
14756         Define with prototypes.
14757         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
14758         * lib/sha.c: Include "sha.h" first.
14759         Include <stdlib.h>, <string.h> unconditionally.
14760
14761         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
14762         * lib/memcmp.c (__ptr_t): Likewise.
14763         * lib/memrchr.c (__ptr_t): Likewise.
14764         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
14765         Include <string.h> unconditionally.
14766         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
14767         * lib/memchr.c: Include <stdlib.h> unconditionally.
14768         * lib/memchr.c (LONG_MAX): Remove.
14769         * lib/memrchr.c (LONG_MAX): Likewise.
14770         * lib/memchr.c (__memchr): Define via a prototype.
14771         * lib/memrchr.c (__memrchr): Likewise.
14772         * lib/memcmp.c (__P): Remove, and remove all uses.
14773         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
14774         Remove forward decls; no longer needed.
14775         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
14776         Use types required by C89 in prototype.
14777
14778         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
14779         * lib/savedir.c: Likewise.
14780         * lib/mkdir.c (free): Remove decl.
14781         * lib/rmdir.c (rmdir): Define with a prototype.
14782         * lib/savedir.c: Include savedir.h first, to test interface.
14783
14784         * lib/mktime.c (STDC_HEADERS): Remove.
14785         Include <stdlib.h>, <string.h> unconditionally.
14786
14787         * lib/modechange.c: Include <stdlib.h> unconditionally.
14788         (malloc): Remove decl.
14789
14790         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
14791         (free): Remove decl.
14792
14793         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
14794         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
14795         (This type really should be intptr_t, but that's a C99ism.)
14796         (_obstack_memcpy): Remove: all uses changed to memcpy.
14797         Include <string.h> unconditionally.
14798         (struct obstack): Assume __STDC__ for types of members
14799         chunkfun, freefun, extra_arg.
14800         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
14801         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
14802         obstack_begin, obstack_specify_allocation,
14803         obstack_specify_allocation_with_arg, obstack_chunkfun,
14804         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
14805         Remove unprototyped decls and the macros that use them.
14806         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
14807         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
14808         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
14809         (defined __STDC__ && __STDC__)]:
14810         Remove nonprototyped code.
14811         Include <stdlib.h> unconditionally.
14812         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
14813         _obstack_allocated_p, _obstack_free, obstack_free,
14814         _obstack_memory_used, print_and_abort):
14815         Define using prototypes.
14816         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
14817         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
14818         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
14819         obstack_next_free, obstack_object_size, obstack_room) [0]:
14820         Remove unused, unprototyped code.
14821
14822         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
14823
14824         * lib/physmem.c (physmem_total, physmem_available, main): Define
14825         with prototypes.
14826
14827         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
14828         (main): Define with a prototype.
14829
14830         * lib/posixver.c (getenv): Remove decl.
14831
14832         * lib/putenv.c (malloc): Returns void *, not char *.
14833         Include <string.h> unconditionally.
14834         (strchr, memcpy, NULL): Do not define.
14835
14836         * lib/readtokens.c: Include readtokens.h first, to test interface.
14837         Include <stdlib.h>, <string.h> unconditionally.
14838         (init_tokenbuffer): Define with a prototype.
14839
14840         * lib/regex.c (PARAMS): Remove.  All uses removed.
14841         All uses of _RE_ARGS removed, too.
14842         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
14843         unconditionally.
14844         (bzero): Assume memset exists.
14845         (memcmp, memcpy, NULL): Remove.
14846         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
14847         char, or assignments to local vars of type signed char.
14848         (init_syntax_once, PREFIX(extract_number_and_incr),
14849         PREFIX(print_partial_compiled_pattern),
14850         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
14851         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
14852         PREFIX(regex_grow_registers), PREFIX(regex_compile),
14853         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
14854         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
14855         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
14856         wcs_compile_range, byte_compile_range, truncate_wchar,
14857         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
14858         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
14859         count_mbs_length, wcs_re_match_2_internal,
14860         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
14861         PREFIX(alt_match_null_string_p),
14862         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
14863         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
14864         regfree, PREFIX(extract_number)): Define with prototype.  Remove
14865         now-unnecessary declaration, if any.
14866         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
14867         regcomp, regexec):
14868         Remove now-unnecessary casts among pointer types.
14869         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
14870
14871         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
14872         (free): Remove decl.
14873
14874         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
14875
14876         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
14877         (free): Remove decl.
14878
14879         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
14880         * lib/xgetcwd.c: Likewise.
14881
14882         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
14883         (free): Remove decl.
14884
14885         * lib/strchrnul.c (strchrnul): Define with a prototype.
14886         Fix bug: c_in was not converted to char before searching.
14887
14888         The following changes are not K&R related:
14889
14890         * lib/group-member.h: Include <sys/types.h>, so that this file is
14891         self-contained.
14892         * lib/makepath.h: Likewise.
14893
14894         * lib/getusershell.c (readname, default_index, line_size, readname):
14895         Use size_t, not int, for sizes.
14896         (readname): If the size overflows, report an error instead of
14897         looping forever.
14898
14899 2003-09-09  Paul Eggert  <eggert@twinsun.com>
14900
14901         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
14902         libc.
14903
14904 2003-09-09  Paul Eggert  <eggert@twinsun.com>
14905
14906         * README: New section: portability guidelines.
14907
14908 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
14909
14910         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
14911         C89 spec.
14912
14913 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
14914
14915         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
14916
14917 2003-09-08  Paul Eggert  <eggert@twinsun.com>
14918
14919         Assume C89 or better; remove K&R cruft.
14920         A few of these changes were first proposed by Derek Robert Price
14921         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
14922
14923         * lib/addext.c: Include <string.h> unconditionally.
14924         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
14925         Don't declare getenv or malloc.
14926
14927         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
14928         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
14929         (NULL): Remove.
14930         (find_stack_direction, alloca): Use prototypes.
14931
14932         * lib/atexit.c (atexit): Define using a prototype.
14933
14934         * lib/basename.c, dirname.c, stripslash.c:
14935         Include <string.h> unconditionally.
14936
14937         * lib/bcopy.c: Include <stddef.h>.
14938         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
14939
14940         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
14941
14942         * lib/error.h (error, error_at_line, error_print_progname)
14943         [! (defined (__STDC__) && __STDC__)]: Remove decls.
14944         * lib/error.c: Include error.h first, to check interface.
14945         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
14946         (VA_START): Remove; all uses changeed to va_start.
14947         (exit, strerror): Remove decls.
14948         (error_print_progname): Prototype uncondionally.
14949         Don't include <errno.h>; no longer needed.
14950         (private_strerror): Remove.
14951         (error_tail): Always define.
14952         (error, error_at_line): Assume C89 or better; always use prototypes.
14953         * lib/fatal.c: Include "fatal.h" first, to test interface.
14954         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
14955         (VA_START): Remove; all uses changed to va_start.
14956         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
14957         this case.
14958         (exit): Remove decl.
14959         (fatal): Prototype unconditionally.  Assume va_start works.
14960         Abort at end, to pacify gcc.
14961
14962         * lib/euidaccess.c (main): Define with a prototype.
14963
14964         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
14965
14966         * lib/exitfail.c: Include <stdlib.h> unconditionally.
14967
14968         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
14969         prototypes.
14970         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
14971         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
14972         (getenv): Remove decl.
14973         (fnmatch): Define using a prototype.
14974         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
14975         (FCT): Define using a prototype.
14976
14977         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
14978
14979         * lib/gethostname.c: Include <stddef.h>.
14980         (gethostname): Define with prototype.  Length is size_t, not int.
14981
14982 2003-09-08  Paul Eggert  <eggert@twinsun.com>
14983
14984         Assume C89 or better; remove K&R cruft.
14985         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
14986         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
14987         string.h, getenv, malloc.
14988         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
14989         headers.
14990         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
14991         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
14992         do not check for strerror.
14993         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
14994         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
14995         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
14996         do not check for doprnt or vprintf.
14997         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
14998         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
14999
15000 2003-09-08  Paul Eggert  <eggert@twinsun.com>
15001
15002         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
15003         getversion.c should have been removed then, but was accidentally
15004         preserved.
15005
15006         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
15007         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
15008
15009 2003-09-08  Karl Berry  <karl@gnu.org>
15010
15011         * config/config.sub, config.guess, srclistvars.sh: update from savannah
15012                 config, forget about prep.
15013
15014         * config/depcomp, missing: update from automake.
15015
15016 2003-09-07  Paul Eggert  <eggert@twinsun.com>
15017
15018         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
15019         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
15020
15021 2003-09-07  Paul Eggert  <eggert@twinsun.com>
15022
15023         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
15024         copy_tm_result.  Bug reported by Simon Josefsson in
15025         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
15026
15027 2003-09-06  Paul Eggert  <eggert@twinsun.com>
15028
15029         * m4/time_r.m4: New file.
15030         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
15031         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
15032         is. Check for timegm declaration.
15033         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
15034         Do not check for gmtime_r.
15035         Replace mktime if __mktime_internal does not exist and if mktime
15036         hasn't been replaced already.
15037
15038 2003-09-06  Paul Eggert  <eggert@twinsun.com>
15039
15040         * lib/time_r.c, time_r.h: New files.
15041
15042         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
15043         __localtime_r.
15044         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
15045         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
15046
15047         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
15048         __gmtime_r.
15049         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
15050         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
15051         Include <time_r.h>.
15052
15053         * lib/timegm.c: Switch to glibc implementation, with the following
15054         changes:
15055         [defined HAVE_CONFIG_H]: Include <config.h>.
15056         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
15057         (__mktime_internal) [!defined _LIBC]: New decl.
15058         (__gmtime_r) [!defined _LIBC]: New macro and function.
15059         (timegm): Use a prototype, since gnulib assumes C89.
15060         Do not bother declaring tmp to be const, as it's not really usefu.
15061         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
15062         (timegm): Declare only if HAVE_DECL_TIMEGM.
15063
15064 2003-09-06  Paul Eggert  <eggert@twinsun.com>
15065
15066         * MODULES.html.sh (func_all_modules): Add time_r.
15067         * modules/time_r: New file.
15068         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
15069         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
15070
15071 2003-09-03  Paul Eggert  <eggert@twinsun.com>
15072
15073         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
15074         Bug reported by Lute Kamstra in
15075         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
15076
15077         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
15078         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
15079         course with correspondingly smaller numbers for tomorrow and
15080         yesterday.  From Tadayoshi Funaba.  Originally installed into
15081         sh-utils on 1999-08-07, but the patch got lost (I guess during the
15082         coreutils merge?).
15083
15084 2003-08-31  Simon Josefsson  <jas@extundo.com>
15085
15086         * modules/timegm: New file.
15087         * MODULES.html.sh (func_all_modules): Add timegm.
15088
15089 2003-08-31  Simon Josefsson  <jas@extundo.com>
15090
15091         * m4/timegm.m4: New file.
15092
15093 2003-08-31  Simon Josefsson  <jas@extundo.com>
15094
15095         * lib/timegm.h: New file.
15096         * lib/timegm.c: New file.  Based on
15097         wget-1.8.2/src/http.c:mktime_from_utc.
15098
15099 2003-08-31  Karl Berry  <karl@gnu.org>
15100
15101         * lib/argp.h: update from libc.
15102
15103 2003-08-28  Bruno Haible  <bruno@clisp.org>
15104
15105         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
15106         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
15107         followed by '#define fnmatch fnmatch_posix' gives an error.
15108
15109 2003-08-28  Bruno Haible  <bruno@clisp.org>
15110
15111         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
15112         warning on QNX, which defines O_BINARY to 000000.
15113
15114 2003-08-27  Jim Meyering  <jim@meyering.net>
15115
15116         * m4/mkstemp.m4: Require that the system mkstemp be able to create
15117         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
15118         would fail after 32.  Reported by Danny Levinson.  Details here:
15119         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
15120
15121 2003-08-24  Bruno Haible  <bruno@clisp.org>
15122
15123         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
15124         MSVC7 <stdio.h> is included later.
15125
15126 2003-08-22  Simon Josefsson  <jas@extundo.com>
15127
15128         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
15129
15130 2003-08-20  Karl Berry  <karl@gnu.org>
15131
15132         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
15133
15134 2003-08-20  Bruno Haible  <bruno@clisp.org>
15135
15136         * modules/progname: New file.
15137         * MODULES.html.sh (func_all_modules): Add progname.
15138
15139 2003-08-20  Bruno Haible  <bruno@clisp.org>
15140
15141         * lib/progname.h: New file, from GNU gettext.
15142         * lib/progname.c: New file, from GNU gettext.
15143         * lib/progreloc.c: New file, from GNU gettext.
15144
15145 2003-08-19  Jim Meyering  <jim@meyering.net>
15146
15147         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
15148         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
15149
15150 2003-08-19  Bruno Haible  <bruno@clisp.org>
15151
15152         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
15153         more.
15154
15155 2003-08-19  Bruno Haible  <bruno@clisp.org>
15156
15157         * lib/xstrdup.c: Assume <string.h> exists.
15158
15159 2003-08-18  Paul Eggert  <eggert@twinsun.com>
15160
15161         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
15162         in makefile rules.
15163
15164 2003-08-18  Jim Meyering  <jim@meyering.net>
15165
15166         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
15167         * m4/lib-ld.m4: Likewise.
15168
15169 2003-08-18  Jim Meyering  <jim@meyering.net>
15170
15171         * lib/setenv.h: Indent nested cpp directive.
15172         * lib/vasnprintf.c: Remove trailing blanks.
15173
15174 2003-08-17  Simon Josefsson  <jas@extundo.com>
15175
15176         * modules/xstrndup: New file.
15177         * MODULES.html.sh (func_all_modules): Add xstrndup.
15178
15179 2003-08-17  Simon Josefsson  <jas@extundo.com>
15180
15181         * modules/argp: Fix autoconf macro name. Add more dependencies.
15182
15183 2003-08-17  Simon Josefsson  <jas@extundo.com>
15184
15185         * m4/xstrndup.m4: New file.
15186
15187 2003-08-17  Simon Josefsson  <jas@extundo.com>
15188
15189         * m4/argp.m4: New file.
15190
15191 2003-08-17  Simon Josefsson  <jas@extundo.com>
15192             Bruno Haible  <bruno@clisp.org>
15193
15194         * lib/xstrndup.h: New file.
15195         * lib/xstrndup.c: New file.
15196
15197 2003-08-17  Bruno Haible  <bruno@clisp.org>
15198
15199         * modules/strndup (Files, Include): Add lib/strndup.h.
15200
15201 2003-08-17  Bruno Haible  <bruno@clisp.org>
15202
15203         * modules/euidaccess (Files): Add lib/euidaccess.h.
15204
15205 2003-08-17  Bruno Haible  <bruno@clisp.org>
15206
15207         * lib/strndup.h: New file.
15208
15209 2003-08-17  Bruno Haible  <bruno@clisp.org>
15210
15211         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
15212         like AC_GNU_SOURCE.
15213         * modules/extensions (configure.ac): Comment out the invocation of
15214         gl_USE_SYSTEM_EXTENSIONS.
15215
15216 2003-08-16  Paul Eggert  <eggert@twinsun.com>
15217
15218         Merges from coreutils, etc.
15219         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
15220         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
15221         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
15222         fixing a typo.
15223         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
15224         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
15225
15226 2003-08-16  Paul Eggert  <eggert@twinsun.com>
15227
15228         Document merge from coreutils.
15229         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
15230         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
15231         * modules/utime: Add m4/utimes-null.m4.
15232
15233 2003-08-16  Paul Eggert  <eggert@twinsun.com>
15234
15235         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
15236         space, undoing this 2003-08-12 change:
15237         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
15238
15239 2003-08-16  Paul Eggert  <eggert@twinsun.com>
15240
15241         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
15242         strtoul.c from libc, undoing this 2003-08-12 change:
15243         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
15244
15245 2003-08-16  Jim Meyering  <jim@meyering.net>
15246
15247         Merges from coreutils.
15248         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
15249         prefix.  Adjust cache variables similarly.  Create 500 rather than
15250         just 300 files, to exercise bug on Darwin6.5, too.
15251         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
15252         $missing_dir.
15253         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
15254         AM_SYS_POSIX_TERMIOS.
15255         Reported by mkc@mathdogs.com.
15256         Also change use of $am_cv_sys_posix_termios
15257         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
15258         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
15259         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
15260         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
15261         in /proc/mounts until it finds one with matching device number.  This
15262         is unnecessary when the FILE argument *is* a mount point.  No stat call
15263         is necessary in that case.  So, disable the statvfs-testing code on
15264         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
15265         as RedHat bug# 84846.
15266         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
15267         to 1MB, so as not to render systems with no stack size limit (e.g.,
15268         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
15269         Include <unistd.h>.  On some systems,
15270         it is required for the definition of _SC_PAGESIZE.
15271
15272 2003-08-16  Jim Meyering  <jim@meyering.net>
15273
15274         Merge from coreutils.
15275         * lib/xstrtoimax.c: #else #if -> #elif.
15276         * lib/xstrtoumax.c: Likewise.
15277
15278 2003-08-16  Jim Meyering  <jim@meyering.net>
15279
15280         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
15281         * m4/utimes.m4: Removed.
15282         * m4/utimes-null.m4: Renamed from utimes.m4.
15283
15284         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
15285         to 1MB, so as not to render systems with no stack size limit (e.g.,
15286         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
15287         Include <unistd.h>.  On some systems,
15288         it is required for the definition of _SC_PAGESIZE.
15289
15290 2003-08-16  Jim Meyering  <jim@meyering.net>
15291         and Paul Eggert  <eggert@cs.ucla.edu>
15292
15293         Merges from coreutils, etc.
15294
15295         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
15296         using the latest version from cvs.  This avoids problems with #line
15297         directives using a vendor (Sun) compiler.
15298         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
15299         Don't set GETGROUPS_LIB here; now it's
15300         done via getgroups.m4's wrapper function.
15301         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
15302         rather than just in sh-util/configure.in, so that the
15303         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
15304         same.
15305         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
15306         AC_FUNC_GETLOADAVG where to find getloadavg.c.
15307         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
15308         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
15309         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
15310         Remove code that is now done by the newly-required macros.
15311         Append $(EXEEXT) to DF_PROG.
15312         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
15313         Do not invoke or require the following here,
15314         since prereq.m4 or some gnulib .m4 now does this for us:
15315         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
15316         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
15317         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
15318         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
15319         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
15320         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
15321         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
15322         AC_FUNC_OBSTACK.
15323         Do not replace the following functions, as this is now the job
15324         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
15325         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
15326         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
15327         atexit getpass, strdup, getpagesize.
15328         Replace 'raise'.
15329         Do not check for the following functions, as this is now the job
15330         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
15331         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
15332         setregid.
15333         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
15334         Check for sys/sysctl.h.
15335         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
15336         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
15337         of checking for ssize_t ourselves.
15338
15339         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
15340         Require every macro that gnulib/modules/* suggests for us.
15341         (jm_PREREQ_ADDEXT): New macro.
15342         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
15343         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
15344
15345         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
15346         (gl_PHYSMEM): Use it.
15347         Also check for `table' function.
15348         Check for new headers and functions.
15349         Add check for sys/sysmp.h.
15350         With suggestions from Kaveh Ghazi.
15351         Ignore headers that are present but cannot be compiled.  This
15352         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
15353         C 5.4.
15354
15355 2003-08-15  Paul Eggert  <eggert@twinsun.com>
15356
15357         Document merge from coreutils.
15358         * modules/userspec: Depend on posixver.
15359         * modules/strftime: Depend on tzset.
15360
15361 2003-08-15  Paul Eggert  <eggert@twinsun.com>
15362
15363         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
15364         rather than tab, after '#' in shell-script copyright notices.
15365         Suggested by Bruno Haible.
15366
15367 2003-08-15  Paul Eggert  <eggert@twinsun.com>
15368
15369         * config/srclist-update: Use three spaces, rather than tab, after '#'
15370         in shell-script copyright notices.  Suggested by Bruno Haible.
15371         Remove unnecessary parenthesization in regular expression.
15372
15373 2003-08-15  Jim Meyering  <jim@meyering.net>
15374
15375         Merge from coreutils.
15376         * lib/xgethostname.c: Include <stdlib.h>.
15377         (xghostname): Don't exit for anything other than memory-related
15378         failure; just return NULL.
15379         * lib/userspec.c: Include "posixver.h".
15380         (parse_user_spec): Accept `.' as a separator only
15381         in pre-POSIX-200112 mode.
15382         * lib/strtoimax.c: Use #elif rather than #else #if.
15383         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
15384         Remove function, now that we can rely on a working tzset function.
15385         [!_LIBC]: Ensure that the required autoconf test has been run.
15386         [!defined _NL_CURRENT && HAVE_STRFTIME]:
15387         Use underlying_strftime for %r.
15388         * lib/sha.c: Merge in some clean-up and optimization changes from
15389         glibc.
15390         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
15391         Ensure that it is a multiple of 64.
15392         Rearrange loop exit tests so as to avoid performing an
15393         additional fread after encountering an error or EOF.
15394         * lib/realloc.c: Update copyright date.
15395
15396 2003-08-15  Jim Meyering  <jim@meyering.net>
15397         and Paul Eggert  <eggert@twinsun.com>
15398
15399         Merge from coreutils.
15400         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
15401         member but strut utmpx does not.  Needed for AIX 4.3.3.
15402         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
15403
15404 2003-08-15  Jim Meyering  <jim@meyering.net>
15405         and Paul Eggert  <eggert@cs.ucla.edu>
15406
15407         Merges from coreutils, etc.
15408         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
15409         Require gl_FUNC_TZSET_CLOBBER.
15410         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
15411         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
15412         members.
15413
15414 2003-08-14  Paul Eggert  <eggert@twinsun.com>
15415
15416         Help the merge from coreutils.
15417         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
15418         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
15419         * m4/tzset.m4: Use it too.
15420
15421 2003-08-14  Paul Eggert  <eggert@twinsun.com>
15422
15423         * modules/tzset: New file.
15424
15425 2003-08-14  Jim Meyering  <jim@meyering.net>
15426
15427         Merges from coreutils.
15428         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
15429         variable names, rather than @FNMATCH_H@.
15430         * modules/alloca: Likewise for $(ALLOCA_H).
15431
15432         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
15433         the three copies of the literal target, `fnmatch.h'.
15434         * modules/alloca (alloca.h): Likewise.
15435
15436 2003-08-14  Jim Meyering  <jim@meyering.net>
15437
15438         Merge from coreutils.
15439         * m4/tzset.m4: New file.
15440         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
15441         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
15442         otherwise, AIX 5.1 systems would end up using the latter.
15443         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
15444         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
15445         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
15446         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
15447
15448 2003-08-14  Jim Meyering  <jim@meyering.net>
15449
15450         Merge from coreutils.
15451         * lib/obstack.h: Whitespace changes.
15452         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
15453         and xcalloc return values.
15454         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
15455         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
15456         hang on OSF/1 5.1 for DIR on both local and remote file systems.
15457         Reported by (and fix confirmed by) Nelson H. F. Beebe.
15458         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
15459         error from mntctl.
15460         Use mntctl's return value to drive the entry-processing loop, since
15461         we can't rely on the value of the vmt_length member in the last
15462         entry.  On some systems doing so could result in exhausting
15463         virtual memory.  Based in part on a patch from Mike Jetzer.
15464
15465 2003-08-14  Jim Meyering  <jim@meyering.net>
15466         and Paul Eggert  <eggert@twinsun.com>
15467
15468         Merges from coreutils, plus other fixes.
15469         * lib/physmem.c: Merge in portability changes from gcc/libiberty
15470         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
15471         for credits and details.  Thanks to Kaveh Ghazi for helping
15472         to keep these files in sync.
15473         (ARRAY_SIZE): Define it.
15474         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
15475         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
15476         (memcasecmp): Don't assume size_t fits in unsigned int.
15477         Remove casts and duplicate code.
15478         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
15479         (memcpy): Remove definition.
15480         Merge in some clean-up and optimization changes from glibc.
15481         [BLOCKSIZE]: Move definition to top of file.
15482         Ensure that it is a multiple of 64.
15483         Rearrange loop exit tests so as to avoid performing an
15484         additional fread after encountering an error or EOF.
15485         * lib/md5.h (md5_uintptr): Define.
15486         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
15487         return to the initial working directory.  Preserve errno
15488         for caller.
15489         * lib/idcache.c: Include "xalloc.h".
15490         (xmalloc, xrealloc): Remove decls.
15491         (getuser): Remove casts no longer required in C89.
15492         * lib/human.c: Include stdio.h, for sprintf.
15493         * lib/group-member.c: Include "xalloc.h".
15494         (xmalloc, xrealloc): Remove decls.
15495         (get_group_info): Remove casts no longer required in C89.
15496         * lib/getusershell.c (readname): Remove casts no longer required in
15497         C89.
15498         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
15499         * lib/getline.c: Whitespace fix, from coreutils.
15500
15501 2003-08-13  Paul Eggert  <eggert@twinsun.com>
15502
15503         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
15504         Check for isascii.
15505
15506         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
15507         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
15508         Undo previous (whitespace-only) change.
15509
15510 2003-08-13  Paul Eggert  <eggert@twinsun.com>
15511
15512         * lib/exclude.c: Include <ctype.h>
15513         (IN_CTYPE_DOMAIN): New macro.
15514         (is_space): New fn.
15515         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
15516         and empty lines.
15517
15518         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
15519         Undo previous (whitespace-only) change.
15520
15521 2003-08-13  Paul Eggert  <eggert@twinsun.com>
15522
15523         * config/srclist-update: Change update back to the old behavior,
15524         leaving whitespace alone.  Use one 'sed' command rather than a
15525         pipeline.
15526         (fixlicense): Now a variable, not a function.
15527         (remove_trailing_blanks): Remove.
15528         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
15529         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
15530         Undo previous (whitespace-only) change.
15531
15532 2003-08-12  Paul Eggert  <eggert@twinsun.com>
15533
15534         Merge from coreutils.
15535         * modules/euidaccess: Add lib_SOURCES, include for new
15536         file euidaccess.h
15537
15538 2003-08-12  Paul Eggert  <eggert@twinsun.com>
15539
15540         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
15541         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
15542         Normalize leading white space and remove trailing white space.
15543
15544         Merge from coreutils
15545         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
15546
15547         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
15548         0.12.1.  These files are now being upgraded automatically by
15549         ../config/srclist-update.
15550
15551 2003-08-12  Paul Eggert  <eggert@twinsun.com>
15552
15553         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
15554         Normalize leading white space and remove trailing white space.
15555         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
15556         notice, as per ../config/srclist-update.
15557
15558         Merge from coreutils.
15559         * lib/euidaccess.h: New file.
15560         * lib/euidaccess.c: Include it.
15561         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
15562         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
15563         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
15564
15565 2003-08-12  Paul Eggert  <eggert@twinsun.com>
15566
15567         * config/srclist-update: Add copyright notice.
15568         (remove_id_lines, remove_trailing_blanks): New constants.
15569         (fixfile): Use them to normalize spacing a bit in copied files.
15570         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
15571         Normalize leading white space and remove trailing white space.
15572
15573         * config/texinfo.tex: Sync with texinfo.
15574
15575         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
15576         strtoul.c from libc, to merge coreutils whitespace changes.
15577
15578         * config/srclist.txt: Get the following m4 files from gettext:
15579         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
15580         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
15581         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
15582         wint_t.m4.
15583
15584 2003-08-12  Karl Berry  <karl@gnu.org>
15585
15586         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
15587         been made.
15588
15589 2003-08-11  Paul Eggert  <eggert@twinsun.com>
15590
15591         * modules/gnu-source, m4/gnu-source.m4:
15592         Remove; we're assuming Autoconf 2.54 or later now.
15593         Suggested by Bruno Haible.
15594         * MODULES.html.sh (func_all_modules): Remove gnu-source.
15595
15596 2003-08-11  Bruno Haible  <bruno@clisp.org>
15597
15598         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
15599
15600 2003-08-11  Bruno Haible  <bruno@clisp.org>
15601
15602         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
15603         (vasnprintf): Use it instead of wcslen.
15604
15605 2003-08-11  Bruno Haible  <bruno@clisp.org>
15606
15607         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
15608         value to ensure that _Bool promotes to int. Use #define for _Bool when
15609         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
15610
15611 2003-08-10  Karl Berry  <karl@gnu.org>
15612
15613         * lib/regex.h: update from libc (whitespace fix).
15614
15615 2003-08-09  Paul Eggert  <eggert@twinsun.com>
15616
15617         Merge some files from coreutils.  These changes were
15618         originally made by Jim Meyering.
15619         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
15620         many older Unixes require this.
15621         * lib/alloca.c (alloca): Remove cast to argument of free;
15622         no longer needed in C89.
15623         * lib/alloca_.h, regex.h: Fix white space to match
15624         what GNU indent does.
15625
15626 2003-08-09  Paul Eggert  <eggert@twinsun.com>
15627
15628         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
15629         apparently Emacs's Unicode mode got confused before my 2003-08-05
15630         checkin.
15631
15632 2003-08-08  Paul Eggert  <eggert@twinsun.com>
15633
15634         * m4/extensions.m4: New file.
15635         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
15636         Require gl_USE_SYSTEM_EXTENSIONS.
15637         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
15638         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
15639
15640 2003-08-08  Paul Eggert  <eggert@twinsun.com>
15641
15642         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
15643         * modules/extensions, modules/gnu-source: New files.
15644         * modules/timespec, modules/unlocked-io: Depend on extensions.
15645
15646 2003-08-07 Paul Eggert  <eggert@twinsun.com>
15647
15648         * modules/restrict: New file.
15649         * MODULES.html.sh (func_all_modules): Add restrict.
15650         * modules/regex: Depend on restrict.
15651
15652 2003-08-07  Paul Eggert  <eggert@twinsun.com>
15653
15654         * m4/restrict.m4: New file.
15655         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
15656
15657 2003-08-07  Bruno Haible  <bruno@clisp.org>
15658
15659         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
15660         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
15661
15662 2003-08-07  Bruno Haible  <bruno@clisp.org>
15663
15664         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
15665         makes the module 'getndelim2' compatible with the module 'getline'.
15666
15667 2003-08-05  Paul Eggert  <eggert@twinsun.com>
15668
15669         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
15670         byte with "\201" to avoid glitches when editing that source file
15671         with multi-gnome-terminal.
15672
15673 2003-08-05  Paul Eggert  <eggert@twinsun.com>
15674
15675         * lib/bumpalloc.h: Remove.
15676
15677 2003-08-05  Paul Eggert  <eggert@twinsun.com>
15678
15679         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
15680         * modules/bumpalloc: Remove.
15681
15682 2003-08-04  Paul Eggert  <eggert@twinsun.com>
15683
15684         * lib/getloadavg.c: Change copyright notice and spacing to conform to
15685         GNU coding style.
15686
15687         Merge from coreutils.
15688         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
15689         1. From glibc.
15690         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
15691         from Karl Berry, implemented by Jim Meyering.
15692         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
15693         from Dmitry V. Levin.
15694         Remove anachronistic cast of xrealloc.
15695         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
15696         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
15697         type. Otherwise, it wouldn't compile with at least /bin/cc on
15698         ymp-cray-unicos9.0.2.X.
15699         Combine two mostly-identical uses of alloca into one.
15700         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
15701
15702 2003-08-04  Dave Love <d.love@dl.ac.uk>
15703
15704         [From Emacs.]
15705
15706         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
15707         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
15708         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
15709         obsolete NLIST_NAME_UNION.
15710         [__GNU__]: Undef BSD and FSCALE.
15711         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
15712
15713 2003-08-03  Paul Eggert  <eggert@twinsun.com>
15714
15715         * lib/stdbool_.h (_Bool): Make it signed char, instead of
15716         an enum type, so that it's guaranteed to promote to int.  See:
15717         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
15718
15719 2003-08-03  Karl Berry  <karl@gnu.org>
15720
15721         * config/depcomp: update from automake.
15722
15723 2003-07-31  Paul Eggert  <eggert@twinsun.com>
15724
15725         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
15726         (strerror): Don't assume that a printable int fits in 14 bytes.
15727
15728 2003-07-31  Bruno Haible  <bruno@clisp.org>
15729
15730         * modules/getpass-gnu: New file.
15731         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
15732
15733 2003-07-31  Bruno Haible  <bruno@clisp.org>
15734
15735         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
15736
15737 2003-07-24  Karl Berry  <karl@gnu.org>
15738
15739         * config/missing: update from automake.
15740
15741 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
15742             Bruno Haible  <bruno@clisp.org>
15743
15744         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
15745         * lib/getline.c (getline, getdelim): Likewise.
15746         Remove _GNU_SOURCE define; now it's defined in config.h through
15747         m4/getline.m4.
15748
15749 2003-07-23  Karl Berry  <karl@gnu.org>
15750
15751         * config/config.sub: update from prep.
15752
15753 2003-07-22  Paul Eggert  <eggert@twinsun.com>
15754
15755         * modules/xalloc (Depends-on): Add exitfail.
15756         * modules/xmemcoll: Likewise.
15757
15758 2003-07-22  Paul Eggert  <eggert@twinsun.com>
15759
15760         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
15761         over-parenthesization in macros.
15762
15763         Sync with coreutils.
15764
15765         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
15766         required by C99.
15767
15768         Use `exit_failure' for xalloc and xmemcoll instead of their own
15769         private exit-failure variables.
15770         * lib/xalloc.h (xalloc_exit_failure): Remove.
15771         * lib/xmalloc.c: Likewise.  Include exitfail.h.
15772         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
15773         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
15774         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
15775         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
15776
15777 2003-07-20  Jim Meyering  <jim@meyering.net>
15778
15779         * modules/closeout (Depends-on): Add exitfail.
15780         Suggestion from Bruno Haible.
15781
15782 2003-07-19  Karl Berry  <karl@gnu.org>
15783
15784         * config/config.sub: update from prep.
15785
15786 2003-07-18  Paul Eggert  <eggert@twinsun.com>
15787
15788         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
15789         Remove.
15790         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
15791         to test that it can stand by itself.  Include "exitfail.h".
15792         Clients should set exit_failure instead.
15793         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
15794
15795 2003-07-18  Bruno Haible  <bruno@clisp.org>
15796
15797         * modules/getndelim2: New file.
15798         * modules/getline: Share files with module getndelim2.
15799         * modules/getnline: Depend on getndelim2 instead of sharing files with
15800         it. Add getnline.c to lib_SOURCES.
15801         * MODULES.html.sh (func_all_modules): Add getndelim2.
15802
15803 2003-07-18  Bruno Haible  <bruno@clisp.org>
15804
15805         * m4/getndelim2.m4: New file.
15806         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
15807         invoke gl_PREREQ_GETNDELIM2.
15808         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
15809         gl_PREREQ_GETNDELIM2.
15810         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
15811         gl_GETNDELIM2.
15812
15813 2003-07-18  Bruno Haible  <bruno@clisp.org>
15814
15815         * lib/getndelim2.h: New file.
15816         * lib/getndelim2.c: Make into a module of its own. Include config.h,
15817         getndelim2.h.
15818         (getndelim2): Make non-static. Change return type to ssize_t.
15819         * lib/getline.h: Change argument names.
15820         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
15821         * lib/getnline.c: Include getndelim2.h.
15822
15823 2003-07-18  Andreas Schwab  <schwab@suse.de>
15824
15825         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
15826
15827 2003-07-17  Karl Berry  <karl@gnu.org>
15828
15829         * config/config.sub: update from prep.
15830
15831 2003-07-17  Bruno Haible  <bruno@clisp.org>
15832
15833         * modules/getnline: New file.
15834         * modules/getline: Add lib/getndelim2.c to source file list.
15835         * MODULES.html.sh (func_all_modules): Add getnline.
15836
15837 2003-07-17  Bruno Haible  <bruno@clisp.org>
15838
15839         * m4/getnline.m4: New file.
15840
15841 2003-07-17  Bruno Haible  <bruno@clisp.org>
15842
15843         * m4/Makefile.am.in: Remove file.
15844         * m4/Makefile.am: Remove file.
15845         * m4/Makefile.in: Remove file.
15846
15847 2003-07-17  Bruno Haible  <bruno@clisp.org>
15848
15849         * lib/getnline.h: New file.
15850         * lib/getnline.c: New file.
15851         * lib/getndelim2.c: New file, extracted from getline.c.
15852         (getndelim2): Renamed from getdelim2, with added nmax argument.
15853         * lib/getline.c: Include getndelim2.c.
15854         (getdelim2): Moved out to getndelim2.c.
15855         (getline, getdelim): Update.
15856
15857 2003-07-17  Bruno Haible  <bruno@clisp.org>
15858
15859         * lib/Makefile.am: Remove file.
15860         * lib/Makefile.in: Remove file.
15861
15862 2003-07-17  Bruno Haible  <bruno@clisp.org>
15863
15864         * configure.in: Remove file.
15865         * Makefile.in: Remove file.
15866
15867 2003-07-17  Bruno Haible  <bruno@clisp.org>
15868
15869         * MODULES.html.sh: Put the </BODY> right before </HTML>.
15870
15871 2003-07-16  Karl Berry  <karl@gnu.org>
15872
15873         * config/srclist-update: was running fixlicense twice, which caused
15874                 texinfo.tex to be nullified for some reason.  Simplify,
15875                 $gplsrc is no longer needed as far as I can see?
15876
15877 2003-07-16  Jim Meyering  <jim@meyering.net>
15878
15879         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
15880
15881 2003-07-15  Paul Eggert  <eggert@twinsun.com>
15882
15883         * config/srclist.txt: Get the following files from gettext-runtime/intl
15884         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
15885         ref-del.sin.  From Bruno Haible.
15886         * config/srclist-update (fixfile): Change grep pattern again, since the
15887         previous fix didn't work (there was another trailing $).  Use
15888         '[$]' to escape the $s.
15889
15890 2003-07-15  Karl Berry  <karl@gnu.org>
15891
15892         * lib/vasnprintf.c: update from gettext.
15893
15894 2003-07-15  Karl Berry  <karl@gnu.org>
15895
15896         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
15897         gets expanded when surrounded by '$'.
15898
15899 2003-07-15  Jim Meyering  <jim@meyering.net>
15900
15901         * modules/save-cwd: Don't depend on error.  From Derek Price.
15902
15903 2003-07-15  Jim Meyering  <jim@meyering.net>
15904
15905         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
15906
15907 2003-07-14  Simon Josefsson  <jas@extundo.com>
15908
15909         * modules/mempcpy: New file.
15910         * MODULES.html.sh (func_all_modules): Add mempcpy.
15911
15912 2003-07-14  Simon Josefsson  <jas@extundo.com>
15913
15914         * m4/mempcpy.m4: New file.
15915
15916 2003-07-14  Simon Josefsson  <jas@extundo.com>
15917
15918         * lib/mempcpy.h: New file.
15919         * lib/mempcpy.c: New file.
15920
15921 2003-07-14  Paul Eggert  <eggert@twinsun.com>
15922
15923         * modules/getdate, modules/posixtm: Depend on mktime.
15924
15925 2003-07-14  Paul Eggert  <eggert@twinsun.com>
15926
15927         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
15928         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
15929         unicodeio.c, unicodeio.h, unlocked-io.h:
15930         Switch from LGPL to GPL.
15931
15932 2003-07-14  Paul Eggert  <eggert@twinsun.com>
15933
15934         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
15935         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
15936         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
15937         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
15938         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
15939         updated automatically by ../config/srclist-update.  This changes
15940         their license from LPGL to GPL.
15941
15942 2003-07-14  Paul Eggert  <eggert@twinsun.com>
15943
15944         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
15945         assumed to refer to the root of the most recent stable gettext version.
15946         * config/srclistvars.sh: Add defaults for eggert.
15947         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
15948         Match "This program" as well as "The program".  This is needed
15949         for gettext.
15950
15951 2003-07-14  Jim Meyering  <jim@meyering.net>
15952
15953         Don't emit diagnostics.  Let callers do that.
15954         * lib/save-cwd.c: Don't include "error.h".
15955         (save_cwd): Don't call error.  Ensure that errno is valid
15956         when returning nonzero.
15957
15958         * lib/save-cwd.h (restore_cwd): Update prototype.
15959         * lib/save-cwd.c (restore_cwd): Remove two parameters.
15960         Simplify.  Don't call error upon failure.  Let callers do that.
15961         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
15962         when auditing is enabled.  But don't bother updating the #if.
15963
15964 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
15965
15966         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
15967         it breaks C++ compilation.
15968         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
15969
15970 2003-07-10  Simon Josefsson  <jas@extundo.com>
15971
15972         * modules/strchrnul (Makefile.am): Add strchrnul.h.
15973
15974 2003-07-10  Jim Meyering  <jim@meyering.net>
15975
15976         * m4/clock_time.m4: Remove trailing blank.
15977         * m4/intmax_t.m4: Likewise.
15978
15979 2003-07-10  Jim Meyering  <jim@meyering.net>
15980
15981         * lib/vasnprintf.c: Remove trailing blanks.
15982         Make cpp indentation consistent.
15983
15984 2003-07-09  Paul Eggert  <eggert@twinsun.com>
15985
15986         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
15987         posixver.c, strftime.c, strnlen.c, strverscmp.c:
15988         Switch from LGPL to GPL.
15989
15990 2003-07-09  Paul Eggert  <eggert@twinsun.com>
15991
15992         * config/srclist.txt: Sort sublists.  Add
15993         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
15994         that differ from gnulib for one reason or another; we'd like this list
15995         to be smaller but for now let's document what we have.
15996
15997 2003-07-08  Paul Eggert  <eggert@twinsun.com>
15998
15999         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
16000         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
16001         and sweeter "eval x=$x".
16002         * config/srclist.txt: Get lib/argp* from glibc.
16003
16004 2003-07-07  Paul Eggert  <eggert@twinsun.com>
16005
16006         * lib/mktime.c: Fix some boundary cases and remove need for floating
16007         point.
16008
16009         Issue a compile-time diagnostic if time_t is floating point, or if
16010         two's complement arithmetic is not in effect, or if arithmetic
16011         right shift does not propagate the sign.  These assumptions were
16012         all in the original code but they weren't checked.
16013
16014         (TIME_T_MIDPOINT, verify): New macros.
16015         (__isleap): Remove; it has integer overflow problems.
16016         (leapyear): New function, without those problems.
16017         (ydhms_tm_diff): Remove; splitting into two parts.
16018         (ydhms_diff): New function, containing the arithmetic part of
16019         the old ydhms_tm_diff function.  Issue a compile-time
16020         diagnostic if we are not using C99 integer division.
16021         Avoid casts when possible.
16022         (guess_time_tm): New function, containing the checking part of
16023         the old ydhms_tm_diff function.  Return the new value, rather than
16024         the difference between it and the old.  Accept a new argument T
16025         so that *T specifies the old value.  Check for overflow in the result.
16026
16027         (__mktime_internal): Use a time_t offset, not a long int offset.
16028         This undoes the 2003-06-04 change, which is no longer needed now
16029         that we have better overflow checking.
16030         (localtime_offset): Likewise.
16031
16032         (__mktime_internal): Avoid harmful overflow on hosts where time_t
16033         and long are 64-bit but int is only 32-bit.
16034         (ydhms_diff): Use long int to store year1 and yday1.
16035         Issue a compile-time diagnostic if long int is not wide enough.
16036
16037         (__mktime_internal): Use long int to store adjusted year and yday.
16038         Use plain C rather than preprocessor commands, if that doesn't
16039         affect efficiency.
16040         Check for overflow (and try to repair) after each probe
16041         rather than checking only at the very end.  This avoids some bugs
16042         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
16043         does not equal GMT offset at maximum time).
16044         Use integer to check for overflow rather than floating point; this
16045         is more portable to non-IEEE hosts, and is a tad faster.
16046         When we detect that we are oscillating between two values,
16047         don't check whether tm_isdst has the requested value, since
16048         we already know the answer.  When tm_isdst has the wrong value,
16049         use a different heuristic to find the right one, based on the
16050         extreme values actually observed in practice in tz2003a,
16051         rather than the (overly optimistic) "previous 3 calendar quarters".
16052
16053         (not_equal_tm, print_tm, check_result): Use "const T" rather than
16054         "T const" to accommodate glibc style.
16055         (check_result): Use less-confusing report format.  "long" -> "long int.
16056         (main): Likewise.
16057         Don't loop if the iteration overflows time_t.
16058         Allow a negative step in the iteration.
16059
16060 2003-07-06  Karl Berry  <karl@gnu.org>
16061
16062         * config/depcomp: update from automake.
16063         * config/config.sub: update from prep.
16064
16065 2003-07-03  Karl Berry  <karl@gnu.org>
16066
16067         * config/config.guess: update from prep.
16068
16069 2003-07-01  Paul Eggert  <eggert@twinsun.com>
16070
16071         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
16072         xreadlink.c now includes it unconditionally.
16073
16074 2003-07-01  Paul Eggert  <eggert@twinsun.com>
16075
16076         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
16077         having it depend on HAVE_SYS_TYPES_H.
16078
16079 2003-07-01  Bruno Haible  <bruno@clisp.org>
16080
16081         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
16082         <sys/types.h> should be sufficient.
16083         Reported by Paul Eggert.
16084
16085 2003-06-26  Karl Berry  <karl@gnu.org>
16086
16087         * config/depcomp: update from automake.
16088
16089 2003-06-26  Bruno Haible  <bruno@clisp.org>
16090
16091         * modules/human: Depend on module stdbool.
16092
16093 2003-06-25  Bruno Haible  <bruno@clisp.org>
16094
16095         * modules/readlink: New file.
16096         * modules/xreadlink: Depend on it.
16097         * MODULES.html.sh (func_all_modules): Add readlink.
16098
16099 2003-06-25  Bruno Haible  <bruno@clisp.org>
16100
16101         * m4/readlink.m4: New file.
16102
16103 2003-06-25  Bruno Haible  <bruno@clisp.org>
16104
16105         * lib/readlink.c: New file.
16106
16107 2003-06-22  Karl Berry  <karl@gnu.org>
16108
16109         * config/srclist.txt: update mkinstalldirs from automake.
16110         * config/mkinstalldirs: update.
16111
16112 2003-06-22  Bruno Haible  <bruno@clisp.org>
16113
16114         Portability to mingw32.
16115         * m4/ssize_t.m4: New file, from GNU gettext.
16116         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
16117         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
16118
16119 2003-06-22  Bruno Haible  <bruno@clisp.org>
16120
16121         * modules/safe-read: Add m4/ssize_t.m4.
16122         * modules/xreadlink: Add m4/ssize_t.m4.
16123
16124 2003-06-20  Bruno Haible  <bruno@clisp.org>
16125
16126         Assume C89, so PARAMS isn't needed.
16127         * lib/unicodeio.h (PARAMS): Remove.
16128         * lib/unicodeio.c: Don't use PARAMS.
16129
16130 2003-06-18  Karl Berry  <karl@gnu.org>
16131
16132         * config/config.{guess,sub}: update from prep.
16133
16134 2003-06-18  Jim Meyering  <jim@meyering.net>
16135
16136         Merge changes from coreutils.
16137         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
16138         Remove explicit declarations of xmalloc and realloc.
16139         Include xalloc.h.
16140         (read_utmp): Remove anachronistic cast of xmalloc.
16141
16142 2003-06-17  Paul Eggert  <eggert@twinsun.com>
16143
16144         Assume C89, so PARAMS isn't needed.
16145         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
16146         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
16147         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
16148         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
16149         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
16150         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
16151         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
16152         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
16153         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
16154         lib/xstrtod.h, lib/xstrtol.h: Likewise.
16155         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
16156         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
16157         no longer needed. Anyway, config.h should always be included before any
16158         other file.
16159
16160 2003-06-11  Simon Josefsson  <jas@extundo.com>
16161
16162         * modules/sysexits: New file.
16163         * MODULES.html.sh (func_all_modules): Add sysexits.
16164
16165 2003-06-11  Simon Josefsson  <jas@extundo.com>
16166
16167         * lib/sysexit_.h: New file.
16168
16169 2003-06-11  Derek Price  <derek@ximbiot.com>
16170
16171         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
16172         necessary.
16173
16174 2003-06-11  Bruno Haible  <bruno@clisp.org>
16175
16176         * m4/sysexits.m4: New file.
16177
16178 2003-06-10  Simon Josefsson <jas@extundo.com>
16179
16180         * lib/argp.h: New file, from glibc.
16181         * lib/argp-ba.c: New file, from glibc.
16182         * lib/argp-eexst.c: New file, from glibc.
16183         * lib/argp-fmtstream.c: New file, from glibc.
16184         * lib/argp-fmtstream.h: New file, from glibc.
16185         * lib/argp-fs-xinl.c: New file, from glibc.
16186         * lib/argp-help.c: New file, from glibc.
16187         * lib/argp-namefrob.h: New file, from glibc.
16188         * lib/argp-parse.c: New file, from glibc.
16189         * lib/argp-pv.c: New file, from glibc.
16190         * lib/argp-pvh.c: New file, from glibc.
16191         * lib/argp-xinl.c: New file, from glibc.
16192
16193 2003-06-10  Simon Josefsson  <jas@extundo.com>
16194
16195         * modules/strchrnul: New file.
16196
16197 2003-06-10  Simon Josefsson  <jas@extundo.com>
16198
16199         * modules/argp: New file.
16200
16201 2003-06-10  Simon Josefsson  <jas@extundo.com>
16202
16203         * m4/strchrnul.m4: New file.
16204
16205 2003-06-10  Simon Josefsson  <jas@extundo.com>
16206
16207         * lib/strchrnul.h: New file.
16208         * lib/strchrnul.c: New file.
16209
16210 2003-06-10  Bruno Haible  <bruno@clisp.org>
16211
16212         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
16213
16214 2003-06-07  Karl Berry  <karl@gnu.org>
16215
16216         * config/config.{guess,sub}: update from prep.
16217
16218 2003-06-07  Jim Meyering  <jim@meyering.net>
16219
16220         * modules/strtod: Use $(...) notation, not @...@ for
16221         AC_REPLACE'd variables.
16222         * modules/localcharset: Likewise.
16223
16224 2003-06-07  Jim Meyering  <jim@meyering.net>
16225
16226         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
16227         in place of my name in the copyright comment.
16228         Remove definition and uses of __P.
16229
16230         From coreutils.
16231         * lib/stat.c: Don't declare xmalloc explicitly.
16232         Instead, include "xalloc.h".
16233         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
16234         xrealloc, and xcalloc return values.
16235         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
16236         Improve comment.
16237         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
16238
16239 2003-06-07  Bruno Haible  <bruno@clisp.org>
16240
16241         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
16242         avoid AC_CONFIG_LINKS.
16243         * modules/fnmatch (Makefile.am): Use explicit creation rule for
16244         fnmatch.h, to avoid AC_CONFIG_LINKS.
16245         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
16246
16247 2003-06-07  Bruno Haible  <bruno@clisp.org>
16248
16249         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
16250         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
16251         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
16252         directory.
16253         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
16254         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
16255         directory.
16256
16257 2003-06-06  Jim Meyering  <jim@meyering.net>
16258
16259         Merge from coreutils.
16260         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
16261         Consolidate declarations and initializations of *_base* locals.
16262
16263         Merge from coreutils.
16264         This avoids a core dump on systems without GNU putenv,
16265         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
16266         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
16267         (unsetenv): New static function, from GNU libc.
16268         (rpl_putenv): Use it.
16269
16270         * lib/modechange.c: Remove trailing blanks.
16271
16272         Merge from coreutils.
16273         * lib/fsusage.c: Remove declaration of statfs.
16274         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
16275
16276         * lib/posixtm.c: Include <stdbool.h> unconditionally.
16277
16278 2003-06-06  Jim Meyering  <jim@meyering.net>
16279
16280         * lib/stdbool_.h: Renamed from stdbool.h.in.
16281
16282 2003-06-06  Jim Meyering  <jim@meyering.net>
16283             Bruno Haible  <bruno@clisp.org>
16284
16285         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
16286         Adjust Makefile.am snippet not to redirect directly to target.
16287         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
16288
16289 2003-06-05  Paul Eggert  <eggert@twinsun.com>
16290
16291         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
16292         mismatch, look in future quarters as well as past.  This fixes a
16293         bug when processing fall-backwards gaps immediately after a long
16294         period of daylight-saving time.
16295
16296         * lib/mktime.c: Assume freestanding C89 or better.
16297         (HAVE_LIMITS_H): Remove.  Assume it's 1.
16298         (__P): Remove; not used.
16299         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
16300         (mktime, not_equal_tm, print_tm, check_result,
16301         main): Use prototypes.  Use const * where appropriate.
16302         (main): Fix typo in testing code that uncovered by above changes.
16303         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
16304
16305 2003-06-04  Paul Eggert  <eggert@twinsun.com>
16306
16307         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
16308         locale.h, localeconv.  This merges changes from coreutils.
16309
16310         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
16311         It can be removed after the next Autoconf is released.
16312         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
16313         needed.
16314
16315 2003-06-04  Paul Eggert  <eggert@twinsun.com>
16316
16317         * lib/mktime.c: Fix Debian bug 177940
16318         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
16319         (localtime_offset): Now long int, not time_t, because we want it
16320         to be guaranteed to be signed.  All uses changed.
16321         (__mktime_internal): If overflow would occur when adding offset,
16322         don't add it.
16323
16324         Merge 'human' changes from coreutils.  Rewrite to support
16325         locale-specific notations like thousands separators.
16326         * lib/human.c: Simplify authorship notice.
16327         Include human.h immediately after config.h.
16328         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
16329         <limits.h>: Do not include, since human.h does.
16330         (SIZE_MAX, UINTMAX_MAX): New macros.
16331         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
16332         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
16333         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
16334         (power_letter): Renamed from suffixes.
16335         (generate_suffix_backwards): Remove.
16336         (adjust_value): Now takes int style (because of human.h changes)
16337         and long double value (for greater precision on some platforms).
16338         (group_number): New function.
16339         (human_readable): Use it.  Use integer options, not enum.
16340         Put the options before the sizes in the arg list.
16341         Support all the new options.
16342         The old human_readable function has been removed;
16343         use inttostr.h instead.
16344         (human_readable, default_block_size, humblock):
16345         Use uintmax_t, not int, for block sizes.
16346         (human_readable_inexact, block_size_types): Remove.
16347         (block_size_opts): New constant.
16348         (human_options): Renamed from human_block_size, with new signature
16349         that allows block sizes up to UINTMAX_MAX.  All callers changed.
16350         * lib/human.h: Add copyright and authorship notice.
16351         Include <limits.h> and <stdbool.h> unconditionally.
16352         (PARAMS): Remove.  All uses removed.
16353         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
16354         (enum human_inexact_style): Remove tag; now a nameless enum.
16355         (human_floor, human_ceiling, human_round_to_even): Now have
16356         values 2, 0, 1 rather than -1, 1, 0.
16357         (human_group_digits, human_suppress_point_zero, human_autoscale,
16358         human_base_1024, human_SI, human_B): New constants.
16359         (human_readable_inexact, human_block_size): Remove.
16360         (human_readable): Size args are now uintmax_t, not int.
16361         (human_options): New decl.
16362
16363         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
16364         unnecessary now that we assume C89 or better.  This change
16365         imported from coreutils.
16366
16367         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
16368         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
16369         in the 2003-05-30 sync from glibc.
16370
16371         .h files should stand alone, but we shouldn't include <sys/types.h>
16372         if we can get away with just <stddef.h>.
16373
16374         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
16375         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
16376         rather than <sys/types.h>, as we merely need size_t.
16377         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
16378         to get size_t.
16379         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
16380         Include <stdio.h>, to get FILE.
16381         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
16382         memcasecmp.h has included <stddef.h> and all we need is size_t.
16383         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
16384         our interface, instead of including <sys/types.h>
16385
16386 2003-06-04  Paul Eggert  <eggert@twinsun.com>
16387
16388         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
16389         now, as glibc mktime is buggy on non-glibc systems.
16390
16391 2003-06-03  Karl Berry  <karl@gnu.org>
16392
16393         * config/config.sub: update from prep.
16394
16395 2003-06-02  Paul Eggert  <eggert@twinsun.com>
16396
16397         [from coreutils]
16398         Fix some minor time-related bugs with POSIX time arguments.
16399         Some valid time stamps were being rejected (notably -1, and
16400         time stamps before 1900 on 64-bit hosts).  And some invalid
16401         time stamps were being accepted, e.g. September 31.
16402
16403         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
16404         that we can return (time_t) -1 successfully.
16405         * lib/posixtm.c: Likewise.
16406         [HAVE_STDBOOL_H]: Include <stdbool.h>.
16407         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
16408         (t): Remove static var.
16409         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
16410         of static var.  All uses changed.
16411         (year): Do not reject years before 1900; they can occur with
16412         64-bit time_t.
16413         (posix_time_parse): Do not check for out-of-range components;
16414         that is now the caller's responsibility, since our checks were
16415         only approximations.
16416         (posixtime): Use mktime to check for out-of-range components,
16417         since it knows them exactly.
16418         If mktime returns (time_t) -1, check whether an error actually occurred
16419         by invoking localtime on -1.
16420         (main) [TEST_POSIXTIME]: Check for input data errors, and report
16421         posixtime failures better.
16422         Improve the test data (in comments only).
16423
16424 2003-06-02  Karl Berry  <karl@gnu.org>
16425
16426         * config/mkinstalldirs (version): new variable.
16427         (--version): new option.
16428         (usage): improve message.
16429
16430 2003-05-30  Karl Berry  <karl@gnu.org>
16431
16432         * lib/mktime.c: update from libc.
16433
16434 2003-05-30  Bruno Haible  <bruno@clisp.org>
16435
16436         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
16437         * config/config.rpath: Upgrade to gettext-0.12.1.
16438
16439 2003-05-30  Bruno Haible  <bruno@clisp.org>
16440
16441         * m4/gettext.m4: Upgrade to gettext-0.12.1.
16442         * m4/nls.m4: New file, from gettext-0.12.1.
16443         * m4/po.m4: New file, from gettext-0.12.1.
16444         * m4/progtest.m4: Upgrade to gettext-0.12.1.
16445
16446 2003-05-30  Bruno Haible  <bruno@clisp.org>
16447
16448         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
16449         * lib/localcharset.h: Likewise.
16450         * lib/localcharset.c: Likewise.
16451
16452 2003-05-29  Karl Berry  <karl@gnu.org>
16453
16454         * config/config.rpath: update from gettext.
16455
16456 2003-05-28  Paul Eggert  <eggert@twinsun.com>
16457
16458         Assume the headers required for C89 freestanding compilers.
16459         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
16460         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
16461         * m4/human.m4 (gl_HUMAN): Likewise.
16462         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
16463         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
16464         * m4/userspec.m4 (gl_USERSPEC): Likewise.
16465         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
16466         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
16467         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
16468
16469 2003-05-28  Paul Eggert  <eggert@twinsun.com>
16470
16471         Assume the headers required for C89 freestanding compilers.
16472         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
16473         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
16474         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
16475         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
16476         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
16477         define, since <limits.h> is guaranteed to do that.
16478         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
16479         * lib/exclude.c: Include <stdbool.h> unconditionally.
16480         * lib/tempname.c: Include <stddef.h> unconditionally.
16481         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
16482         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
16483         <stddef.h> does that.
16484         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
16485         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
16486         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
16487         needed.
16488         * lib/xstrtol.c: Likewise.
16489         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
16490         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
16491
16492         * lib/addext.c (addext): Use assignment rather than cast, to avoid
16493         warnings on some platforms.
16494
16495         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
16496         arbitrarily.
16497
16498 2003-05-26  Jim Meyering  <jim@meyering.net>
16499
16500         Merge in a change from coreutils:
16501         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
16502         that is guaranteed to be `no'.  Use `no_such_member' to indicate
16503         that condition, rather than `-1' which is slightly misleading.
16504         Change the name of the cache variable to have the gl_ prefix.
16505         Prompted by a patch from Richard Dawe for DJGPP.
16506
16507 2003-05-24  Karl Berry  <karl@gnu.org>
16508
16509         * config/config.guess: update from prep.
16510
16511 2003-05-22  Karl Berry  <karl@gnu.org>
16512
16513         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
16514
16515 2003-05-20  Karl Berry  <karl@gnu.org>
16516
16517         * config/config.guess: update from prep.
16518
16519 2003-05-18  Karl Berry  <karl@gnu.org>
16520
16521         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
16522         might actually be set by the user.
16523
16524         * config/depcomp, install-sh, mdate-sh: update from automake.
16525
16526 2003-05-17  Bruno Haible  <bruno@clisp.org>
16527
16528         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
16529         invalid expansion for AC_EGREP_CPP.
16530         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
16531         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
16532         Suggested by Akim Demaille <akim@epita.fr> in
16533         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
16534
16535 2003-05-12  Jim Meyering  <jim@meyering.net>
16536
16537         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
16538         the space-padded-by-default conversion specifiers, %e, %k, %l.
16539
16540 2003-05-12  Bruno Haible  <bruno@clisp.org>
16541
16542         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
16543         the string is longer than 4 KB.
16544
16545 2003-05-11  Karl Berry  <karl@gnu.org>
16546
16547         * config/config.{guess,sub}: update from prep.
16548
16549 2003-05-09  Bruno Haible  <bruno@clisp.org>
16550
16551         * modules/error: Add m4/strerror_r.m4 to file list.
16552
16553 2003-05-03  Bruno Haible  <bruno@clisp.org>
16554
16555         Upgrade to Unicode-4.0.
16556         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
16557         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
16558         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
16559         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
16560         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
16561         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
16562         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
16563         Change width of U+E0100..U+E01EF from 1 to 0.
16564
16565 2003-04-25  Jim Meyering  <jim@meyering.net>
16566
16567         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
16568         of type size_t, not int.
16569
16570 2003-04-25  Bruno Haible  <bruno@clisp.org>
16571
16572         * lib/copy-file.c: Include <stddef.h>, for size_t.
16573
16574 2003-04-21  Paul Eggert  <eggert@twinsun.com>
16575
16576         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
16577         code which expansion is under static control.  Patch imported from
16578         Akim Demaille's patch to Bison; see
16579         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
16580
16581 2003-04-14  Bruno Haible  <bruno@clisp.org>
16582
16583         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
16584
16585 2003-04-11  Jim Meyering  <jim@meyering.net>
16586
16587         Merge changes from Coreutils.
16588
16589         2003-03-22  Jim Meyering  <jim@meyering.net>
16590
16591         * lib/strftime.c (widen): Cast alloca return value to proper type.
16592
16593         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
16594
16595         From GNU libc.
16596         * lib/strftime.c (my_strftime): Handle very large width
16597         specifications for numeric values correctly.  Improve checks for
16598         overflow.
16599
16600         2003-01-19  Jim Meyering  <jim@meyering.net>
16601
16602         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
16603         definitions.
16604         (nl_get_alt_digit) [! defined my_strftime]: Define.
16605         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
16606         _nl_get_alt_digit and _nl_get_walt_digit.
16607
16608         * lib/strftime.c (my_strftime): Merge in locale-related changes from
16609         libc. These changes have no effect outside of _LIBC.
16610
16611 2003-04-10  Bruno Haible  <bruno@clisp.org>
16612
16613         * modules/findprog: New file.
16614         * MODULES.html.sh (func_all_modules): Add it.
16615
16616 2003-04-10  Bruno Haible  <bruno@clisp.org>
16617
16618         * m4/findprog.m4: New file.
16619         * m4/eaccess.m4: New file.
16620
16621 2003-04-10  Bruno Haible  <bruno@clisp.org>
16622
16623         * lib/findprog.h: New file, from GNU gettext.
16624         * lib/findprog.c: New file, from GNU gettext.
16625
16626 2003-04-05  Jim Meyering  <jim@meyering.net>
16627
16628         Merge changes from Coreutils.
16629
16630         * lib/exclude.h (PARAMS): Remove definition and uses.
16631         * lib/exclude.c: Remove uses of `PARAMS'.
16632
16633         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
16634         Add test-cases for DOS filenames. Declare program_name.
16635         (main): Set up program_name.  Patch by Rich Dawe.
16636
16637         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
16638         error from mntctl.
16639         Use mntctl's return value to drive the entry-processing loop, since
16640         we can't rely on the value of the vmt_length member in the last
16641         entry.  On some systems doing so could result in exhausting
16642         virtual memory.  Based in part on a patch from Mike Jetzer.
16643
16644 2003-04-04  Bruno Haible  <bruno@clisp.org>
16645
16646         * modules/linebreak: New file.
16647         * MODULES.html.sh (func_all_modules): Add it.
16648
16649 2003-04-04  Bruno Haible  <bruno@clisp.org>
16650
16651         * m4/linebreak.m4: New file.
16652
16653 2003-04-04  Bruno Haible  <bruno@clisp.org>
16654
16655         * lib/linebreak.h: New file, from GNU gettext.
16656         * lib/linebreak.c: New file, from GNU gettext with slight
16657         modifications.
16658         * lib/lbrkprop.h: New file, from GNU gettext.
16659
16660 2003-04-03  Bruno Haible  <bruno@clisp.org>
16661
16662         * modules/utf8-ucs4: New file.
16663         * modules/utf16-ucs4: New file.
16664         * modules/ucs4-utf8: New file.
16665         * modules/ucs4-utf16: New file.
16666         * MODULES.html.sh (func_all_modules): Add them.
16667
16668 2003-04-03  Bruno Haible  <bruno@clisp.org>
16669
16670         * m4/utf-ucs4.m4: New file.
16671         * m4/ucs4-utf.m4: New file.
16672
16673 2003-04-03  Bruno Haible  <bruno@clisp.org>
16674
16675         * lib/utf8-ucs4.h: New file, from GNU gettext.
16676         * lib/utf16-ucs4.h: New file, from GNU gettext.
16677         * lib/ucs4-utf8.h: New file, from GNU gettext.
16678         * lib/ucs4-utf16.h: New file, from GNU gettext.
16679
16680 2003-04-02  Bruno Haible  <bruno@clisp.org>
16681
16682         * modules/binary-io: New file.
16683         * MODULES.html.sh (func_all_modules): Add it.
16684
16685 2003-04-02  Bruno Haible  <bruno@clisp.org>
16686
16687         * lib/binary-io.h: New file, from GNU gettext.
16688
16689 2003-04-01  Bruno Haible  <bruno@clisp.org>
16690
16691         * modules/pathname: New file.
16692         * MODULES.html.sh (func_all_modules): Add it.
16693
16694 2003-04-01  Bruno Haible  <bruno@clisp.org>
16695
16696         * lib/pathname.h: New file, from GNU gettext.
16697         * lib/concatpath.c: New file, from GNU gettext.
16698
16699 2003-03-30  Bruno Haible  <bruno@clisp.org>
16700
16701         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
16702
16703 2003-03-30  Bruno Haible  <bruno@clisp.org>
16704
16705         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
16706         function chown() doesn't exist.
16707
16708 2003-03-28  Bruno Haible  <bruno@clisp.org>
16709
16710         * modules/copy-file: New file.
16711         * MODULES.html.sh (func_all_modules): Add it.
16712
16713 2003-03-28  Bruno Haible  <bruno@clisp.org>
16714
16715         * m4/copy-file.m4: New file.
16716
16717 2003-03-28  Bruno Haible  <bruno@clisp.org>
16718
16719         * lib/copy-file.h: New file, from GNU gettext.
16720         * lib/copy-file.c: New file, from GNU gettext.
16721
16722 2003-03-18  Jim Meyering  <jim@meyering.net>
16723
16724         * lib/quote.c (quote_n): Fix typo in comment.
16725
16726 2003-03-18  Bruno Haible  <bruno@clisp.org>
16727
16728         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
16729         checking.
16730         * m4/onceonly_2_57.m4: Likewise.
16731
16732 2003-03-17  Bruno Haible  <bruno@clisp.org>
16733
16734         * m4/onceonly.m4: Require autoconf 2.54 or newer.
16735         (m4_quote): Remove macro.
16736         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
16737
16738 2003-03-14  Jim Meyering  <jim@meyering.net>
16739
16740         Merge changes from Coreutils.
16741         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
16742         to be const, in order to avoid warnings.
16743         (obstack_room): Likewise.
16744         (obstack_empty_p): Likewise.
16745
16746 2003-03-14  Bruno Haible  <bruno@clisp.org>
16747
16748         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
16749         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
16750
16751 2003-03-13  Paul Eggert  <eggert@twinsun.com>
16752
16753         Merge changes from Bison.
16754         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
16755         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
16756         when compiling Bison 1.875's `bitset bset = obstack_alloc
16757         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
16758         * lib/hash.c: Include <stdbool.h> unconditionally.
16759
16760 2003-03-13  Paul Eggert  <eggert@twinsun.com>
16761
16762         * m4/onceonly.m4 (m4_quote): New macro.
16763         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
16764         Quote AC_FOREACH variable-expansions properly.
16765
16766 2003-03-13  Paul Eggert  <eggert@twinsun.com>
16767
16768         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
16769
16770 2003-03-09  Paul Eggert  <eggert@twinsun.com>
16771
16772         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
16773         Reported by Bruce Becker; see:
16774         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
16775
16776 2003-03-03  Paul Eggert  <eggert@twinsun.com>
16777             Bruno Haible  <bruno@clisp.org>
16778
16779         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
16780         Reported by John Hughes, see
16781         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
16782
16783 2003-02-20  Bruno Haible  <bruno@clisp.org>
16784
16785         * MODULES.html.sh (func_all_modules): Add poll.
16786
16787 2003-02-19  Paolo Bonzino  <bonzini@gnu.org>
16788
16789         * modules/poll: New file.
16790
16791 2003-02-19  Paolo Bonzino  <bonzini@gnu.org>
16792
16793         * lib/poll_.h: New file.
16794         * lib/poll.c: New file.
16795
16796 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
16797
16798         * m4/poll.m4: New file.
16799
16800 2003-02-18  Paolo Bonzino  <bonzini@gnu.org>
16801
16802         * modules/mathl: New file.
16803
16804 2003-02-18  Paolo Bonzino  <bonzini@gnu.org>
16805
16806         * lib/mathl.h: New file.
16807         * lib/acosl.c: New file.
16808         * lib/asinl.c: New file.
16809         * lib/atanl.c: New file.
16810         * lib/ceill.c: New file.
16811         * lib/cosl.c: New file.
16812         * lib/expl.c: New file.
16813         * lib/floorl.c: New file.
16814         * lib/frexpl.c: New file.
16815         * lib/ldexpl.c: New file.
16816         * lib/logl.c: New file.
16817         * lib/sincosl.c: New file.
16818         * lib/sinl.c: New file.
16819         * lib/sqrtl.c: New file.
16820         * lib/tanl.c: New file.
16821         * lib/trigl.c: New file.
16822         * lib/trigl.h: New file.
16823
16824 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
16825
16826         * m4/mathl.m4: New file.
16827
16828 2003-02-18  Bruno Haible  <bruno@clisp.org>
16829
16830         * MODULES.html.sh (func_all_modules): Add mathl.
16831
16832 2003-02-17  Bruno Haible  <bruno@clisp.org>
16833
16834         * modules/mkdtemp: New module.
16835         * MODULES.html.sh (func_all_modules): Add it.
16836
16837 2003-02-17  Bruno Haible  <bruno@clisp.org>
16838
16839         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
16840
16841 2003-02-17  Bruno Haible  <bruno@clisp.org>
16842
16843         * lib/mkdtemp.h: New file, from GNU gettext.
16844         * lib/mkdtemp.c: New file, from GNU gettext.
16845
16846 2003-02-02  Jim Meyering  <jim@meyering.net>
16847
16848         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
16849         e.g. glibc-2.2.93.
16850
16851 2003-01-31  Bruno Haible  <bruno@clisp.org>
16852
16853         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
16854         'rpl_rename'.
16855         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
16856         'rpl_strnlen'.
16857         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
16858         'rpl_strtod'.
16859         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
16860         'rpl_utime'.
16861
16862 2003-01-31  Bruno Haible  <bruno@clisp.org>
16863
16864         * lib/rename.c: #undef rename before defining rpl_rename.
16865         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
16866
16867 2003-01-30  Bruno Haible  <bruno@clisp.org>
16868
16869         * modules/vasnprintf, modules/vasprintf: New modules.
16870         * MODULES.html.sh (func_all_modules): Add them.
16871
16872 2003-01-30  Bruno Haible  <bruno@clisp.org>
16873
16874         * m4/signed.m4: New file, from GNU gettext.
16875         * m4/longdouble.m4: New file, from GNU gettext.
16876         * m4/wchar_t.m4: New file, from GNU gettext.
16877         * m4/wint_t.m4: New file, from GNU gettext.
16878         * m4/vasnprintf.m4: New file.
16879         * m4/vasprintf.m4: New file.
16880
16881 2003-01-30  Bruno Haible  <bruno@clisp.org>
16882
16883         * lib/printf-args.h: New file, from GNU gettext.
16884         * lib/printf-args.c: New file, from GNU gettext.
16885         * lib/printf-parse.h: New file, from GNU gettext.
16886         * lib/printf-parse.c: New file, from GNU gettext.
16887         * lib/vasnprintf.h: New file, from GNU gettext.
16888         * lib/vasnprintf.c: New file, from GNU gettext.
16889         * lib/asnprintf.c: New file, from GNU gettext.
16890         * lib/vasprintf.h: New file, from GNU gettext with modifications.
16891         * lib/vasprintf.c: New file, from GNU gettext.
16892         * lib/asprintf.c: New file, from GNU gettext.
16893
16894 2003-01-29  Bruno Haible  <bruno@clisp.org>
16895
16896         * modules/stpncpy: New module.
16897         * MODULES.html.sh (func_all_modules): Add it.
16898
16899 2003-01-29  Bruno Haible  <bruno@clisp.org>
16900
16901         * m4/stpncpy.m4: New file.
16902
16903 2003-01-29  Bruno Haible  <bruno@clisp.org>
16904
16905         * lib/stpncpy.h: New file, from GNU gettext with modifications.
16906         * lib/stpncpy.c: New file, from GNU gettext with modifications.
16907
16908 2003-01-28  Bruno Haible  <bruno@clisp.org>
16909
16910         * modules/c-ctype: New module.
16911         * MODULES.html.sh (func_all_modules): Add it.
16912
16913 2003-01-28  Bruno Haible  <bruno@clisp.org>
16914
16915         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
16916         Paul Eggert.
16917         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
16918         Paul Eggert.
16919
16920 2003-01-27  Bruno Haible  <bruno@clisp.org>
16921
16922         * modules/xsetenv: New module.
16923         * MODULES.html.sh (func_all_modules): Add it.
16924
16925 2003-01-27  Bruno Haible  <bruno@clisp.org>
16926
16927         * lib/xsetenv.h: New file, from GNU gettext.
16928         * lib/xsetenv.c: New file, from GNU gettext.
16929
16930 2003-01-23  Jim Meyering  <jim@meyering.net>
16931
16932         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
16933         from working on systems without dirfd (at least Irix and OSF1/Tru64).
16934
16935 2003-01-23  Bruno Haible  <bruno@clisp.org>
16936
16937         * modules/minmax: New module.
16938         * MODULES.html.sh (func_all_modules): Add it.
16939
16940 2003-01-23  Bruno Haible  <bruno@clisp.org>
16941
16942         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
16943         Eggert.
16944
16945 2003-01-22  Bruno Haible  <bruno@clisp.org>
16946
16947         * modules/exit: New module.
16948         * MODULES.html.sh (func_all_modules): Add it.
16949
16950 2003-01-22  Bruno Haible  <bruno@clisp.org>
16951
16952         * lib/exit.h: New file, from GNU gettext.
16953
16954 2003-01-19  Bruno Haible  <bruno@clisp.org>
16955
16956         * gnulib-tool: Recognize option --extract-maintainer.
16957         (func_get_maintainer): New function.
16958         * modules/*: Add Maintainer entry.
16959
16960 2003-01-16  Jim Meyering  <jim@meyering.net>
16961
16962         * m4/regex.m4: The `regex' struct is both input and output.
16963         Initialize it before each use.  Patch by Tim Waugh.
16964
16965 2003-01-16  Bruno Haible  <bruno@clisp.org>
16966
16967         * MODULES.html.sh: Add a table of contents. Add the module name as
16968         leftmost column. Add hyperlinks.
16969
16970 2003-01-15  Bruno Haible  <bruno@clisp.org>
16971
16972         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
16973
16974 2003-01-15  Bruno Haible  <bruno@clisp.org>
16975
16976         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
16977         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
16978         suffix.
16979
16980 2003-01-15  Bruno Haible  <bruno@clisp.org>
16981
16982         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
16983
16984 2003-01-15  Bruno Haible  <bruno@clisp.org>
16985
16986         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
16987         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
16988
16989 2003-01-14  Jim Meyering  <jim@meyering.net>
16990
16991         * lib/same.c (same_name): Tweak a comment.
16992
16993 2003-01-14  Bruno Haible  <bruno@clisp.org>
16994
16995         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
16996         when a string comparison is sufficient.
16997
16998 2003-01-14  Bruno Haible  <bruno@clisp.org>
16999
17000         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
17001         'unsigned int'.
17002
17003 2003-01-14  Bruno Haible  <bruno@clisp.org>
17004
17005         * lib/hash-pjw.c: Add comment about low quality of this function.
17006
17007 2003-01-13  Bruno Haible  <bruno@clisp.org>
17008
17009         * modules/stpcpy: Distribute lib/stpcpy.h.
17010         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
17011
17012 2003-01-13  Bruno Haible  <bruno@clisp.org>
17013
17014         * modules/*: Add a description.
17015         * modules/strpbrk: Fix Makefile.am snippet.
17016         * modules/strtoimax: Fix dependencies.
17017         * modules/strtoumax: Likewise.
17018
17019 2003-01-13  Bruno Haible  <bruno@clisp.org>
17020
17021         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
17022         * modules/alloca (Makefile.am): All object files depend on alloca.h.
17023         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
17024
17025 2003-01-13  Bruno Haible  <bruno@clisp.org>
17026
17027         * gnulib-tool (func_create_testdir): Store config/* files in the main
17028         directory.
17029         * config.rpath: Move to ...
17030         * config/config.rpath: ... here.
17031         * modules/gettext: Contains config/config.rpath, not config.rpath.
17032         * modules/iconv: Likewise.
17033
17034 2003-01-12  Paul Eggert  <eggert@twinsun.com>
17035
17036         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
17037         to avoid collisions with libcurses and libreadline.
17038
17039         * m4/getstr.m4: Remove.
17040         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
17041
17042 2003-01-12  Paul Eggert  <eggert@twinsun.com>
17043
17044         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
17045         to avoid collisions with libcurses and libreadline.
17046
17047         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
17048         * lib/getstr.h, getstr.c: Remove.
17049         * lib/getline.c: Include "getline.h", to check interface.
17050         Move body of old getstr.c here: this defines MIN_CHUNK and
17051         declares getdelim2, which is renamed from getstr.
17052         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
17053
17054         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
17055         All uses changed.
17056         * lib/linebuffer.h: Likewise.
17057         (readline): Remove backward-compatibility macro.
17058
17059 2003-01-12  Paul Eggert  <eggert@twinsun.com>
17060
17061         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
17062         to avoid collisions with libcurses and libreadline.
17063         * getstr: Remove.
17064         * MODULES.html.sh: Remove getstr.
17065         * modules/getline: Depend on unlocked-io, not getstr.
17066
17067 2003-01-12  Jim Meyering  <jim@meyering.net>
17068
17069         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
17070
17071 2003-01-10  Bruno Haible  <bruno@clisp.org>
17072
17073         * modules/alloca: Change Makefile.am requirements. Simplify Include
17074         requirements. Add lib/alloca_.h to file list.
17075
17076 2003-01-10  Bruno Haible  <bruno@clisp.org>
17077
17078         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
17079
17080 2003-01-10  Bruno Haible  <bruno@clisp.org>
17081
17082         * lib/alloca_.h: New file.
17083         * lib/getdate.y: Unconditionally include alloca.h.
17084         * lib/makepath.c: Likewise.
17085         * lib/setenv.c: Likewise.
17086         * lib/userspec.c: Likewise.
17087
17088 2003-01-09  Karl Berry  <karl@gnu.org>
17089
17090         * MODULES.html.sh: include `dirname $0` in PATH, to find
17091         gnulib-tool.
17092
17093 2003-01-09  Bruno Haible  <bruno@clisp.org>
17094
17095         * modules/stdbool: Change configure.ac, Makefile.am requirements.
17096         Simplify Include requirements. Add lib/stdbool.h.in to file list.
17097
17098 2003-01-09  Bruno Haible  <bruno@clisp.org>
17099
17100         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
17101
17102 2003-01-09  Bruno Haible  <bruno@clisp.org>
17103
17104         * lib/stdbool.h.in: New file.
17105
17106 2003-01-09  Bruno Haible  <bruno@clisp.org>
17107
17108         * gnulib-tool (func_all_modules): Ignore files ending in ~.
17109         * MODULES.html.sh: Likewise.
17110
17111 2003-01-08  Jim Meyering  <jim@meyering.net>
17112
17113         * lib/full-write.c: Undefine and define-away `const' after inclusion
17114         of errno.h, not before.  Suggestion from Bruno Haible.
17115
17116 2003-01-08  Bruno Haible  <bruno@clisp.org>
17117
17118         * modules/full-read: Depend on full-write.
17119
17120 2003-01-08  Bruno Haible  <bruno@clisp.org>
17121
17122         * lib/safe-read.c: Include specification header first, to ensure its
17123         selfcontainedness.
17124         * lib/full-write.c: Likewise.
17125
17126 2003-01-07  Jim Meyering  <jim@meyering.net>
17127
17128         * lib/full-write.c: Rework so that it may serve to define full_read,
17129         too.
17130         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
17131
17132 2003-01-07  Bruno Haible  <bruno@clisp.org>
17133
17134         * lib/strtoimax.c: Include <stdint.h> as an alternative to
17135         <inttypes.h>.
17136         * lib/xstrtol.h: Likewise.
17137         * lib/xstrtoimax.c: Likewise.
17138         * lib/xstrtoumax.c: Likewise.
17139         * lib/human.h: Likewise.
17140
17141         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
17142         on systems that have <inttypes.h> but not <stdint.h>.
17143
17144 2003-01-07  Bruno Haible  <bruno@clisp.org>
17145
17146         * MODULES.html.sh: Add copyright notice.
17147         (missed_files): Omit CVS directory entries.
17148         (func_module): Make it work with sed-3.02.
17149         * MODULES.txt: Remove file.
17150
17151 2003-01-06  Jim Meyering  <jim@meyering.net>
17152
17153         * lib/version-etc.c: Update year in translatable copyright string.
17154
17155 2003-01-03  Karl Berry  <karl@gnu.org>
17156
17157         * config/config.{guess,sub}: update from prep.
17158
17159 2003-01-02  Karl Berry  <karl@gnu.org>
17160
17161         * doc/COPYING.DOC: belatedly updated to 1.2.
17162
17163 2003-01-01  Karl Berry  <karl@gnu.org>
17164
17165         * gnulib-tool (func_verify_module): report module name $module in
17166         error message, not $1.
17167         * gnulib-tool (create-testdir): don't complain if destdir couldn't
17168         be created, only if it doesn't exist.
17169         * gnulib-tool (last_checkin_date): don't expand the $Date here.
17170
17171 2002-12-31  Paul Eggert  <eggert@twinsun.com>
17172
17173         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
17174
17175 2002-12-31  Paul Eggert  <eggert@twinsun.com>
17176
17177         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
17178         memcmp if strcoll doesn't work.
17179
17180 2002-12-31  Bruno Haible  <bruno@clisp.org>
17181
17182         * lib/utime.c (utime_null): No need to call ftruncate if the file was
17183         nonempty.
17184
17185 2002-12-31  Bruno Haible  <bruno@clisp.org>
17186
17187         * lib/memcoll.c (STRCOLL): New macro.
17188         (memcoll): Use it.
17189
17190 2002-12-31  Bruno Haible  <bruno@clisp.org>
17191
17192         * lib/localcharset.h: New file.
17193         * lib/localcharset.c: Include it.
17194         * lib/unicodeio.c: Likewise.
17195
17196 2002-12-31  Bruno Haible  <bruno@clisp.org>
17197
17198         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
17199         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
17200
17201 2002-12-31  Bruno Haible  <bruno@clisp.org>
17202
17203         * lib/getline.h: Include <stddef.h>, for size_t.
17204
17205         * lib/unicodeio.h: Include <stddef.h>, for size_t.
17206         * lib/unicodeio.c: Don't include <stddef.h>.
17207
17208 2002-12-31  Bruno Haible  <bruno@clisp.org>
17209
17210         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
17211         HAVE_TM_ZONE.
17212
17213 2002-12-24  Karl Berry  <karl@gnu.org>
17214
17215         * config/config.guess: update from prep.
17216
17217 2002-12-24  Bruno Haible  <bruno@clisp.org>
17218
17219         General infrasructure.
17220         * m4/README: Rewritten.
17221         * m4/onceonly.m4: New file.
17222         * m4/onceonly_2_57.m4: New file.
17223
17224         Module atexit.
17225         * m4/atexit.m4: New file.
17226
17227         Module strtod.
17228         * m4/strtod.m4: New file.
17229
17230         Module strtol.
17231         * m4/strtol.m4: New file.
17232
17233         Module strtoul.
17234         * m4/strtoul.m4: New file.
17235
17236         Module memchr.
17237         * m4/memchr.m4: New file.
17238
17239         Module memcmp.
17240         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
17241         (jm_FUNC_MEMCMP): Invoke it.
17242
17243         Module memcpy.
17244         * m4/memcpy.m4: New file.
17245
17246         Module memmove.
17247         * m4/memmove.m4: New file.
17248
17249         Module memset.
17250         * m4/memset.m4: New file.
17251
17252         Module strcspn.
17253         * m4/strcspn.m4: New file.
17254
17255         Module strpbrk.
17256         * m4/strpbrk.m4: New file.
17257
17258         Module strstr.
17259         * m4/strstr.m4: New file.
17260
17261         Module strerror.
17262         * m4/strerror.m4: New file.
17263
17264         Module mktime.
17265         * m4/mktime.m4: Renamed from jm-mktime.m4.
17266         (gl_PREREQ_MKTIME): New macro.
17267         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
17268
17269         Module malloc.
17270         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
17271         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
17272         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
17273
17274         Module realloc.
17275         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
17276         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
17277         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
17278
17279         Module strftime.
17280         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
17281         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
17282         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
17283         gl_TM_GMTOFF.
17284         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
17285
17286         Module xalloc.
17287         * m4/xalloc.m4: New file.
17288
17289         Module alloca.
17290         * m4/alloca.m4: New file.
17291
17292         Module putenv.
17293         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
17294         (jm_FUNC_PUTENV): Invoke it.
17295
17296         Module setenv.
17297         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
17298         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
17299         when invoked twice.
17300         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
17301         gt_FUNC_SETENV.
17302
17303         Module memrchr.
17304         * m4/memrchr.m4: New file.
17305
17306         Module stpcpy.
17307         * m4/stpcpy.m4: New file.
17308
17309         Module strcase.
17310         * m4/strcase.m4: New file.
17311
17312         Module strdup.
17313         * m4/strdup.m4: New file.
17314
17315         Module strnlen.
17316         * m4/strnlen.m4: New file.
17317
17318         Module strndup.
17319         * m4/strndup.m4: New file.
17320
17321         Module xstrtod.
17322         * m4/xstrtod.m4: New file.
17323
17324         Module xstrtol.
17325         * m4/xstrtol.m4: New file.
17326
17327         Module getdate.
17328         * m4/getdate.m4: New file.
17329
17330         Module unlocked-io.
17331         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
17332         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
17333         * m4/jm-glibc-io.m4n: Remove file.
17334
17335         Module long-options.
17336         * m4/long-options.m4: New file.
17337
17338         Module md5.
17339         * m4/md5.m4: New file.
17340
17341         Module sha.
17342         * m4/sha.m4: New file.
17343
17344         Module getstr.
17345         * m4/getstr.m4: New file.
17346
17347         Module getline.
17348         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
17349         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
17350         <sys/types.h>, for size_t. Use the function name gnu_getline, not
17351         simply getline. Infoke gl_PREREQ_GETLINE.
17352
17353         Module obstack.
17354         * m4/obstack.m4: New file.
17355
17356         Module hash.
17357         * m4/hash.m4: New file.
17358
17359         Module readtokens.
17360         * m4/readtokens.m4: New file.
17361
17362         Module strverscmp.
17363         * m4/strverscmp.m4: New file.
17364
17365         Module stdbool.
17366         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
17367         OSF/1.
17368
17369         Module strtoll.
17370         * m4/strtoll.m4: New file.
17371
17372         Module strtoull.
17373         * m4/strtoull.m4: New file.
17374
17375         Module strtoimax.
17376         * m4/strtoimax.m4: New file.
17377
17378         Module strtoumax.
17379         * m4/strtoumax.m4: New file.
17380
17381         Module xstrtoimax.
17382         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
17383         jm_AC_PREREQ_XSTRTOIMAX.
17384         Moved the strtol prerequisites to strtol.m4.
17385         Moved the strtoll prerequisites to strtoll.m4.
17386         Moved the strtoimax prerequisites to strtoimax.m4.
17387
17388         Module xstrtoumax.
17389         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
17390         jm_AC_PREREQ_XSTRTOUMAX.
17391         Moved the strtoul prerequisites to strtoul.m4.
17392         Moved the strtoull prerequisites to strtoull.m4.
17393         Moved the strtoumax prerequisites to strtoumax.m4.
17394
17395         Module chown.
17396         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
17397         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
17398
17399         Module dup2.
17400         * m4/dup2.m4: New file.
17401
17402         Module ftruncate.
17403         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
17404         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
17405
17406         Module getgroups.
17407         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
17408         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
17409
17410         Module gettimeofday.
17411         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
17412         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
17413         gl_PREREQ_GETTIMEOFDAY.
17414
17415         Module mkdir.
17416         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
17417         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
17418
17419         Module mkstemp.
17420         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
17421         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
17422         jm_AC_TYPE_UINTMAX_T.
17423         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
17424
17425         Module stat.
17426         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
17427         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
17428
17429         Module lstat.
17430         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
17431         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
17432
17433         Module timespec.
17434         * m4/timespec.m4 (gl_TIMESPEC): New macro.
17435         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
17436         * m4/st_mtim.m4: Indentation.
17437
17438         Module nanosleep.
17439         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
17440         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
17441         gl_PREREQ_NANOSLEEP.
17442
17443         Module regex.
17444         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
17445         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
17446         (gl_REGEX): New macro.
17447
17448         Module rename.
17449         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
17450         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
17451
17452         Module rmdir.
17453         * m4/rmdir.m4: New file.
17454
17455         Module utime.
17456         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
17457         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
17458         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
17459
17460         Module dirname.
17461         * m4/dirname.m4: New file.
17462
17463         Module getopt.
17464         * m4/getopt.m4: New file.
17465
17466         Module unistd-safer.
17467         * m4/unistd-safer.m4: New file.
17468
17469         Module fnmatch.
17470         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
17471         declaration.
17472         (gl_PREREQ_FNMATCH_EXTRA): New macro.
17473         (gl_FUNC_FNMATCH_POSIX): New macro.
17474         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
17475         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
17476         simply fnmatch.
17477
17478         Module exclude.
17479         * m4/exclude.m4: New file.
17480
17481         Module human.
17482         * m4/human.m4: New file.
17483
17484         Module acl.
17485         * m4/acl.m4: Nop.
17486
17487         Module backupfile.
17488         * m4/backupfile.m4: New file.
17489         * m4/d-ino.m4: Indentation.
17490
17491         Module fsusage.
17492         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
17493         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
17494         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
17495
17496         Module dirfd.
17497         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
17498         requirements.
17499
17500         Module euidaccess.
17501         * m4/euidaccess.m4: New file.
17502
17503         Module file-type.
17504         * m4/file-type.m4: New file.
17505
17506         Module fileblocks.
17507         * m4/fileblocks.m4: New file.
17508
17509         Module filemode.
17510         * m4/filemode.m4: New file.
17511
17512         Module isdir.
17513         * m4/isdir.m4: New file.
17514
17515         Module lchown.
17516         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
17517         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
17518
17519         Module makepath.
17520         * m4/makepath.m4: New file.
17521
17522         Module modechange.
17523         * m4/modechange.m4: New file.
17524
17525         Module mountlist.
17526         * m4/mountlist.m4: New file.
17527         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
17528         Indentation.
17529
17530         Module path-concat.
17531         * m4/path-concat.m4: New file.
17532
17533         Module pathmax.
17534         * m4/pathmax.m4: New file.
17535
17536         Module same.
17537         * m4/same.m4: New file.
17538
17539         Module save-cwd.
17540         * m4/save-cwd.m4: New file.
17541
17542         Module savedir.
17543         * m4/savedir.m4: New file.
17544
17545         Module xgetcwd.
17546         * m4/xgetcwd.m4: New file.
17547         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
17548
17549         Module xreadlink.
17550         * m4/xreadlink.m4: New file.
17551
17552         Module safe-read.
17553         * m4/safe-read.m4: New file.
17554
17555         Module safe-write.
17556         * m4/safe-write.m4: New file.
17557
17558         Module closeout.
17559         * m4/closeout.m4: New file.
17560
17561         Module stdio-safer.
17562         * m4/stdio-safer.m4: New file.
17563
17564         Module getpass.
17565         * m4/getpass.m4: New file.
17566
17567         Module getugroups.
17568         * m4/getugroups.m4: New file.
17569
17570         Module group-member.
17571         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
17572         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
17573
17574         Module idcache.
17575         * m4/idcache.m4: New file.
17576
17577         Module userspec.
17578         * m4/userspec.m4: New file.
17579
17580         Module gettime.
17581         * m4/clock_time.m4: New file.
17582         * m4/gettime.m4: New file.
17583
17584         Module settime.
17585         * m4/settime.m4: New file.
17586
17587         Module posixtm.
17588         * m4/posixtm.m4: New file.
17589
17590         Module gethostname.
17591         * m4/gethostname.m4: New file.
17592
17593         Module canon-host.
17594         * m4/canon-host.m4: New file.
17595
17596         Module gettext.
17597         * m4/codeset.m4: New file, from gettext-0.11.5.
17598         * m4/gettext.m4: New file, from gettext-0.11.5.
17599         * m4/glibc21.m4: New file, from gettext-0.11.5.
17600         * m4/iconv.m4: New file, from gettext-0.11.5.
17601         * m4/intdiv0.m4: New file, from gettext-0.11.5.
17602         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
17603         * m4/inttypes.m4: New file, from gettext-0.11.5.
17604         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
17605         * m4/isc-posix.m4: New file, from gettext-0.11.5.
17606         * m4/lcmessage.m4: New file, from gettext-0.11.5.
17607         * m4/lib-ld.m4: New file, from gettext-0.11.5.
17608         * m4/lib-link.m4: New file, from gettext-0.11.5.
17609         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
17610         * m4/progtest.m4: New file, from gettext-0.11.5.
17611         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
17612         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
17613         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
17614
17615         Module localcharset.
17616         * m4/localcharset.m4: New file.
17617
17618         Module hard-locale.
17619         * m4/hard-locale.m4: New file.
17620
17621         Module mbswidth.
17622         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
17623         onceonly macros.
17624         * m4/mbrtowc.m4: Add comment.
17625
17626         Module memcasecmp.
17627         * m4/memcasecmp.m4: New file.
17628
17629         Module memcoll.
17630         * m4/memcoll.m4: New file.
17631
17632         Module unicodeio.
17633         * m4/unicodeio.m4: New file.
17634
17635         Module rpmatch.
17636         * m4/rpmatch.m4: New file.
17637
17638         Module yesno.
17639         * m4/yesno.m4: New file.
17640
17641         Module exitfail.
17642         * m4/exitfail.m4: New file.
17643
17644         Module c-stack.
17645         * m4/c-stack.m4 (gl_C_STACK): New macro.
17646         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
17647
17648         Module error.
17649         * m4/error.m4 (gl_ERROR): New macro.
17650         (jm_PREREQ_ERROR): Use onceonly macros.
17651
17652         Module fatal.
17653         * m4/fatal.m4: New file.
17654
17655         Module getloadavg.
17656         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
17657         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
17658
17659         Module getpagesize.
17660         * m4/getpagesize.m4: New file.
17661
17662         Module getusershell.
17663         * m4/getusershell.m4: New file.
17664
17665         Module physmem.
17666         * m4/physmem.m4: New file.
17667
17668         Module posixver.
17669         * m4/posixver.m4: New file.
17670
17671         Module quotearg.
17672         * m4/quotearg.m4: New file.
17673
17674         Module quote.
17675         * m4/quote.m4: New file.
17676
17677         Module readutmp.
17678         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
17679
17680         Module sig2str.
17681         * m4/sig2str.m4: New file.
17682
17683         Other.
17684         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
17685         ulonglong.m4.
17686         * m4/intmax_t.m4: New file.
17687         * m4/d-type.m4: Indentation.
17688         * m4/jm-macros.m4: Update.
17689         * m4/prereq.m4 (jm_PREREQ): Update.
17690         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
17691         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
17692         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
17693         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
17694         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
17695         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
17696         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
17697         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
17698         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
17699         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
17700         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
17701         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
17702         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
17703         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
17704         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
17705         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
17706         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
17707         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
17708         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
17709
17710 2002-12-24  Bruno Haible  <bruno@clisp.org>
17711
17712         * MODULES.txt: Update according to m4/ changes.
17713
17714         Module gettext.
17715         * config.rpath: New file, from gettext-0.11.5.
17716
17717         * modules/*: New module descriptions.
17718         * gnulib-tool: New file.
17719         * MODULES.html.sh: New file.
17720
17721 2002-12-21  Karl Berry  <karl@gnu.org>
17722
17723         * doc/fdl.texi: update to version 1.2.
17724
17725 2002-12-19  Karl Berry  <karl@gnu.org>
17726
17727         * config/config.guess: update from prep.
17728
17729 2002-12-18  Bruno Haible  <bruno@clisp.org>
17730
17731         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
17732         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
17733
17734 2002-12-17  Bruno Haible  <bruno@clisp.org>
17735
17736         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
17737         stdlib.h, string.h.
17738
17739 2002-12-17  Bruno Haible  <bruno@clisp.org>
17740
17741         * lib/canon-host.c (strdup): Remove unused declaration.
17742
17743         * lib/fsusage.c: Include full_read.h.
17744         (get_fs_usage): Use full_read instead of safe_read.
17745
17746         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
17747
17748 2002-12-12  Karl Berry  <karl@gnu.org>
17749
17750         * config/config.guess: update from prep.
17751
17752 2002-12-11  Bruno Haible  <bruno@clisp.org>
17753
17754         * m4/setenv.m4: New file, from gettext-0.11.5.
17755
17756 2002-12-11  Bruno Haible  <bruno@clisp.org>
17757
17758         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
17759         not unsetenv().
17760         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
17761         modifications:
17762
17763         2002-12-11  Bruno Haible  <bruno@clisp.org>
17764
17765                 * setenv.c (alloca): Fall back to malloc.
17766                 (freea): New macro.
17767                 (setenv): Use freea() to free memory allocated with alloca().
17768
17769         2002-11-13  Bruno Haible  <bruno@clisp.org>
17770
17771                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
17772                 function declarations.
17773                 * unsetenv.c (unsetenv): Likewise.
17774
17775         2002-03-04  Bruno Haible  <bruno@clisp.org>
17776
17777                 Portability to AIX 4.3.3.
17778                 * unsetenv.c: New file, extracted from setenv.c.
17779                 * setenv.c: Move the unsetenv() function to unsetenv.c.
17780
17781         2001-12-20  Bruno Haible  <bruno@clisp.org>
17782
17783                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
17784                 use malloc instead. For SunOS 4.
17785
17786         2001-12-11  Bruno Haible  <bruno@clisp.org>
17787
17788                 * setenv.c: Declare alloca.
17789                 (compar_fn_t): New typedef.
17790                 (KNOWN_VALUE, STORE_VALUE): Use it.
17791
17792         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
17793         setenv.h.
17794
17795 2002-12-10  Paul Eggert  <eggert@twinsun.com>
17796
17797         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
17798         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
17799         Choose values that are less likely to collide with system fnmatch
17800         options.
17801         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
17802         defined (e.g., a pure POSIX system).
17803         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
17804         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
17805
17806 2002-12-06  Paul Eggert  <eggert@twinsun.com>
17807
17808         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
17809         a pain in practice to deal with generated m4 files.  This change
17810         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
17811
17812         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
17813         and jm-glibc-io.m4, as they are no longer a special case.
17814         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
17815         kludge and the auto-generation stuff.  Check only whether the
17816         functions are declared, not whether they exist, since older hosts
17817         that don't declare the functions can't use the optimization anyway.
17818
17819 2002-12-06  Jim Meyering  <jim@meyering.net>
17820
17821         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
17822
17823         Merge in changes from libc's misc/error.c, in preparation
17824         for the merge of gnulib's changes back into libc.
17825
17826         * lib/error.c (_): Define only if not already defined.
17827         Move definition to follow all #include directives.
17828         Include unlocked-io.h only if !_LIBC.
17829         [_LIBC]: Include <libio/libioP.h>.
17830         [USE_IN_LIBIO]: Include <libio/iolibio.h>
17831         (fflush): Tweak definition to use INTUSE.
17832         (putc): Define.
17833
17834 2002-12-05  Paul Eggert  <eggert@twinsun.com>
17835
17836         * lib/alloca.c [defined emacs]: Include "lisp.h".
17837         (xalloc_die) [defined emacs]: New macro.
17838         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
17839         [! defined emacs]: Include <xalloc.h>.
17840         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
17841         (pointer): Typedef to POINTER_TYPE *.
17842         (malloc): Remove decl; we now always use xmalloc.
17843         (alloca): Use old-style definition, since Emacs needs this.
17844         Check for arithmetic overflow when computing combined size.
17845
17846 2002-12-04  Paul Eggert  <eggert@twinsun.com>
17847
17848         Do not generate unlocked-io.h automatically, since it's easier to
17849         maintain it by hand.
17850
17851         * lib/unlocked-io.h: New file, from GNU diffutils,
17852         but with proper copyright notice and attribution.
17853         * lib/gen-uio: Remove.
17854         * lib/Makefile.am: Add copyright notice.
17855         (libfetish_a_SOURCES): Add unlocked-io.h.
17856         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
17857         (DISTCLEANFILES, io_functions): Remove macros.
17858         (EXTRA_DIST): Remove gen_uio.
17859         (unlocked-io.h): Remove rule.
17860
17861 2002-12-04  Jim Meyering  <jim@meyering.net>
17862
17863         Reflect the fact that stat.c and lstat.c are no longer generated.
17864         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
17865         (DISTCLEANFILES): Likewise.
17866         (EXTRA_DIST): Likewise.
17867         (all_local): Don't depend on stat.c or lstat.c.
17868         (stat.c, lstat.c): Remove rules.
17869         (EXTRA_DIST): Remove xstat.in.
17870
17871         * lib/xstat.in: Remove file.  Contents moved into stat.c.
17872         * lib/stat.c: New file.  Contents mostly from xstat.in.
17873         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
17874         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
17875
17876         * lib/safe-read.c: Rework so that it may serve to define safe_write,
17877         too.
17878         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
17879
17880 2002-12-03  Jim Meyering  <jim@meyering.net>
17881
17882         * lib/safe-read.c, safe-write.c: Change variable names and comments,
17883         but not semantics, to minimize the differences between these two files.
17884         (safe_read): Change comment to mention SAFE_READ_ERROR.
17885
17886         * lib/safe-read.c (IS_EINTR): Define.
17887         (safe_read): Use IS_EINTR in place of in-function cpp directives.
17888
17889 2002-12-02  Jim Meyering  <jim@meyering.net>
17890
17891         * lib/safe-read.c (EINTR): Define.
17892         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
17893         (INT_MAX): Provide fallback.
17894         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
17895
17896         * lib/safe-read.h (SAFE_READ_ERROR): Define.
17897
17898 2002-12-02  Bruno Haible  <bruno@clisp.org>
17899
17900         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
17901         Define, taken from safe-read.c.
17902         (INT_MAX): Provide fallback.
17903         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
17904         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
17905
17906         * lib/safe-read.c (EINTR): Remove definition.
17907         (safe_read): Don't use EINTR if it is absent.
17908
17909 2002-12-01  Jim Meyering  <jim@meyering.net>
17910
17911         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
17912         zero.
17913         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
17914
17915 2002-11-27  Paul Eggert  <eggert@twinsun.com>
17916
17917         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
17918         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
17919         with `if (! (value < limit)) abort ();', for readability.
17920
17921 2002-11-26  Karl Berry  <karl@gnu.org>
17922
17923         * lib/strdup.c: copy from libc again, with jim's ok.
17924         * lib/.cppi-disable: re-add strdup.c
17925
17926 2002-11-25  Karl Berry  <karl@gnu.org>
17927
17928         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
17929         instead of "strtol.c".
17930
17931 2002-11-25  Karl Berry  <karl@gnu.org>
17932
17933         * config/install-sh: update from automake for variable quoting, $0 in
17934         error msgs, etc.
17935
17936         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
17937         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
17938         entry.
17939
17940 2002-11-25  Jim Meyering  <jim@meyering.net>
17941
17942         * lib/mktime.c: Sync from libc, now that it has the latest fix.
17943
17944 2002-11-24  Karl Berry  <karl@gnu.org>
17945
17946         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
17947         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
17948
17949 2002-11-24  Jim Meyering  <jim@meyering.net>
17950
17951         Update from coreutils:
17952
17953         * lib/mktime.c: Merge in changes from libc.
17954
17955         Avoid a link-time failure on some Linux systems.
17956         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
17957         (otherwise).
17958         (__mon_yday): Declare with the STATIC attribute.
17959         (__mktime_internal): Likewise.
17960         Based on a report from Greg Schafer.
17961
17962 2002-11-23  Jim Meyering  <jim@meyering.net>
17963
17964         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
17965         Use `unsigned', not `int', as type of index.
17966
17967         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
17968
17969         * lib/fsusage.c: Remove unneeded parentheses around operands of
17970         `defined'.
17971
17972 2002-11-22  Paul Eggert  <eggert@twinsun.com>
17973
17974         * lib/quotearg.h: Allow multiple inclusion by surrounding with
17975         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
17976         so that we can be included first.
17977         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
17978         * lib/quotearg.c: Include quotearg.h immediately after config.h.
17979         No need to include stddef.h or sys/types.h any more.
17980         Surround local include files with "", not "<>".
17981         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
17982         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
17983         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
17984         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
17985         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
17986         (ISPRINT): Remove; no longer needed now that we assume C89.
17987
17988         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
17989         Preserve errno.
17990
17991         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
17992         quotearg_char): Use SIZE_MAX rather than
17993         (size_t) -1 when we are talking about "infinity".
17994
17995         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
17996
17997 2002-11-22  Paul Eggert  <eggert@twinsun.com>
17998
17999         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
18000         hint that one should use `if (! x) abort ();' rather than `assert
18001         (x);', and anyway it's one less thing to worry about configuring.
18002         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
18003         hash_rehash, hash_insert): Use abort rather than assert.
18004
18005 2002-11-22  Bruno Haible  <bruno@clisp.org>
18006
18007         * lib/safe-read.h: Assume C89. Add comments.
18008         (safe_read): Change return type to size_t.
18009         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
18010         byte counts > SSIZE_MAX correctly.
18011         * lib/safe-write.h: New file.
18012         * lib/safe-write.c: New file.
18013         * lib/full-read.h: New file.
18014         * lib/full-read.c: New file.
18015         * lib/full-write.h: Assume C89. Add comments.
18016         * lib/full-write.c: Include safe-write.h.
18017         (full_write): Rewritten to use safe_write.
18018         Suggested by Jim Meyering and Paul Eggert.
18019
18020 2002-11-21  Jim Meyering  <jim@meyering.net>
18021
18022         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
18023
18024         Merge in changes from the coreutils.
18025
18026         2002-09-25  Paul Eggert  <eggert@twinsun.com>
18027         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
18028         <stdint.h>.
18029         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
18030         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
18031         int.  Work more efficiently if X is the same width as uintmax_t.
18032         Do not compare X to -1, to avoid bogus compiler warning.
18033         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
18034         Don't assume that f_frsize and f_bsize are the same type.
18035
18036         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
18037         warning on FreeBSD.
18038
18039         * lib/makepath.c (make_path): Restore umask *before* creating the final
18040         component.
18041         (make_path): Minor reformatting.
18042
18043         * lib/xmalloc.c: Adjust to work with new autoconf macros,
18044         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
18045         HAVE_MALLOC/HAVE_REALLOC.
18046
18047         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
18048         dummy ones.  At least on GNU/Linux systems, `auto' means something
18049         else.
18050         From Michael Stone.
18051
18052 2002-11-21  Bruno Haible  <bruno@clisp.org>
18053
18054         Remove case insensitive option matching.
18055         * lib/argmatch.h (argcasematch): Remove declaration.
18056         (ARGCASEMATCH): Remove macro.
18057         (__xargmatch_internal): Remove case_sensitive argument.
18058         (XARGMATCH): Update.
18059         (XARGCASEMATCH): Remove macro.
18060         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
18061         case_sensitive argument.
18062         (argcasematch): Remove function.
18063         (__xargmatch_internal): Remove case_sensitive argument.
18064         (main): Use XARGMATCH instead of XARGCASEMATCH.
18065
18066         * lib/xmalloc.c: Change compile-time error message. Add comment about
18067         required autoconf version.
18068
18069 2002-11-20  Paul Eggert  <eggert@twinsun.com>
18070
18071         Merge argmatch cleanups from Bison.  Assume C89.
18072
18073         * lib/argmatch.c: Include config.h here, not in argmatch.h.
18074         Include stdlib.h, for EXIT_FAILURE.
18075         Always include <string.h>, since we assume C89.
18076         (EXIT_FAILURE): Remove pre-C89 bug workaround.
18077         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
18078         Include <stddef.h> instead, since it's all we need for size_t.
18079         (PARAMS): Remove.  All uses removed.
18080         (ARRAY_CARDINALITY): Do not bother to #undef.
18081         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
18082         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
18083         Remove unnecessary parentheses.
18084         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
18085         Insert necessary parentheses.
18086         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
18087         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
18088
18089 2002-11-19  Bruno Haible  <bruno@clisp.org>
18090
18091         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
18092         * lib/mbswidth.h: Include <stddef.h>, for size_t.
18093
18094         * lib/mbswidth.h (PARAMS): Remove macro.
18095         (mbswidth, mbsnwidth): Use ANSI C function declarations.
18096         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
18097
18098         * lib/gcd.h (PARAMS): Remove macro.
18099         (gcd): Use ANSI C function declarations.
18100         * lib/gcd.c (gcd): Likewise.
18101
18102 2002-11-15  Bruno Haible  <bruno@clisp.org>
18103
18104         * lib/strcspn.c: Include <stddef.h>.
18105         (strcspn): Use ANSI C function declaration. Change return type to
18106         size_t. Use NULL.
18107         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
18108         (strpbrk): Use NULL.
18109         * lib/strpbrk.h (PARAMS): Remove macro.
18110         (strpbrk): Use ANSI C function declaration.
18111         * lib/strstr.c: Don't include <sys/types.h>.
18112         * lib/strstr.h (PARAMS): Remove macro.
18113         (strstr): Use ANSI C function declarations.
18114
18115 2002-11-14  Karl Berry  <karl@gnu.org>
18116
18117         * config/mkinstalldirs: `do' on separate line, instead of
18118         `for var; do'.
18119
18120 2002-11-06  Bruno Haible  <bruno@clisp.org>
18121
18122         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
18123         * lib/gcd.c (gcd): Likewise.
18124
18125 2002-11-05  Bruno Haible  <bruno@clisp.org>
18126
18127         * lib/gcd.h: New file, from gettext-0.11.5.
18128         * lib/gcd.c: New file, from gettext-0.11.5.
18129
18130 2002-11-05  Bruno Haible  <bruno@clisp.org>
18131
18132         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
18133         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
18134         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
18135         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
18136
18137         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
18138         <libintl.h>.
18139         * lib/makepath.c: Include gettext.h instead of <locale.h> and
18140         <libintl.h>.
18141
18142         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
18143         * lib/human.c: Include gettext.h instead of <libintl.h>.
18144         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
18145         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
18146         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
18147         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
18148         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
18149         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
18150         (textdomain): Remove definition.
18151         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
18152
18153         * lib/long-options.c: Remove include of <libintl.h> and definition of
18154         _.
18155         * lib/same.c: Remove include of <libintl.h> and definition of _.
18156
18157 2002-11-04  Owen Taylor  <otaylor@redhat.com>
18158
18159         * lib/config.charset: A few additions for Solaris.
18160
18161 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
18162
18163         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
18164         * lib/localcharset.c (locale_charset): Declare as extern "C".
18165
18166 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
18167
18168         * lib/config.charset: msdos in uk_UA uses CP1125.
18169
18170 2002-11-04  Bruno Haible  <bruno@clisp.org>
18171
18172         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
18173         * lib/strcase.h: New file, from GNU gettext-0.11.5.
18174         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
18175         * lib/strstr.h: New file, from GNU gettext-0.11.5.
18176         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
18177
18178 2002-11-04  Bruno Haible  <bruno@clisp.org>
18179
18180         * lib/localcharset.c (locale_charset): Don't return an empty string.
18181
18182 2002-11-04  Bruno Haible  <bruno@clisp.org>
18183
18184         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
18185         aliases.
18186
18187 2002-11-04  Bruno Haible  <bruno@clisp.org>
18188
18189         * lib/config.charset: Update for newest glibc. Add canonical names
18190         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
18191
18192 2002-11-04  Bruno Haible  <bruno@clisp.org>
18193
18194         * lib/config.charset: Add support for NetBSD.
18195
18196 2002-11-04  Bruno Haible  <bruno@clisp.org>
18197
18198         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
18199
18200 2002-11-01  Bruno Haible  <bruno@clisp.org>
18201
18202         * configure.in: Add AC_CONFIG_AUX_DIR call.
18203         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
18204         test/Makefile.
18205         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
18206
18207 2002-09-28  Karl Berry  <karl@gnu.org>
18208
18209         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
18210         installed automake until the next release, since changes have been
18211         made.
18212
18213 2002-09-25  Karl Berry  <karl@gnu.org>
18214
18215         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
18216         * lib/getopt*: copy from libc/posix.
18217         * lib/gettext.h: copy from gettext.
18218         * lib/.cppi-disable: add strdup.c, gettext.h.
18219
18220 2002-09-25  Karl Berry  <karl@gnu.org>
18221
18222         * config/srclist.txt: enable gettext.h check.
18223         * config/config.{guess,sub}: update from prep.
18224         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
18225                 from automake 1.6.3.
18226         See srclist*.
18227
18228 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
18229
18230         * regex.c (PATFETCH): Remove the translating fetch.
18231         (PATFETCH_RAW): Rename to PATFETCH.
18232         (set_image_of_range): New fun.
18233         (SET_RANGE_TABLE_WORK_AREA): Use it.
18234         (regex_compile): Don't translate the pattern chars so eagerly.
18235         Only do it when inserting an `exactn' bytecode or when handling
18236         a char-range.
18237         (mutually_exclusive_p): Avoid empty statement.
18238
18239 2002-07-06  Jim Meyering  <meyering@lucent.com>
18240
18241         * m4/README: Don't mention Makefile.am.in.
18242         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
18243
18244 2002-07-01  Jim Meyering  <meyering@lucent.com>
18245
18246         * lib/c-stack.c: Include sys/time.h.
18247         From Volker Borchert.
18248
18249 2002-06-26  Paul Eggert  <eggert@twinsun.com>
18250
18251         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
18252
18253 2002-06-26  Paul Eggert  <eggert@twinsun.com>
18254
18255         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
18256         New macro.  Use it uniformly instead of
18257         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
18258         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
18259         reported by Vin Shelton.
18260
18261 2002-06-22  Paul Eggert  <eggert@twinsun.com>
18262
18263         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
18264         Do not assume SA_SIGINFO behavior.
18265         Bug reported by Jim Meyering on NetBSD 1.5.2.
18266
18267 2002-06-22  Jim Meyering  <meyering@lucent.com>
18268
18269         * m4/c-stack.m4: New file, from diffutils-2.8.2.
18270         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
18271
18272         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
18273         now that configure.ac uses AC_GNU_SOURCE.
18274         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
18275         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
18276
18277         Update to latest tools.  Suggestions from Paul Eggert.
18278         * m4/stdbool.m4: New file, from diffutils-2.8.2.
18279         * m4/gnu-source.m4: Update from diffutils-2.8.2.
18280         * m4/fnmatch.m4: Likewise.
18281         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
18282         to AC_HEADER_STDBOOL
18283
18284 2002-06-22  Jim Meyering  <meyering@lucent.com>
18285
18286         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
18287         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
18288
18289 2002-06-22  Jim Meyering  <meyering@lucent.com>
18290
18291         * lib/c-stack.c, c-stack.h: New files, from diffutils-2.8.2.
18292
18293         * lib/exitfail.c, exitfail.h: Likewise.
18294         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
18295
18296         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
18297         of fnmatch.h.
18298         (EXTRA_DIST): Add fnmatch_loop.c.
18299         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
18300
18301         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
18302         * lib/fnmatch.c: Update from diffutils-2.8.2.
18303         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
18304         * lib/fnmatch.h: Remove file.
18305
18306 2002-06-21  Jim Meyering  <meyering@lucent.com>
18307
18308         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
18309         * m4/mbrtowc.m4: Likewise.
18310
18311         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
18312         * m4/mbswidth.m4: Reflect name change:
18313         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
18314         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
18315
18316         * m4/lib-link.m4: Update from gettext-0.11.2.
18317         * m4/gettext.m4: Likewise.
18318
18319         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
18320         From Alfred M. Szmidt.
18321
18322 2002-06-18  Paul Eggert  <eggert@twinsun.com>
18323
18324         * lib/file-type.h: Report an error if neither S_ISREG nor
18325         S_IFREG is defined, instead of using a test specific to glibc
18326         2.2.  This should be safe, since POSIX requires S_ISREG and
18327         Unix Version 7 had S_IFREG.  We don't need to check for
18328         <sys/types.h> since we don't use any symbols that it defines.
18329
18330 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
18331
18332         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
18333         $@-t, so that each temporary file name is unique and valid in the first
18334         8 characters, for operation under DOS.
18335
18336 2002-06-15  Paul Eggert  <eggert@twinsun.com>
18337
18338         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
18339
18340 2002-06-15  Jim Meyering  <meyering@lucent.com>
18341
18342         Work even with DJGPP 2.03, which lacks support for symlinks.
18343         From Richard Dawe.
18344         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
18345         is defined.
18346         * lib/lchown.c (S_ISLNK): Likewise.
18347
18348 2002-06-15  Jim Meyering  <meyering@lucent.com>
18349
18350         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
18351         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
18352         have been included before this file.
18353
18354 2002-06-14  Jim Meyering  <meyering@lucent.com>
18355
18356         * lib/file-type.h: Use the version from diffutils-2.8.2.
18357         * lib/file-type.c: Likewise.
18358
18359 2002-06-07  Jim Meyering  <meyering@lucent.com>
18360
18361         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
18362         They're needed at least for NetBSD 1.5.2.
18363         ($statxfs_includes): Include those same headers.
18364         ($statxfs_includes): Include sys/vfs.h if available.
18365         ($statxfs_includes): Likewise for sys/statvfs.h.
18366         Check for the following members in both structs statfs and statvfs:
18367         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
18368
18369 2002-06-01  Jim Meyering  <meyering@lucent.com>
18370
18371         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
18372         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
18373
18374 2002-05-28  Jim Meyering  <meyering@lucent.com>
18375
18376         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
18377         Reported by Volker Borchert.
18378
18379 2002-05-27  Jim Meyering  <meyering@lucent.com>
18380
18381         Fix a problem seen only on nonconforming systems whereby ls.c's
18382         use of localtime, and then of gettimeofday would cause trouble:
18383         the localtime call used to initialize rpl_gettimeofday's save
18384         mechanism would clobber ls's current local time information so
18385         that in any long listing the first file would always be listed
18386         with date 1970-01-01.  Analysis by Volker Borchert.
18387
18388         * lib/gettimeofday.c (localtime): Undefine.
18389         (rpl_localtime): New function.
18390
18391 2002-05-27  Jim Meyering  <meyering@lucent.com>
18392
18393         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
18394         localtime.
18395
18396         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
18397         use the replacement function; it wouldn't resolve at link time.
18398         Reported by Volker Borchert.
18399
18400 2002-05-22  Jim Meyering  <meyering@lucent.com>
18401
18402         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
18403         file-type.h.
18404         * lib/file-type.h: New file.
18405         * lib/file-type.c (file_type): New file/function.  Extracted from
18406         diffutils.
18407
18408 2002-04-30  Jim Meyering  <meyering@lucent.com>
18409
18410         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
18411
18412 2002-04-29  Paul Eggert  <eggert@twinsun.com>
18413
18414         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
18415
18416 2002-04-29  Paul Eggert  <eggert@twinsun.com>
18417
18418         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
18419         Do not check for alloca.h (no longer used) or stdbool.h (was never
18420         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
18421
18422 2002-04-29  Paul Eggert  <eggert@twinsun.com>
18423
18424         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
18425
18426 2002-04-29  Jim Meyering  <meyering@lucent.com>
18427
18428         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
18429         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
18430         Use AC_FUNC_STRNLEN here instead.
18431
18432         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
18433         With autoconf-2.53a, it's part of AC_PROG_CC.
18434
18435 2002-04-28  Paul Eggert  <eggert@twinsun.com>
18436
18437         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
18438         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
18439
18440 2002-04-28  Paul Eggert  <eggert@twinsun.com>
18441
18442         * lib/sig2str.h, sig2str.c: New files.
18443         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
18444
18445 2002-04-28  Paul Eggert  <eggert@twinsun.com>
18446
18447         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
18448         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
18449         of 127, since 64 is the largest conceivable number for ancient
18450         nonstandard hosts.
18451         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
18452
18453 2002-04-28  Jim Meyering  <meyering@lucent.com>
18454
18455         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
18456
18457 2002-04-24  Jim Meyering  <meyering@lucent.com>
18458
18459         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
18460         (jm_PREREQ): Use it.
18461
18462         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
18463         mach/mach.h fcntl.h.
18464         Check for this function: setlocale.
18465
18466 2002-04-24  Jim Meyering  <meyering@lucent.com>
18467
18468         * lib/gettext.h: New file, from Gettext.
18469         * lib/Makefile.am (INCLUDES): Remove -I../intl.
18470         (libfetish_a_SOURCES): Add gettext.h.
18471
18472 2002-04-16  Jim Meyering  <meyering@lucent.com>
18473
18474         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
18475         ut_pid, ut_id, ut_exit.
18476
18477 2002-04-16  Jim Meyering  <meyering@lucent.com>
18478
18479         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
18480         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
18481         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
18482
18483 2002-04-12  Jim Meyering  <meyering@lucent.com>
18484
18485         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
18486         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
18487         existence of the getmntinfo function.  Needed for Darwin 5.3.
18488
18489         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
18490         This is necessary at least on Darwin 5.3.
18491
18492         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
18493         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
18494         strnlen.o in the library, and that makes some versions of ranlib
18495         object.
18496
18497 2002-04-12  Jim Meyering  <meyering@lucent.com>
18498
18499         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
18500
18501 2002-04-09  Jim Meyering  <meyering@lucent.com>
18502
18503         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
18504         to be more precise.  Rather than saying we're checking whether the
18505         function `works', say what we're testing.
18506         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
18507         Reported by Bruno Haible.
18508
18509 2002-03-10  Jim Meyering  <meyering@lucent.com>
18510
18511         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
18512         Suggestion from Santiago Vila.
18513
18514 2002-03-08  Jim Meyering  <meyering@lucent.com>
18515
18516         * lib/rename.c: Mention that this wrapper is needed also on
18517         mips-dec-ultrix4.4 systems.
18518
18519 2002-03-02  Jim Meyering  <meyering@lucent.com>
18520
18521         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
18522         not HAVE_CLOCK_SETTIME.
18523
18524 2002-02-27  Paul Eggert  <eggert@twinsun.com>
18525
18526         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
18527         Check for clock_settime.
18528
18529 2002-02-27  Paul Eggert  <eggert@twinsun.com>
18530
18531         * lib/nanosleep.h: Rename to....
18532         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
18533
18534         * lib/gettime.c: New file.
18535         * lib/settime.c: New file.
18536         * lib/stime.c: Remove.
18537
18538         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
18539         timespec.h.  Remove nanosleep.h.
18540
18541 2002-02-25  Paul Eggert  <eggert@twinsun.com>
18542
18543         * m4/acl.m4: New file.
18544         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
18545         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
18546
18547 2002-02-25  Paul Eggert  <eggert@twinsun.com>
18548
18549         * lib/acl.c, acl.h: New files.
18550         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
18551
18552 2002-02-24  Jim Meyering  <meyering@lucent.com>
18553
18554         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
18555         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
18556         cause trouble.  Reported by Nelson Beebe.
18557
18558 2002-02-23  Paul Eggert  <eggert@twinsun.com>
18559
18560         * lib/path-concat.c (xpath_concat): Reorder code to pacify
18561         compilers that don't know that xalloc_die never returns.
18562
18563 2002-02-20  Jim Meyering  <meyering@lucent.com>
18564
18565         * lib/getdate.c: Regenerate using bison-1.33.
18566
18567 2002-02-17  Jim Meyering  <meyering@lucent.com>
18568
18569         * config/config.guess (main): Don't use `head -1'; it's no longer
18570         portable. Use `sed 1q' instead.
18571
18572 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
18573
18574         * m4/codeset.m4: Upgrade to gettext-0.11.
18575         * m4/gettext.m4: Upgrade to gettext-0.11.
18576         * m4/glibc21.m4: Upgrade to gettext-0.11.
18577         * m4/iconv.m4: Upgrade to gettext-0.11.
18578         * m4/isc-posix.m4: Upgrade to gettext-0.11.
18579         * m4/lcmessage.m4: Upgrade to gettext-0.11.
18580         * m4/lib-ld.m4: New file, from gettext-0.11.
18581         * m4/lib-link.m4: New file, from gettext-0.11.
18582         * m4/lib-prefix.m4: New file, from gettext-0.11.
18583         * m4/progtest.m4: Upgrade to gettext-0.11.
18584
18585 2002-02-15  Paul Eggert  <eggert@twinsun.com>
18586
18587         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
18588         (jm_PREREQ): Use it.
18589
18590 2002-02-15  Paul Eggert  <eggert@twinsun.com>
18591
18592         * lib/posixver.c, posixver.h: New files.
18593         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
18594
18595 2002-02-02  Paul Eggert  <eggert@twinsun.com>
18596             Bruno Haible  <bruno@clisp.org>
18597
18598         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
18599         (fwrite_success_callback): New declaration.
18600         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
18601         print_unicode_char. Call failure callback instead of error.
18602         (fwrite_success_callback): New function.
18603         (exit_failure_callback): New function.
18604         (fallback_failure_callback): New function.
18605         (print_unicode_char): Call unicode_to_mb.
18606
18607 2002-01-26  Jim Meyering  <meyering@lucent.com>
18608
18609         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
18610         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
18611
18612 2002-01-26  Jim Meyering  <meyering@lucent.com>
18613
18614         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
18615
18616 2002-01-22  Paul Eggert  <eggert@twinsun.com>
18617
18618         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
18619
18620 2002-01-22  Jim Meyering  <meyering@lucent.com>
18621
18622         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
18623         Otherwise, some versions of automake would omit the rule that makes
18624         Makefile from Makefile.in.
18625
18626 2002-01-21  Paul Eggert  <eggert@twinsun.com>
18627
18628         * lib/xmemcoll.h, xmemcoll.c: New files.
18629         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
18630         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
18631         (memcoll): Set errno to zero if there is no error.
18632
18633         * lib/quotearg.c (quotearg_buffer_restyled):
18634         Fix bug with quoting buffers containing NUL when backslashing escapes.
18635         This bug was exposed by the other changes in this patch.
18636         (quotearg_n_options): New arg ARGSIZE.
18637         All callers changed.
18638         (quoting_options_from_style): New function.
18639         (quotearg_n_style): Use it.
18640         (quotearg_n_style_mem): New function.
18641
18642         * lib/quotearg.h (quotearg_n_style_mem): New function.
18643
18644 2002-01-19  Jim Meyering  <meyering@lucent.com>
18645
18646         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
18647         Remove useless quotes: DF_PROG="df".
18648         * m4/strnlen.m4: New file.
18649
18650 2002-01-16  Paul Eggert  <eggert@twinsun.com>
18651
18652         * lib/backupfile.c (ISDIGIT): Comment fix.
18653         * lib/getdate.y (ISDIGIT): Likewise.
18654         * lib/posixtm.c (ISDIGIT, year): Likewise.
18655         * lib/strverscmp.c (ISDIGIT): Likewise.
18656         * lib/userspec.c (ISDIGIT): Likewise.
18657
18658 2002-01-16  Jim Meyering  <meyering@lucent.com>
18659
18660         * lib/getdate.y: Add three semicolons, each just before a closing
18661         brace. Bison (as of version 1.31) no longer papers over that mistake.
18662
18663 2002-01-05  Jim Meyering  <meyering@lucent.com>
18664
18665         * lib/version-etc.c (version_etc_copyright): Update copyright year.
18666
18667 2001-12-19  Paul Eggert  <eggert@twinsun.com>
18668
18669         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
18670         not silently exit merely because the output buffer happens to
18671         have nothing pending.
18672
18673 2001-12-18  Paul Eggert  <eggert@twinsun.com>
18674
18675         See the big note in ../ChangeLog.
18676         * lib/human.c (suffixes): Prefer K to k for 1024.
18677         (generate_suffix_backwards): New function.
18678         (human_readable_inexact): Use it.
18679         * lib/xstrtol.c (__xstrtol): If there is no number but there
18680         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
18681         Accept 'K' as well as 'k'.
18682
18683 2001-12-15  Jim Meyering  <meyering@lucent.com>
18684
18685         * lib/regex.h (__restrict_arr): Update from libc.
18686
18687         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
18688         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
18689         (STREQ): Define.
18690
18691 2001-12-14  Jim Meyering  <meyering@lucent.com>
18692
18693         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
18694         Suggestion from Bruno Haible.
18695
18696 2001-12-10  Jim Meyering  <meyering@lucent.com>
18697
18698         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
18699         xrealloc, Instead, include "xalloc.h".
18700         (initbuffer): Don't cast xmalloc return value to char*.
18701         (readline): Reword comment.
18702         Don't cast xrealloc return value to char*
18703         Return NULL, not 0.
18704
18705 2001-12-09  Jim Meyering  <meyering@lucent.com>
18706
18707         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
18708         about `signed and unsigned type in conditional expression'.
18709         * lib/posixtm.c (posix_time_parse): Likewise.
18710
18711         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
18712
18713         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
18714         to avoid a pedantic warning.
18715
18716         * lib/getstr.c: Don't include assert.h.
18717         (getstr): Remove warning-evoking assertions.
18718         Return -1 if offset parameter is out of bounds.
18719         Change the type of a local from int to size_t.
18720
18721         * lib/strftime.c (my_strftime_localtime_r): Include this function
18722         definition in the `#if ! HAVE_TM_GMTOFF' block.
18723
18724         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
18725         Include xalloc.h instead.
18726
18727 2001-12-02  Jim Meyering  <meyering@lucent.com>
18728
18729         * lib/tempname.c: Don't declare getenv, thus reverting the change of
18730         2001-11-18.  It's no longer necessary, now that stdlib.h is always
18731         included.
18732
18733         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
18734         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
18735
18736 2001-11-30  Akim Demaille  <akim@epita.fr>
18737
18738         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
18739         before being defined.
18740
18741 2001-11-27  Paul Eggert  <eggert@twinsun.com>
18742
18743         * lib/quotearg.h (quotearg_n, quotearg_n_style):
18744         First arg is int, not unsigned.
18745         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
18746         (SIZE_MAX, UINT_MAX): New macros.
18747         (quotearg_n_options): Abort if N is negative.
18748         Avoid overflow check on hosts where size_t is 64 bits and int
18749         is 32 bits, as overflow is impossible there.
18750         Fix off-by-one typo that caused unnecessary reallocation.
18751
18752 2001-11-27  Jim Meyering  <meyering@lucent.com>
18753
18754         * lib/tempname.c: Merge with version from libc.
18755         * lib/regex.c: Likewise.
18756
18757         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
18758         systems for which STDC_HEADERS is 0, it was not included, resulting in
18759         a warning about an integer-to-pointer conversion problem with getenv.
18760         Reported by Volker Borchert.
18761
18762 2001-11-26  Jim Meyering  <meyering@lucent.com>
18763
18764         * lib/gtod.h: Remove file.
18765         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
18766         * lib/gettimeofday.c: Don't include gtod.h.
18767         (GTOD_init): Remove function.
18768         (rpl_gettimeofday): Do its job here instead, rather than aborting.
18769         Suggestion from Volker Borchert.
18770
18771 2001-11-23  Jim Meyering  <meyering@lucent.com>
18772
18773         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
18774         it.
18775         * lib/hash.c (struct hash_table): Define it here instead.
18776
18777 2001-11-22  Jim Meyering  <meyering@lucent.com>
18778
18779         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
18780
18781 2001-11-20  Jim Meyering  <meyering@lucent.com>
18782
18783         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
18784         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
18785
18786 2001-11-19  Jim Meyering  <meyering@lucent.com>
18787
18788         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
18789         directory.  Use "conftestXXXXXX" as the template.
18790         Suggestion from Paul Eggert.
18791
18792         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
18793         immediately, so the test doesn't mistakenly hit the max-open-files
18794         limit.
18795
18796 2001-11-18  Paul Eggert  <eggert@twinsun.com>
18797
18798         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
18799         (TEMPORARIES): New macro.
18800         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
18801         removes an artificial limitation (e.g. HP-UX 10.20, where
18802         TMP_MAX is 17576).
18803
18804 2001-11-18  Jim Meyering  <meyering@lucent.com>
18805
18806         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
18807
18808 2001-11-18  Jim Meyering  <meyering@lucent.com>
18809
18810         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
18811         on SunOS 4.
18812
18813         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
18814         files will be created before anything else.
18815
18816 2001-11-17 Paul Eggert  <eggert@twinsun.com>
18817
18818         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
18819         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
18820
18821 2001-11-17  Jim Meyering  <meyering@lucent.com>
18822
18823         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
18824         Prompted by a report from Bob Proulx.
18825
18826         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
18827         Instead, require UTILS_FUNC_MKSTEMP.
18828
18829 2001-11-17  Jim Meyering  <meyering@lucent.com>
18830
18831         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
18832         Now, that's done as part of AC_FUNC_STRTOD.
18833
18834 2001-11-17  Jim Meyering  <meyering@lucent.com>
18835
18836         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
18837         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
18838         rather than group writable.  Patch by Juan F. Codagnone.
18839
18840         * lib/readtokens.c: Remove explicit declarations of xmalloc and
18841         xrealloc, Instead, include "xalloc.h".
18842
18843         * lib/mountlist.c: Include unlocked-io.h after all system headers.
18844         Remove explicit declarations of xmalloc, xrealloc,
18845         and xstrdup.  Instead, include "xalloc.h".
18846
18847         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
18848         unlocked-io.h.
18849         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
18850         Likewise.
18851         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
18852
18853         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
18854         Reported by Padraig Brady.
18855
18856         * lib/mkstemp.c: #undef mkstemp.
18857         Include config.h.
18858         (rpl_mkstemp): Rename from mkstemp.
18859         Protoize.
18860
18861 2001-11-16  Jim Meyering  <meyering@lucent.com>
18862
18863         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
18864         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
18865         determine the amount of total physical memory, use pstat_getstatic.
18866         HPUX-11 doesn't define _SC_PHYS_PAGES.
18867         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
18868         If sysconf couldn't be used to determine the amount of available
18869         physical memory, use both pstat_getstatic and pstat_getdynamic.
18870         Based on a patch from Bob Proulx.
18871
18872 2001-11-10  Jim Meyering  <meyering@lucent.com>
18873
18874         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
18875         (jm_PREREQ): Use it.
18876
18877 2001-11-09  Jim Meyering  <meyering@lucent.com>
18878
18879         * m4/jm-macros.m4: Require autoconf-2.52f.
18880         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
18881         Use these AC_-prefixed names, not the AM_-prefixed ones.
18882
18883         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
18884
18885 2001-11-05  Jim Meyering  <meyering@lucent.com>
18886
18887         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
18888
18889 2001-11-04  Jim Meyering  <meyering@lucent.com>
18890
18891         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
18892         $DEFS.
18893
18894 2001-11-03  Jim Meyering  <meyering@lucent.com>
18895
18896         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
18897         of AC_DEFUN.
18898
18899         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
18900         know the name of the variable in the macro definition.
18901
18902 2001-11-03  Jim Meyering  <meyering@lucent.com>
18903
18904         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
18905         in argmatch_to_argument call.
18906
18907         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
18908         argument.
18909
18910         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
18911         e.g., a fault due to an attempt to free a NULL pointer.
18912
18913 2001-11-01  Jim Meyering  <meyering@lucent.com>
18914
18915         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
18916         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
18917
18918 2001-11-01  Jim Meyering  <meyering@lucent.com>
18919
18920         * lib/dirfd.c, dirfd.h: New files.
18921         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
18922
18923         * lib/hash.c (hash_print) [TESTING]: Clean up.
18924
18925 2001-10-22  Paul Eggert  <eggert@twinsun.com>
18926
18927         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
18928         to avoid a warning if -Wall.
18929
18930 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
18931
18932         * README: New file
18933         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
18934         (per RMS's instructions, this is now the canonical source)
18935         * lgpl/, gpl/: New directories.
18936
18937 2001-10-21  Paul Eggert  <eggert@twinsun.com>
18938
18939         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
18940
18941 2001-10-21  Jim Meyering  <meyering@lucent.com>
18942
18943         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
18944         this code would end up calling gettext even in packages built
18945         with --disable-nls.
18946         * lib/getopt.c (_): Likewise.
18947         * lib/regex.c (_): Likewise.
18948
18949 2001-10-20  Paul Eggert  <eggert@twinsun.com>
18950
18951         * m4/error.m4 (jm_PREREQ_ERROR):
18952         Do not invoke AC_CHECK_FUNCS with strerror_r, as
18953         AC_FUNC_STRERROR_R does that.
18954         Check for strerror declaration.
18955
18956         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
18957         are supposed to have them these days.
18958         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
18959         Merge changes from latest Autoconf CVS.
18960         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
18961         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
18962         POSIX decided to standardize on the int flavor of strerror_r.
18963
18964 2001-10-20  Paul Eggert  <eggert@twinsun.com>
18965
18966         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
18967         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
18968         Use strerror_r that is only a macro, even if it is not a function.
18969         (strerror): Check for HAVE_DECL_STRERROR before declaring.
18970         (private_strerror): Use prototypes, not old-style function definition.
18971         (print_errno_message): New function.
18972         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
18973         char*-flavored one.
18974         (error_tail, error, error_at_line): Use it.
18975
18976 2001-10-11  Jim Meyering  <meyering@lucent.com>
18977
18978         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
18979         and quote_n (1, ... to avoid clobbering a buffer.
18980
18981 2001-10-05  Jim Meyering  <meyering@lucent.com>
18982
18983         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
18984         hash-pjw.h.
18985         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
18986         * lib/hash-pjw.h: New file.
18987
18988 2001-09-30  Jim Meyering  <meyering@lucent.com>
18989
18990         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
18991         `struct fsstat' has the `f_fstypename' member.
18992         Use that to define FS_TYPE, which is now used to make
18993         the getfsstat link test tighter.
18994
18995 2001-09-30  Jim Meyering  <meyering@lucent.com>
18996
18997         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
18998         Include <sys/ucred.h>, for Apple Darwin.
18999         Include sys/mount.h and sys/fs_types.h only if available.
19000         (FS_TYPE): Define.
19001         (read_filesystem_list): Use FS_TYPE.
19002
19003 2001-09-29  Paul Eggert  <eggert@twinsun.com>
19004
19005         * lib/exclude.c (excluded_filename): 0 -> false, since it's
19006         a boolean context.
19007
19008 2001-09-29  Jim Meyering  <meyering@lucent.com>
19009
19010         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
19011         [one-argument getmntent function]): Include stdio.h before mntent.h.
19012         SunOS 4.1.x needs it for the declaration of `FILE'.
19013         Patch by Volker Borchert.
19014
19015         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
19016         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
19017         sys/fs_types.h, and make the link-test for getfsstat guard #include
19018         directives with appropriate #if HAVE_*_H tests so that we can
19019         detect getfsstat on Apple Darwin1.3.7 systems.
19020         Reported by Nelson Beebe.
19021         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
19022
19023 2001-09-28  Paul Eggert  <eggert@twinsun.com>
19024
19025         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
19026         #defines strtoimax.  Also treat the other strto* functions
19027         like strtoimax.
19028
19029         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
19030         Check for strtoul and strtoumax,
19031         as those declarations are made even in the signed case.
19032         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
19033         Likewise, for strtol and strtoimax.
19034
19035 2001-09-28  Paul Eggert  <eggert@twinsun.com>
19036
19037         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
19038         #defines strtoimax.  Also treat the other strto* functions
19039         like strtoimax.
19040
19041         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
19042         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
19043         (strtoimax, strtoumax): Do not declare if already defined as a macro.
19044
19045 2001-09-26  Jim Meyering  <meyering@lucent.com>
19046
19047         Most macros in unlocked-io.h had the wrong number of arguments.
19048         * lib/gen-uio: New script.
19049         (USE_UNLOCKED_IO): Define to 1 if not already defined.
19050         * lib/unlocked-io.hin: Remove file.
19051         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
19052         rather than trying to embed it here.
19053         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
19054         Reported by Padraig Brady.
19055
19056 2001-09-25  Volker Borchert  <bt@teknon.de>
19057
19058         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
19059         `result'.
19060
19061 2001-09-24  Jim Meyering  <meyering@lucent.com>
19062
19063         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
19064
19065 2001-09-23  Jim Meyering  <meyering@lucent.com>
19066
19067         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
19068         instead of the mere test for existence of mntent.h.  The latter
19069         would get a false-positive on AIX 3.4 systems.
19070         In the outer getmntent if-block, don't die if neither of the getmntent
19071         tests succeeds.  Instead, just fall through and continue with the
19072         remaining tests.
19073
19074 2001-09-23  Jim Meyering  <meyering@lucent.com>
19075
19076         * lib/mountlist.c: Remove useless parentheses in #if directives.
19077         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
19078         the deprecated MOUNTED symbol is no longer defined in mntent.h.
19079
19080 2001-09-22  Jim Meyering  <meyering@lucent.com>
19081
19082         * m4/gettext.m4: New file.  From gettext.
19083         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
19084         * m4/progtest.m4: Likewise
19085         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
19086         * m4/glibc21.m4: Likewise.
19087
19088         * m4/libintl.m4: Remove.  No longer used.
19089
19090 2001-09-22  Jim Meyering  <meyering@lucent.com>
19091
19092         * lib/localcharset.c: Update from latest gettext.
19093         * lib/config.charset: Likewise.
19094
19095 2001-09-20  Jim Meyering  <meyering@lucent.com>
19096
19097         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
19098         strtoimax.
19099         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
19100         strtoumax.
19101
19102 2001-09-20  Jim Meyering  <meyering@lucent.com>
19103
19104         * lib/xstrtol.c (strtoimax): Guard declaration with
19105         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
19106         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
19107         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
19108         (strtoumax): Likewise, for completeness (it wasn't necessary).
19109
19110 2001-09-17  Paul Eggert  <eggert@twinsun.com>
19111
19112         * lib/strtoimax.c (HAVE_LONG_LONG):
19113         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
19114         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
19115         to work around bug in IBM C compiler.
19116
19117 2001-09-17  Jim Meyering  <meyering@lucent.com>
19118
19119         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
19120         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
19121         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
19122         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
19123         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
19124         whenever the right hand side need not be expanded by the shell.
19125
19126 2001-09-16  Paul Eggert  <eggert@twinsun.com>
19127
19128         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
19129         library.  It's not correct, as some older glibcs are buggy.
19130         fnmatch wasn't fixed until glibc 2.2.
19131
19132         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
19133         special shell magic here.
19134
19135 2001-09-16  Jim Meyering  <meyering@lucent.com>
19136
19137         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
19138         * m4/jm-macros.m4: Require it.
19139
19140 2001-09-16  Jim Meyering  <meyering@lucent.com>
19141
19142         * lib/mkdir.c: New file.
19143
19144 2001-09-15  Jim Meyering  <meyering@lucent.com>
19145
19146         * m4/jm-macros.m4: Check for help2man.
19147
19148 2001-09-11  Jim Meyering  <meyering@lucent.com>
19149
19150         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
19151         The body, by Paul Eggert, was moved here from configure.in.
19152         * m4/jm-macros.m4: Require UTILS_HOST_OS.
19153
19154 2001-09-04  Paul Eggert  <eggert@twinsun.com>
19155
19156         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
19157         (jm_PREREQ): Use it.
19158
19159 2001-09-04  Paul Eggert  <eggert@twinsun.com>
19160
19161         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
19162         Use ssize_t, not int, to store result of readlink.
19163         Check for ssize_t overflow as well as size_t overflow,
19164         as POSIX says the result of readlink is implementation-defined
19165         when ssize_t overflows.
19166         Remove unnecessary cast to char*.
19167         Use free+malloc instead of realloc, as the storage doesn't need
19168         to be preserved and it's clearer and can be more efficient that way.
19169         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
19170         * lib/xreadlink.h (xreadlink): Update prototype.
19171
19172 2001-09-04  Paul Eggert  <eggert@twinsun.com>
19173
19174         * lib/xgetcwd.c: Revert some of the previous change; intead,
19175         fix the HAVE_GETCWD_NULL code to behave more like the
19176         !HAVE_GETCWD_NULL code used to.
19177
19178         Include "xalloc.h".
19179         (xgetcwd): Do not return NULL when memory is exhausted; instead,
19180         invoke xalloc_die.
19181
19182 2001-09-03  Paul Eggert  <eggert@twinsun.com>
19183
19184         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
19185         sys/param.h, as pathmax.h includes them.
19186
19187 2001-09-03  Paul Eggert  <eggert@twinsun.com>
19188
19189         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
19190         (jm_PREREQ_XGETCWD): New macro.
19191
19192         * m4/getcwd.m4: New file.
19193
19194 2001-09-03  Paul Eggert  <eggert@twinsun.com>
19195
19196         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
19197         like the HAVE_GETCWD_NULL code.
19198         Include pathmax.h if not HAVE_GETCWD.
19199         Do not include xalloc.h.
19200         (INITIAL_BUFFER_SIZE): New symbol.
19201         Do not use xmalloc / xrealloc, since the caller is responsible for
19202         handling errors.  Preserve errno around `free' during failure.
19203         Do not overrun buffer when using getwd.
19204
19205 2001-09-03  Paul Eggert  <eggert@twinsun.com>
19206
19207         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
19208         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
19209         getcwd (NULL, 0).
19210
19211 2001-09-03  Paul Eggert  <eggert@twinsun.com>
19212
19213         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
19214         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
19215         spotted by Jim Meyering.
19216
19217 2001-09-03  Jim Meyering  <meyering@lucent.com>
19218
19219         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
19220         failure.
19221
19222 2001-09-02  Jim Meyering  <meyering@lucent.com>
19223
19224         * lib/error.c: Update from GNU libc.
19225
19226 2001-09-01  Jim Meyering  <meyering@lucent.com>
19227
19228         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
19229         Used by df.
19230
19231 2001-09-01  Jim Meyering  <meyering@lucent.com>
19232
19233         * lib/xreadlink.c: New file.
19234         * lib/xreadlink.h: New file.
19235         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
19236         xreadlink.h.
19237
19238         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
19239         doesn't conflict with sparc Solaris 7's definition in
19240         /usr/include/sys/int_types.h.
19241
19242         * lib/exclude.c: Use `""', not `<>' to #include non-system header
19243         files.
19244         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
19245         and strncasecmp as r-values.  Unixware didn't have declarations.
19246
19247 2001-08-31  Paul Eggert  <eggert@twinsun.com>
19248
19249         * lib/xstrtol.h: Add copyright notice.
19250         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
19251         LONGINT_INVALID_SUFFIX_CHAR.
19252
19253 2001-08-31  Paul Eggert  <eggert@twinsun.com>
19254
19255         * lib/xstrtol.c (strtoimax): New decl.
19256
19257 2001-08-31  Paul Eggert  <eggert@twinsun.com>
19258
19259         * lib/xgetcwd.c: Don't include pathmax.h.
19260         Include stdlib.h and unistd.h if available.
19261         Include xalloc.h.
19262         (xmalloc, xstrdup, free): Remove decls.
19263         (xgetcwd): Don't assume sizes fit in unsigned.
19264         Check for overflow when computing sizes.
19265         Simplify reallocation code.
19266
19267 2001-08-31  Paul Eggert  <eggert@twinsun.com>
19268
19269         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
19270         a directory's st_size can have an arbitrary value, so the old
19271         usage could waste an arbitrary amount of memory.  All uses
19272         changed.
19273         * lib/savedir.h: Update prototype.
19274
19275 2001-08-31  Paul Eggert  <eggert@twinsun.com>
19276
19277         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
19278
19279         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
19280         old strtoimax.c.
19281
19282         Also, make the following further changes to make this file's
19283         configuration more similar to that of strtol.c:
19284         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
19285         (strtoumax, uintmax_t, strtoull, strtol): Remove.
19286         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
19287         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
19288         changed to signed values.
19289
19290         And make the following changes as well:
19291         Fix copyright notice, as 1999 was missing.
19292         (verify): New macro.
19293         (strtoimax): Check sizes at compile-time, not run-time.
19294         Prefer strtol to strtoll if both work.
19295         (main): Remove; it was not that useful and was a pain to maintain.
19296
19297         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
19298
19299 2001-08-31  Jim Meyering  <meyering@lucent.com>
19300
19301         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
19302         Use an initial, malloc'd, buffer of length 128 rather than
19303         a statically allocated one of length 1024.
19304
19305 2001-08-30  Paul Eggert  <eggert@twinsun.com>
19306
19307         Simplify code, partly by assuming autoconf 2.52 semantics.
19308
19309         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
19310
19311         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
19312         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
19313         All uses removed.
19314         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
19315         Move AC_REQUIRE to next-to-top level, to avoid confusion.
19316         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
19317         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
19318         jm_AC_HEADER_INTTYPES_H.
19319         * m4/jm-macros.m4 (jm_MACROS): Likewise.
19320
19321         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
19322
19323         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
19324         Quote first arg of AC_DEFUN.
19325         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
19326         since they are needed to parse the include file even if we need
19327         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
19328         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
19329         but with opposite signedness.
19330
19331 2001-08-30  Paul Eggert  <eggert@twinsun.com>
19332
19333         Merge 'exclude' changes from tar 1.13.22.
19334         This fixes one or two unlikely storage allocation overflow bugs,
19335         but doesn't change user-visible behavior otherwise.
19336
19337 2001-08-30  Paul Eggert  <eggert@twinsun.com>
19338
19339         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
19340         (jm_PREREQ_EXCLUDE): New macro.
19341
19342 2001-08-30  Paul Eggert  <eggert@twinsun.com>
19343
19344         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
19345         tm to be declared.
19346
19347 2001-08-30  Paul Eggert  <eggert@twinsun.com>
19348
19349         * lib/hash.c: Remove '2001' from copyright notice.
19350
19351 2001-08-30  Paul Eggert  <eggert@twinsun.com>
19352
19353         * lib/full-write.h: New file.
19354         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
19355         * lib/full-write.c: Correct credits, as cccp.c no longer
19356         exists and anyway it was so heavily changed from the old cccp
19357         code as to be unrecognizable.  Include full-write.h.
19358         (full_write) Return size_t, with short writes meaning failure.
19359         All callers changed.  This fixes a bug with large buffers
19360         on 64-bit hosts.
19361         * lib/utime.c: Include full-write.h.
19362
19363 2001-08-30  Paul Eggert  <eggert@twinsun.com>
19364
19365         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
19366         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
19367         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
19368         Include if available.
19369         (<xalloc.h>): Include
19370         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
19371         (verify): New macro.  Use it to verify that EXCLUDE macros do not
19372         collide with FNM macros.
19373         (struct patopts): New struct.
19374         (struct exclude): Use it, as exclude patterns now come with options.
19375         (new_exclude): Support above changes.
19376         (new_exclude, add_exclude_file):
19377         Initial size must now be a power of two to simplify overflow checking.
19378         (free_exclude, fnmatch_no_wildcards): New function.
19379         (excluded_filename): No longer requires options arg, as the options
19380         are determined by add_exclude.  Now returns bool, not int.
19381         (excluded_filename, add_exclude):
19382         Add support for the fancy new exclusion options.
19383         (add_exclude, add_exclude_file): Now takes int options arg.
19384         Check for arithmetic overflow when computing sizes.
19385         (add_exclude_file): xrealloc might modify errno, so don't
19386         realloc until after errno might be used.
19387
19388         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
19389         New macros.
19390         (free_exclude): New decl.
19391         (add_exclude, add_exclude_file): Now takes int options arg.
19392         (excluded_filename): No longer requires options arg, as the options
19393         are determined by add_exclude.  Now returns bool, not int.
19394
19395 2001-08-30  Paul Eggert  <eggert@twinsun.com>
19396
19397         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
19398
19399 2001-08-27  Jim Meyering  <meyering@lucent.com>
19400
19401         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
19402
19403         * lib/version-etc.c (N_): Remove definition.
19404         Revert most of last change.
19405         Instead, simply don't mark the `Copyright...' string for translation.
19406         Based on advice from Paul Eggert.
19407
19408         * lib/strtoxmax.c: Tweak comment.
19409
19410 2001-08-26  Jim Meyering  <meyering@lucent.com>
19411
19412         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
19413
19414         * m4/xstrtoimax.m4: New file.
19415         * m4/xstrtoumax.m4: Add comments explaining why we
19416         AC_REPLACE_FUNCS(strtol).
19417
19418 2001-08-26  Jim Meyering  <meyering@lucent.com>
19419
19420         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
19421         of copyright with `%s' so translators don't get an untranslated
19422         message in 2002.
19423         (COPYRIGHT_YEAR): Define.
19424         (version_etc): Use fprintf rather than fputs.
19425         Suggestion from Ulrich Drepper.
19426
19427         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
19428
19429         * lib/strtoll.c: New file, from GNU libc.
19430         * lib/xstrtoimax.c: New file.
19431
19432         * lib/xstrtol.h: Add xstrtoimax.
19433         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
19434         * lib/strtoimax.c: New file.  Likewise, but first define
19435         STRTOUXMAX_SIGNED.
19436
19437         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
19438         ...
19439         * lib/strtoxmax.c: ... then renamed to this.
19440
19441 2001-08-18  Paul Eggert  <eggert@twinsun.com>
19442
19443         * m4/inttypes.m4: Add AC_PREREQ(2.13).
19444         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
19445         (jm_AC_TYPE_INTMAX_T): New macro.
19446         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
19447
19448         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
19449
19450         * m4/longlong.m4: Renamed from ulonglong.m4.
19451         * m4/inttypes.m4: Renamed from inttypes_h.m4.
19452         * m4/uintmax_t.m4: Removed.
19453
19454 2001-08-13  Paul Eggert  <eggert@twinsun.com>
19455
19456         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
19457         Port to Solaris 8, where 'sed' requires a space after the 'r'
19458         command, and where sh dislikes "$/".  Clean up the spacing a bit.
19459         Redirect output to $tmp just once.
19460
19461 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
19462
19463         * lib/addext.c (<errno.h>): Include.
19464         (errno): Declare if not defined.
19465         (addext): Work correctly when pathconf returns -1 and leaves
19466         errno alone because there is no limit.  Also, work even if
19467         pathconf returns a value greater than SIZE_MAX.
19468
19469 2001-08-12  Jim Meyering  <meyering@lucent.com>
19470
19471         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
19472         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
19473         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
19474         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
19475         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
19476         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
19477         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
19478         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
19479         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
19480         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
19481         utime.m4, utimes.m4, xstrtoumax.m4:
19482         Quote the first argument in each use of AC_DEFUN.
19483
19484 2001-08-12  Jim Meyering  <meyering@lucent.com>
19485
19486         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
19487         Simply `return getcwd (NULL, 0);'.
19488         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
19489         Use 1300 as initial value for length, not PATH_MAX.
19490
19491         * lib/pathmax.h: Clean up cpp syntax.
19492
19493 2001-08-12  Jim Meyering  <meyering@lucent.com>
19494
19495         * lib/gettimeofday.c: New file.
19496         * lib/gtod.h: New file.
19497         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
19498
19499 2001-08-05  Jim Meyering  <meyering@lucent.com>
19500
19501         * m4/jm-macros.m4: Require autoconf-2.52.
19502
19503 2001-08-04  Jim Meyering  <meyering@lucent.com>
19504
19505         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
19506         stmt, to get in sync with glibc.
19507
19508 2001-08-03  Paul Eggert  <eggert@twinsun.com>
19509
19510         The following changes are from gettext 0.10.39 as maintained by
19511         Bruno Haible.
19512
19513         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
19514         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
19515         with inverted sense.  All uses changed.
19516
19517         * lib/mbswidth.c: Don't include <limits.h>.
19518         Include <stdlib.h> and <string.h> unconditionally.
19519         (iswcntrl, mbsinit, ISCNTRL): New macros.
19520         (mbsnwidth): Use K&R style function declarations.
19521         Don't bother checking for MB_LEN_MAX == 1, since the compiler
19522         can optimize it when MB_CUR_MAX == 1.
19523         The width of control characters is zero, not 1.
19524
19525 2001-08-03  Paul Eggert  <eggert@twinsun.com>
19526
19527         The following changes are from gettext 0.10.39 as maintained by
19528         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
19529
19530         * m4/codeset.m4: Upgrade to serial AM1.
19531         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
19532         all uses changed.  Quote first arg of AC_DEFUN.
19533         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
19534
19535         * m4/iconv.m4: Upgrade to serial AM2.
19536         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
19537         Add --with-libconv-prefix.
19538         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
19539         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
19540         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
19541         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
19542         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
19543
19544         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
19545         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
19546         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
19547         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
19548         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
19549         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
19550         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
19551         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
19552         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
19553
19554         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
19555         string.h any more.
19556
19557         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
19558         not the default value.
19559
19560         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
19561         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
19562         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
19563         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
19564         Also check for iswcntrl, used for wcwidth fallback.
19565         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
19566         to Autoconf 2.13.
19567
19568 2001-08-03  Jim Meyering  <meyering@lucent.com>
19569
19570         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
19571         as it was in the original.  Reported by Paul Eggert.
19572
19573 2001-07-16  Jim Meyering  <meyering@lucent.com>
19574
19575         * m4/gettimeofday.m4: New file.
19576         Prompted by a report from Bernhard Baehr.
19577
19578 2001-07-15  Jim Meyering  <meyering@lucent.com>
19579
19580         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
19581         stuff. Now it's in ../Makefile.cfg.
19582
19583 2001-07-15  Jim Meyering  <meyering@lucent.com>
19584
19585         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
19586         (BUILT_SOURCES): Add unlocked-io.h.
19587         (io_functions): Define.
19588         (unlocked-io.h): New rule.
19589         (DISTCLEANFILES): Add unlocked-io.h.
19590         (all-local): Depend on unlocked-io.h, to ensure it is created.
19591
19592         * lib/unlocked-io.hin: New file
19593
19594         * lib/regex.c: Update from glibc.
19595
19596 2001-07-05  Jim Meyering  <meyering@lucent.com>
19597
19598         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
19599         recommendation.
19600         (libfetish_a_SOURCES): Put all .h files here instead.
19601         Remove a thus-exposed (better checks in automake) duplicate and
19602         two unnecessary .h files.
19603
19604 2001-07-04  Jim Meyering  <meyering@lucent.com>
19605
19606         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
19607         that generates jm-glibc-io.m4 so that it doesn't trigger any make
19608         distcheck failure.
19609
19610 2001-07-02  Jim Meyering  <meyering@lucent.com>
19611
19612         The following changes were prompted by suggestions from Bruno Haible.
19613
19614         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
19615         is now generated.
19616         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
19617         definition of EXTRA_DIST.
19618         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
19619         ensure that the generated file is created/updated whenever the list
19620         of $(unlocked_functions) is changed.
19621         (jm-glibc-io.m4): New rule.
19622         (unlocked-io.h): New rule -- currently unused.
19623
19624 2001-06-24  Jim Meyering  <meyering@lucent.com>
19625
19626         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
19627         unmatched right bracket, rather than kludging it with an extra,
19628         falsely-matching quote in a comment.  Patch by Akim Demaille.
19629
19630 2001-06-11  Jim Meyering  <meyering@lucent.com>
19631
19632         * lib/regex.c: Update from GNU libc.
19633
19634 2001-05-27  Jim Meyering  <meyering@lucent.com>
19635
19636         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
19637         Check for ut_type in struct utmp.
19638
19639 2001-05-27  Jim Meyering  <meyering@lucent.com>
19640
19641         * lib/readutmp.h (UT_TYPE): Define.
19642
19643 2001-05-24  Jim Meyering  <meyering@lucent.com>
19644
19645         * lib/argmatch.c: Include "quote.h".
19646         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
19647         quote function.  Reported by Göran Uddeborg.
19648
19649 2001-05-22  Jim Meyering  <meyering@lucent.com>
19650
19651         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
19652         now that we use the package-supplied version unconditionally.
19653         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
19654
19655 2001-05-21  Jim Meyering  <meyering@lucent.com>
19656
19657         * m4/regex.m4: Change a couple backticks to single quotes to avoid
19658         shell syntax errors.
19659
19660 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
19661
19662         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
19663
19664 2001-05-20  Paul Eggert  <eggert@twinsun.com>
19665
19666         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
19667         Don't bother to check library strftime, since
19668         we'll be using our own my_strftime function anyway.
19669         Define my_strftime instead of strftime.
19670
19671 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
19672
19673         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
19674         which is not yet declared.
19675
19676 2001-05-15  Jim Meyering  <meyering@lucent.com>
19677
19678         * m4/regex.m4: Use proper quoting so brackets appear in the test
19679         program.
19680         Reported by, and with help from, Bruno Haible.
19681
19682 2001-05-13  Jim Meyering  <meyering@lucent.com>
19683
19684         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
19685         undefined.
19686
19687 2001-05-11  Paul Eggert  <eggert@twinsun.com>
19688
19689         dirname code cleanup.  base_name now behaves more compatibly
19690         with POSIX basename when given file names that have trailing
19691         slashes, and similarly for dir_name.  Add new primitives
19692         base_len and dir_len.  Put the directory-name-related decls
19693         into dirname.h.
19694
19695         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
19696         * lib/backupfile.c (base_name): Likewise.
19697         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
19698         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
19699         * lib/makepath.c (strip_trailing_slashes): Likewise.
19700         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
19701         ISSLASH): Likewise.
19702         * lib/rename.c (strip_trailing_slashes): Likewise.
19703         * lib/same.c (base_name): Likewise.
19704         * lib/stripslash.c (ISSLASH): Likewise.
19705
19706         * lib/addext.c: Include <dirname.h> after size_t is defined.
19707         * lib/backupfile.c: Likewise.
19708
19709         * lib/addext.c (addext): Use base_len to trim redundant
19710         trailing slashes instead of doing it ourselves.
19711         But do not trim the last slash if it is not redundant.
19712
19713         * lib/backupfile.c (find_backup_file_name,
19714         max_backup_version): Use base_len instead of rolling it ourselves.
19715         Handle the case of "" and (on DOS) "C:" correctly.
19716
19717         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
19718         needed. Include <string.h>, <dirname.h>.
19719         (base_name): Allow file names ending in slashes, other than names
19720         that are all slashes.  In this case, return the basename followed
19721         by the slashes.  This is more general, and can be used in places
19722         where the original base_name purposely had an assertion failure.
19723         (base_len): New function.
19724
19725         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
19726         Do not include <assert.h>; no longer needed.
19727         Include xalloc.h.
19728         (memrchr): Remove decl.
19729         (dir_name_r): Remove.
19730         (dir_len): Renamed from dirlen.  All callers changed.
19731         Rewrite in terms of base_name, for simplicity and consistency.
19732         (dir_name): Never return NULL.  All callers changed.
19733         Do not include <stdlib.h> in test program; no longer needed.
19734         return 0; is fine for test program.
19735
19736         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
19737         New macros.
19738         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
19739
19740         * lib/path-concat.c (path_concat): Use base_len to compute
19741         base length, not strlen; this means we cannot rely on memcpy
19742         to null-terminate.
19743
19744         * lib/same.c (STREQ): Remove.
19745         (same_name): Handle the case where the basename ends in trailing '/'.
19746
19747         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
19748         a slash was stripped.  Do not strip the last slash after a
19749         file system prefix.
19750
19751 2001-05-11  Paul Eggert  <eggert@twinsun.com>
19752
19753         * lib/Makefile.am (libfetish_a_SOURCES):
19754         Add strftime.c, since we now compile it on all hosts.
19755
19756         * lib/strftime.c (my_strftime):
19757         Define to nstrftime if emacs, but only if my_strftime is not defined.
19758         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
19759         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
19760         Add one more extra argument: a nanoseconds value.
19761         All uses changed.
19762         (ns): New macro.
19763         (my_strftime function): Add %N format.
19764         (emacs_strftimeu): Renamed from emacs_strftime,
19765         with extra ut argument.
19766
19767 2001-05-09  Paul Eggert  <eggert@twinsun.com>
19768
19769         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
19770
19771 2001-04-21  Jim Meyering  <meyering@lucent.com>
19772
19773         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
19774         doesn't interfere.
19775
19776 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
19777
19778         * m4/ftruncate.m4: Check for chsize.
19779         Link with ftruncate.o unconditionally if ftruncate is missing.
19780         This was required when cross-compiling to i586-mingw32msvc.
19781
19782 2001-04-08  Jim Meyering  <meyering@lucent.com>
19783
19784         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
19785         recomputed; that's necessary when the offset spans a DST transition.
19786         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
19787
19788 2001-04-02  Jim Meyering  <meyering@lucent.com>
19789
19790         * lib/regex.h, regex.c: Update from GNU libc.
19791
19792 2001-03-24  Jim Meyering  <meyering@lucent.com>
19793
19794         * m4/jm-macros.m4: Require autoconf-2.49d.
19795
19796 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
19797
19798         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
19799
19800 2001-03-19  Paul Eggert  <eggert@twinsun.com>
19801
19802         * lib/version-etc.c (version_etc_copyright): Update to 2001.
19803
19804 2001-03-17  Jim Meyering  <meyering@lucent.com>
19805
19806         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
19807         now that the version in autoconf is equivalent.
19808         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
19809
19810         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
19811         Suggestion from Akim Demaille.
19812
19813         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
19814         (jm_PREREQ_TEMPNAME): New function.
19815
19816 2001-03-16  Paul Eggert  <eggert@twinsun.com>
19817
19818         * lib/tempname.c (uint64_t): Define to uintmax_t if
19819         not defined, and if UINT64_MAX is not defined.
19820         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
19821         Reported by John David Anglin.
19822
19823 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
19824
19825         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
19826         resolve alias if codeset is empty.
19827         * lib/config.charset (BeOS): Use wildcard syntax.
19828
19829 2001-03-13  Jim Meyering  <meyering@lucent.com>
19830
19831         * lib/path-concat.c (path_concat)
19832         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
19833         concatenating e.g., `C:' and `foo'.
19834         From Bruno Haible.
19835
19836 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
19837
19838         * lib/localcharset.c (locale_charset): Don't use
19839         setlocale(LC_CTYPE,NULL). Don't return NULL.
19840         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
19841
19842 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
19843
19844         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
19845         support for DOS/DJGPP.
19846
19847 2001-03-01  Paul Eggert  <eggert@twinsun.com>
19848
19849         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
19850         lacks mkstemp.  Compile our own tempname.c if we compile our own
19851         mkstemp.c, as mkstemp relies on tempname.
19852
19853 2001-03-01  Jim Meyering  <meyering@lucent.com>
19854
19855         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
19856         AH_VERBATIM really does output its argument verbatim.
19857
19858 2001-02-28  Paul Eggert  <eggert@twinsun.com>
19859
19860         * lib/Makefile.am (libfetish_a_SOURCES):
19861         Add dup-safer.c, fopen-safer.c.
19862         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
19863
19864         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h,
19865         lib/unistd-safer.h: New files.
19866
19867 2001-02-25  Paul Eggert  <eggert@twinsun.com>
19868
19869         The mkstemp replacement is taken from glibc 2.2.2, with some
19870         portability fixes for use outside glibc, as follows:
19871
19872         * lib/tempname.c (struct_stat64): New macro.
19873         (direxists, __gen_tempname): Use it.
19874         This avoids a portability problem with Solaris 8.
19875
19876         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
19877         (<stddef.h>, <stdint.h>, <string.h>):
19878         Include only if STDC_HEADERS || _LIBC.
19879         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
19880         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
19881         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
19882         (__set_errno): Define this macro if <errno.h> doesn't.
19883         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
19884         Define these macros if <stdio.h> doesn't.
19885         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
19886         Define these macros if <sys/stat.h>
19887         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
19888         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
19889         __xstat64): Define if not _LIBC.
19890         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
19891         (__gen_tempname): Invoke gettimeofday only if
19892         HAVE_GETTIMEOFDAY || _LIBC;
19893         otherwise, fall back on plain "time".
19894         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
19895
19896         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
19897
19898         * lib/mkstemp.c, tempname.c: New files, taken from glibc 2.2.2.
19899
19900 2001-02-18  Paul Eggert  <eggert@twinsun.com>
19901
19902         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
19903
19904 2001-02-17  Paul Eggert  <eggert@twinsun.com>
19905
19906         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
19907         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
19908         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
19909         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
19910
19911 2001-02-17  Paul Eggert  <eggert@twinsun.com>
19912
19913         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
19914         Remove workaround macros for hosts that have mbrtowc but not
19915         mbstate_t, as we now insist on proper declarations for both
19916         before using mbrtowc.
19917
19918 2001-02-17  Jim Meyering  <meyering@lucent.com>
19919
19920         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
19921         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
19922         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
19923         UnixWare 7.1.1.
19924
19925         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
19926         rather than AC_CACHE_VAL.
19927
19928 2001-02-17  Jim Meyering  <meyering@lucent.com>
19929
19930         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
19931         around included file name.
19932
19933         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
19934
19935         * lib/strftime.c: Update from GNU libc (the only changes were to
19936         comments).
19937
19938 2001-02-17  Jim Meyering  <meyering@lucent.com>
19939
19940         * lib/regex.c: Update from libc.
19941
19942 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
19943
19944         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
19945         clash.
19946
19947 2001-02-16  Paul Eggert  <eggert@twinsun.com>
19948
19949         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
19950         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
19951         Reported by Mark Hounschell via Paul Eggert.
19952
19953 2001-02-07  Jim Meyering  <meyering@lucent.com>
19954
19955         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
19956
19957 2001-02-05  Jim Meyering  <meyering@lucent.com>
19958
19959         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
19960         it includes the patch required for `large file' support with at least
19961         HP-UX's 10.20 /bin/cc.
19962
19963 2001-02-03  Jim Meyering  <meyering@lucent.com>
19964
19965         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
19966         AS_IF, now that it works once again (mysteriously).
19967         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
19968
19969 2001-01-30  Jim Meyering  <meyering@lucent.com>
19970
19971         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
19972         * m4/chown.m4: Rename conftestchown to conftest.chown.
19973         * m4/rename.m4: s/conftestdir/conftest.d1/ and
19974         s/conftestdir2/conftest.d2/.
19975         * m4/utimes.m4: s/conftestdata/conftest.data/
19976         Inspired by Pavel Roskin's change in autoconf.
19977
19978 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
19979
19980         * lib/config.charset: Update for FreeBSD 4.2.
19981
19982 2001-01-27  Jim Meyering  <meyering@lucent.com>
19983
19984         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
19985         a use of AS_IF.
19986         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
19987
19988 2001-01-26  Jim Meyering  <meyering@lucent.com>
19989
19990         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
19991         quotearg.c includes it.
19992
19993 2001-01-26  Jim Meyering  <meyering@lucent.com>
19994
19995         * lib/quotearg.c: Include stddef.h.
19996         * lib/quote.c: Include stddef.h.
19997         Reported by Axel Kittenberger.
19998
19999         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
20000         line in double quotes so that it evokes a better diagnostic.
20001         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
20002         Reported by Axel Kittenberger.
20003
20004 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
20005
20006         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
20007         as if it was a `charset'.
20008
20009 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
20010
20011         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
20012         has const.
20013
20014 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
20015
20016         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
20017         to avoid a warning.  Add back 'const' to inptr.
20018
20019 2001-01-20  Jim Meyering  <meyering@lucent.com>
20020
20021         Be sure that headers are checked before used in code compiled
20022         for the type checks.
20023         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
20024         In place of that, invoke jm_CHECK_ALL_TYPES.
20025         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
20026         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
20027         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
20028         The check for ssize_t was mistakenly run before the test for unistd.h.
20029
20030         The configure-time check for stdbool.h was missing.
20031         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
20032         (jm_PREREQ_HASH): New function.
20033
20034 2001-01-17  Jim Meyering  <meyering@lucent.com>
20035
20036         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
20037         for autoconf-2.49c.
20038         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
20039
20040 2001-01-16  Jim Meyering  <meyering@lucent.com>
20041
20042         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
20043         From Bruno Haible.
20044
20045 2001-01-14  Jim Meyering  <meyering@lucent.com>
20046
20047         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
20048         foo and bar.  Create conftestdir/ in the script, not in the C code.
20049         Remove directories in the script, not in the C code.
20050         Remove conftestdir{,2} before trying to create the directory.
20051         Make the entire configure script fail if the mkdir fails.
20052
20053 2001-01-14  Jim Meyering  <meyering@lucent.com>
20054
20055         * lib/rename.c: New file.  From Volker Borchert.
20056         Include stdlib.h, string.h or strings.h, and xalloc.h.
20057         Use strip_trailing_slashes rather than open-coding it.
20058
20059 2001-01-03  Paul Eggert  <eggert@twinsun.com>
20060
20061         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
20062
20063 2001-01-03  Jim Meyering  <meyering@lucent.com>
20064
20065         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
20066         of local `inptr' to avoid warning with some system declarations of
20067         iconv.
20068
20069 2001-01-02  Volker Borchert  <bt@teknon.de>
20070
20071         * m4/rename.m4: New file.
20072         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
20073
20074 2001-01-01  Jim Meyering  <meyering@lucent.com>
20075
20076         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
20077         even on systems with utmpx.h.  It's necessary for the declaration of
20078         utmp's ut_user member.  Reported by Andreas Jaeger.
20079
20080         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
20081         available. They are required for the declarations of getgrgid and
20082         getpwuid resp.
20083         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
20084         Reported by Andreas Jaeger.
20085
20086 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
20087
20088         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
20089         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
20090         so `make install' also works in VPATH builds.
20091
20092 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
20093
20094         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
20095         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
20096         can be used in subdirectories.
20097
20098 2000-12-29  Paul Eggert  <eggert@twinsun.com>
20099
20100         * lib/modechange.c: Do not assume that mode_t uses the
20101         traditional octal encoding.  E.g. "chmod 1 FOO" should set
20102         the other-execute bit of FOO even if S_IXOTH != 1.
20103
20104         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
20105         WOTH, XOTH, ALLM): New macros.
20106         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
20107          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
20108         Use them.
20109         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
20110         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
20111         (mode_compile):
20112         No need to use uintmax_t; unsigned long is long enough.
20113         Don't bother to get suffix since we don't use it.
20114
20115 2000-12-26  Jim Meyering  <meyering@lucent.com>
20116
20117         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
20118         better with autoheader.
20119
20120 2000-12-24  Jim Meyering  <meyering@lucent.com>
20121
20122         * lib/hash.c (is_prime): Return explicit boolean values.
20123         (hash_get_first): Return NULL to appease Irix5.6's 89.
20124         Reported by Nelson Beebe.
20125
20126 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
20127
20128         * lib/localcharset.c (locale_charset): Add support for Win32.
20129
20130 2000-12-18  Paul Eggert  <eggert@twinsun.com>
20131
20132         * lib/physmem.h, physmem.c: New files.
20133
20134         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
20135         (noinst_HEADERS): Add physmem.h.
20136
20137         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
20138         't' for compatibility with Solaris 8 sort.
20139
20140 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
20141
20142         * lib/config.charset: Add support for BeOS.
20143
20144 2000-12-17  Jim Meyering  <meyering@lucent.com>
20145
20146         * m4/dos.m4 (jm_AC_DOS): New file and macro.
20147         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
20148
20149 2000-12-16  Jim Meyering  <meyering@lucent.com>
20150
20151         This bug had a serious impact on chown: `chown N:M FILE' (for integer
20152         N and M) would have treated it like `chown N:N FILE'.
20153
20154         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
20155
20156 2000-12-16  Jim Meyering  <meyering@lucent.com>
20157
20158         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
20159         SHELLS_FILE to a file name that's useful on djgpp systems.
20160         Include stdlib.h.
20161         (ADDITIONAL_DEFAULT_SHELLS): Define.
20162         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
20163         Based mostly on a patch from Prashant TR.
20164
20165 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
20166
20167         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
20168         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
20169         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
20170
20171 2000-12-08  Andreas Schwab  <schwab@suse.de>
20172
20173         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
20174         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
20175
20176 2000-12-07  Jim Meyering  <meyering@lucent.com>
20177
20178         * lib/stripslash.c (ISSLASH): Define.
20179         (strip_trailing_slashes): Use ISSLASH rather than comparing against
20180         `/'.
20181         From Prashant TR.
20182
20183         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
20184         (dir_name_r): Declare this function as static.
20185         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
20186         manifest itself on a name containing a mix of slashes and
20187         backslashes.
20188         Make this function work with names starting with a DOS-style
20189         drive letter and colon prefix.
20190         (dir_name): Append `.' if necessary.
20191         Based mostly on patches from Prashant TR and Eli Zaretskii.
20192
20193         * lib/dirname.h (dir_name_r): Remove prototype.
20194
20195 2000-12-06  Paul Eggert  <eggert@twinsun.com>
20196
20197         * m4/off_t-format.m4: Remove this file.
20198         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
20199
20200 2000-12-06  Jim Meyering  <meyering@lucent.com>
20201
20202         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
20203         replacement strtoull, we may well need the replacement strtoul, too.
20204         Check for declarations of strtoul and strtoull.
20205         Check for strtol.  Mainly as a cue to cause automake to include
20206         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
20207         Check for limits.h -- strtol.c needs it.
20208
20209 2000-12-05  Jim Meyering  <meyering@lucent.com>
20210
20211         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
20212
20213 2000-12-04  Jim Meyering  <meyering@lucent.com>
20214
20215         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
20216         Also include memory.h, stdlib.h, unistd.h if appropriate.
20217         Reported by Andreas Jaeger (conflicting declaration of malloc).
20218
20219 2000-12-02  Jim Meyering  <meyering@lucent.com>
20220
20221         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
20222         * m4/jm-macros.m4 (jm_MACROS): require it.
20223
20224 2000-12-02  Jim Meyering  <meyering@lucent.com>
20225
20226         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
20227
20228 2000-12-01  Paul Eggert  <eggert@twinsun.com>
20229
20230         * lib/memrchr.c: Include <config.h> before any system include file.
20231
20232 2000-11-30  Jim Meyering  <meyering@lucent.com>
20233
20234         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
20235
20236 2000-11-30  Jim Meyering  <meyering@lucent.com>
20237
20238         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
20239
20240 2000-11-29  Paul Eggert  <eggert@twinsun.com>
20241
20242         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
20243
20244 2000-11-26  Jim Meyering  <meyering@lucent.com>
20245
20246         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
20247
20248 2000-11-22  Paul Eggert  <eggert@twinsun.com>
20249
20250         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
20251         size of (size_t) -1; it's not portable.
20252
20253 2000-11-17  Jim Meyering  <meyering@lucent.com>
20254
20255         * lib/strstr.c: Update from GNU libc.
20256
20257 2000-11-17  Akim Demaille  <akim@epita.fr>
20258
20259         * lib/obstack.h: Formatting changes.
20260         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
20261         prevent type checking.
20262         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
20263         cast the value to (void *): assigning a `foo *' to a `void *'
20264         variable is valid.
20265         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
20266
20267 2000-11-16  Jim Meyering  <meyering@lucent.com>
20268
20269         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
20270
20271 2000-11-11  Jim Meyering  <meyering@lucent.com>
20272
20273         * lib/error.c: Add a couple #includes, merging from GNU libc version.
20274
20275 2000-11-10  Jim Meyering  <meyering@lucent.com>
20276
20277         * lib/obstack.h: Update from GNU libc.
20278         * lib/obstack.c: Likewise.
20279
20280 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
20281
20282         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
20283
20284 2000-11-06  Paul Eggert  <eggert@twinsun.com>
20285
20286         * lib/getusershell.c (setusershell): Use rewind rather than
20287         fseek/fseeko, to avoid configuration hassles with fseeko.
20288         Don't bother opening SHELLS_FILE if shellstream is NULL;
20289         it's not necessary.
20290
20291 2000-11-05  Jim Meyering  <meyering@lucent.com>
20292
20293         * lib/makepath.h (make_dir): Declare.
20294         * lib/makepath.c (make_dir): Remove `static' attribute.
20295         Tweak a comment.
20296
20297 2000-11-04  Jim Meyering  <meyering@lucent.com>
20298
20299         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
20300
20301 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
20302
20303         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
20304         last one in a bucket, advance to the next bucket.
20305
20306 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
20307
20308         * lib/fnmatch.c: Do not comment out all the code if we are using
20309         the GNU C library, because in some cases we are replacing buggy
20310         code in the GNU C library itself.
20311
20312 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
20313
20314         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
20315         (regex_compile): Catch bogus \(\1\).
20316
20317 2000-10-30  Paul Eggert  <eggert@twinsun.com>
20318
20319         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
20320         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
20321         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
20322
20323 2000-10-30  Paul Eggert  <eggert@twinsun.com>
20324
20325         * lib/error.h, getline.h, modechange.h:
20326         Remove "2000" from Copyright line, as the file hasn't been
20327         changed this year other than in the copyright notice.
20328
20329         * lib/xalloc.h: Add "2000" to Copyright line, as this file
20330         was changed this year.
20331
20332 2000-10-29  Jim Meyering  <meyering@lucent.com>
20333
20334         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
20335         renaming.
20336         * m4/ls-mntd-fs.m4: Likewise
20337
20338 2000-10-29  Jim Meyering  <meyering@lucent.com>
20339
20340         * lib/xstat.in: Fix grammar in comment.
20341
20342 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
20343
20344         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
20345         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
20346         doesn't define __restrict_arr.
20347
20348 2000-10-28  Jim Meyering  <meyering@lucent.com>
20349
20350         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
20351         (jm_PREREQ_MEMCHR): New function.
20352
20353 2000-10-28  Jim Meyering  <meyering@lucent.com>
20354
20355         * lib/memchr.c: Update from libc.
20356         Adjust for portability:
20357         [HAVE_STDLIB_H]: Include stdlib.h.
20358         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
20359         Undef __memchr, too.
20360         [!weak_alias]: Define __memchr to memchr.
20361
20362         * lib/regex.c: Update from libc.
20363         * lib/regex.h: Likewise.
20364         * lib/getopt1.c: Likewise.
20365         * lib/memcmp.c: Likewise.
20366
20367         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
20368         Avoid using fseek, when possible -- it's broken by design.
20369         Patch by Ulrich Drepper.
20370
20371 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
20372
20373         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
20374         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
20375         Giving in to popular pressure to shut up the compiler with casts.
20376
20377 2000-10-26  Jim Meyering  <meyering@lucent.com>
20378
20379         * lib/strftime.c: Update from libc.
20380
20381 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
20382
20383         * regex.c: More `unsigned char' -> `re_char' changes.
20384         Also change several `int' into `re_wchar_t'.
20385         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
20386         (PUSH_FAILURE_POINTER): Don't cast any more.
20387         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
20388         We want GCC to complain, since this piece of code makes
20389         re_match non-reentrant, which *should* be fixed.
20390         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
20391         (EXTEND_BUFFER): Use RETALLOC.
20392         (SET_LIST_BIT): Don't cast.
20393         (re_wchar_t): New type.
20394         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
20395         that those two functions will always properly return.
20396         (IMMEDIATE_QUIT_CHECK): Cast to void.
20397         (analyse_first): Use recursion rather than an explicit stack.
20398         (re_compile_fastmap): Can't fail anymore.
20399         (re_search_2): Don't check re_compile_fastmap for failure.
20400         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
20401         Now also sets the new value (passed in a new argument).
20402         (re_match_2_internal): Use it.
20403         Also, use a new var `reg' of type size_t when looping through regs
20404         rather than reuse the inappropriate `mcnt'.
20405
20406 2000-10-25  Jim Meyering  <meyering@lucent.com>
20407
20408         * lib/obstack.c: Update from libc.
20409
20410 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
20411
20412         * regex.c (regex_compile): Change the way of handling a range from
20413         a char less than 256 to a char not less than 256.
20414
20415 2000-10-24  Andrew Innes  <andrewi@gnu.org>
20416
20417         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
20418         NT-Emacs only.
20419         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
20420         so that re_search functions only quit when callers expect them to.
20421
20422 2000-10-23  Jim Meyering  <meyering@lucent.com>
20423
20424         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
20425         wrong.  That set_locale call must not have any side effects.
20426         From Paul Eggert.
20427
20428 2000-10-22  Jim Meyering  <meyering@lucent.com>
20429
20430         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
20431         [CYCLIC]: Remove now-unused definition.
20432
20433         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
20434         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
20435         Suggestion from Ulrich Drepper.
20436
20437 2000-10-21  Jim Meyering  <meyering@lucent.com>
20438
20439         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
20440         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
20441         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
20442
20443 2000-10-21  Jim Meyering  <meyering@lucent.com>
20444
20445         * lib/dirname.c (memrchr): Declare if necessary.
20446         (dir_name): Remove the restriction that there be no
20447         trailing slashes.  Now, this code skips past them, effectively
20448         ignoring them.
20449         [TEST_DIRNAME] (main): New unit tests.
20450
20451         * lib/memrchr.c: New file from GNU libc.
20452         Undef __memrchr, too.
20453         [!weak_alias]: Define __memrchr to memrchr.
20454         Guard weak_alias use with `#ifdef weak_alias'.
20455
20456 2000-10-21  Jim Meyering  <meyering@lucent.com>
20457
20458         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
20459         (dir_name): Use dir_name_r.
20460         * lib/dirname.h (dir_name_r): Declare it.
20461
20462 2000-10-17  Jim Meyering  <meyering@lucent.com>
20463
20464         * lib/quote.h (PARAMS): Define and use.
20465         Reported by Akim Demaille.
20466
20467         * lib/getopt.c: Update from libc.
20468
20469 2000-10-16  Jim Meyering  <meyering@lucent.com>
20470
20471         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
20472         setlocale.
20473         From Jan Fedak.
20474
20475 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
20476
20477         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
20478
20479 2000-09-25  Jim Meyering  <meyering@lucent.com>
20480
20481         * lib/md5.h (rol): Define (from GnuPG).
20482
20483         * lib/sha.c: Give credit (GnuPG) where due.
20484         (M): Use rol rather than open-coding it.
20485         Add a FIXME comment.
20486
20487 2000-09-21  Jim Meyering  <meyering@lucent.com>
20488
20489         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
20490         Reported by Michael Stone.
20491
20492 2000-09-20  Jim Meyering  <meyering@lucent.com>
20493
20494         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
20495         (noinst_HEADERS): Add sha.h.
20496         Based on code from Scott G. Miller and from GnuPG.
20497
20498 2000-09-18  Jim Meyering  <meyering@lucent.com>
20499
20500         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
20501         LIBS. Otherwise, everyone ends up linking with -lelf for some
20502         configurations.
20503         Reported by Mike Stone.
20504
20505 2000-09-15  Jim Meyering  <meyering@lucent.com>
20506
20507         * lib/regex.c: Update from libc.
20508
20509 2000-09-10  Jim Meyering  <meyering@lucent.com>
20510
20511         * lib/getopt.c (_getopt_internal): Update from glibc.
20512
20513 2000-09-09  Jim Meyering  <meyering@lucent.com>
20514
20515         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
20516         think it should be used as a general replacement for isascii.
20517         * lib/fnmatch.c: Likewise.
20518         * lib/mbswidth.c: Likewise
20519         * lib/regex.c: Likewise.
20520
20521         Don't use atoi.
20522         * lib/userspec.c: Include sys/param.h and limits.h.
20523         Include xstrtol.h.
20524         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
20525         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
20526         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
20527         UID, GID.  Check range.
20528
20529 2000-09-06  Jim Meyering  <meyering@lucent.com>
20530
20531         * lib/getopt.c (_getopt_internal): Update from glibc.
20532
20533 2000-08-30  Jim Meyering  <meyering@lucent.com>
20534
20535         * lib/strftime.c: Merge in changes from GNU libc.
20536
20537 2000-08-26  Jim Meyering  <meyering@lucent.com>
20538
20539         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
20540         * m4/fpending.m4: New file.
20541
20542 2000-08-26  Jim Meyering  <meyering@lucent.com>
20543
20544         * lib/closeout.c: Include "__fpending.h".
20545         (close_stdout_status): Return right away if there's nothing to flush.
20546
20547         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
20548         * lib/__fpending.c: New file.
20549         * lib/__fpending.h: New file.
20550
20551 2000-08-20  Jim Meyering  <meyering@lucent.com>
20552
20553         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
20554         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
20555         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
20556
20557 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
20558
20559         Improve fileutils installation on systems where running
20560         programs (like install) can't be unlinked.
20561         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
20562         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
20563
20564 2000-08-07  Paul Eggert  <eggert@twinsun.com>
20565
20566         Standardize on "memory exhausted" instead of "Memory exhausted"
20567         or "virtual memory exhausted".
20568         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
20569         "virtual memory exhausted".
20570         * lib/same.c (same_name): Invoke xalloc_die instead of printing
20571         our own message.
20572         * lib/userspec.c (parse_user_spec): Likewise.
20573         * lib/bumpalloc.h: comment fix
20574         * lib/same.c, userspec.c: Include xalloc.h.
20575
20576         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
20577         not char *const and pointing to a constant array.
20578         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
20579         (xrealloc): Comment fix.
20580
20581         * lib/userspec.c (parse_user_spec):
20582         Don't translate a message until just before returning,
20583         to avoid unnecessary translation.
20584
20585 2000-08-07  Jim Meyering  <meyering@lucent.com>
20586
20587         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
20588         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
20589         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
20590         getgroups.c, gethostname.c, getopt.h, group-member.c,
20591         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
20592         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
20593         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
20594         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
20595         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
20596         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
20597         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
20598         yesno.c: Back out Copyright date changes for each file with no change
20599         this year.  This eases coordination with other programs using the same
20600         source code modules.  From Paul Eggert.
20601
20602 2000-08-06  Paul Eggert  <eggert@twinsun.com>
20603
20604         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
20605         not char, for compatibility with glibc 2.1.3 strftime.c.
20606
20607 2000-08-03  Greg McGary  <greg@mcgary.org>
20608
20609         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
20610         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
20611         (EXTEND_BUFFER): Use them.
20612
20613 2000-08-01  Jim Meyering  <meyering@lucent.com>
20614
20615         * lib/dirname.c (ISSLASH): Define.
20616         (BACKSLASH_IS_PATH_SEPARATOR): Define.
20617         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
20618         both `\' and `/' may be use as path separators.
20619         Based on a patch from Prashant TR.
20620
20621 2000-07-31  Paul Eggert  <eggert@twinsun.com>
20622
20623         * lib/quotearg.c (quotearg_n_options): Don't make the initial
20624         slot vector a constant, since it might get modified.
20625
20626 2000-07-31  Jim Meyering  <meyering@lucent.com>
20627
20628         * lib/xmalloc.c: Use `virtual memory exhausted', not
20629         `Memory exhausted'.
20630         * lib/obstack.c (print_and_abort): Likewise.
20631
20632 2000-07-30  Paul Eggert  <eggert@twinsun.com>
20633
20634         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
20635         buffer, so that the caller can always quote one small
20636         component of a "memory exhausted" message in slot 0.
20637         From a suggestion by Jim Meyering.
20638
20639 2000-07-30  Jim Meyering  <meyering@lucent.com>
20640
20641         * lib/makepath.c (make_path): Quote the other instance, too.
20642
20643         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
20644         (STATIC_BUF_SIZE): Define.
20645         (quotearg_n_options): Use only statically allocated storage when
20646         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
20647         than STATIC_BUF_SIZE.
20648
20649 2000-07-29  Jim Meyering  <meyering@lucent.com>
20650
20651         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
20652         * lib/dirname.c (dir_name): Likewise.
20653
20654         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
20655         `/'.
20656
20657         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
20658         (dir_name): Assert that there are no trailing slashes.
20659
20660 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
20661
20662         * lib/mbswidth.h (mbswidth): Add a flags argument.
20663         (mbswidth): New declaration.
20664         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
20665         * lib/mbswidth.c (mbswidth): Add a flags argument.
20666         (mbsnwidth): New function.
20667
20668 2000-07-24  Jim Meyering  <meyering@lucent.com>
20669
20670         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
20671
20672 2000-07-23  Paul Eggert  <eggert@twinsun.com>
20673
20674         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
20675
20676 2000-07-23  Paul Eggert  <eggert@twinsun.com>
20677
20678         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
20679         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
20680         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
20681         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
20682         invoke multibyte primitives.
20683
20684 2000-07-23  Paul Eggert  <eggert@twinsun.com>
20685
20686         * lib/quotearg.c:
20687         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
20688         so that mbstate_t is always defined.
20689
20690         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
20691         be 1 in at least one GCC installation, and this configuration
20692         error is likely to be common.  Ignoring MB_LEN_MAX hurts
20693         performance on hosts that have mbrtowc but have only unibyte
20694         locales, but I assume these hosts are rare.
20695
20696 2000-07-23  Paul Eggert  <eggert@twinsun.com>
20697
20698         * lib/mbswidth.c (_XOPEN_SOURCE):
20699         Don't define; this causes problems on Solaris 7.
20700         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
20701
20702 2000-07-23  Jim Meyering  <meyering@lucent.com>
20703
20704         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
20705         too: getgrgid, getpwuid, getuid.
20706
20707 2000-07-23  Jim Meyering  <meyering@lucent.com>
20708
20709         * lib/basename.c (base_name): Add an assertion.
20710
20711 2000-07-23  Bruno Haible  <clisp.cons.org>
20712
20713         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
20714         shadow its mbsinit function.
20715
20716 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
20717
20718         * lib/mbswidth.h: New file.
20719         * lib/mbswidth.c: New file.
20720         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
20721         (noinst_HEADERS): Add mbswidth.h.
20722
20723 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
20724
20725         * lib/config.charset: Add support for FreeBSD. Improve support for
20726         HP-UX and IRIX 6.
20727
20728 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
20729
20730         * m4/mbswidth.m4: New file.
20731         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
20732
20733 2000-07-15  Jim Meyering  <meyering@lucent.com>
20734
20735         * lib/makepath.c: Include quote.h.
20736         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
20737         corresponding argument in a `quote (...)' call.
20738         Give better diagnostics.
20739
20740         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
20741         (noinst_HEADERS): Add quote.h.
20742
20743         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
20744         from tar's src/misc.c.
20745         * lib/quote.h: New file.  Prototypes for same.
20746
20747 2000-07-14  Paul Eggert  <eggert@twinsun.com>
20748
20749         From a suggestion by Bruno Haible.
20750         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
20751         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
20752         to decide whether to define the BeOS workaround macro;
20753         this adjusts to the change to AC_MBSTATE_T.
20754
20755 2000-07-14  Jim Meyering  <meyering@lucent.com>
20756
20757         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
20758         jm_AC_TYPE_UINTMAX_T.
20759
20760 2000-07-13  Paul Eggert  <eggert@twinsun.com>
20761
20762         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
20763
20764         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
20765         quotearg_buffer_restyled): Add support for
20766         clocale_quoting_style.  Undo previous change to
20767         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
20768         and "{RIGHT QUOTATION MARK}" msgids.
20769
20770 2000-07-10  Paul Eggert  <eggert@twinsun.com>
20771
20772         From a suggestion by Bruno Haible.
20773         * m4/mbstate_t.m4 (AC_MBSTATE_T):
20774         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
20775         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
20776         and mbstate_t, to a single-part test that simply defines mbstate_t.
20777         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
20778         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
20779
20780 2000-07-10  Jim Meyering  <meyering@lucent.com>
20781
20782         * m4/strerror_r.m4: Mirror the correction made in autoconf.
20783
20784         * m4/gnu-source.m4: Output to confdefs.h directly.
20785         Suggestion from Akim Demaille.
20786
20787 2000-07-09  Paul Eggert  <eggert@twinsun.com>
20788
20789         The old behavior of quoting `like this' doesn't look good with
20790         newer, ISO-style fonts.  See:
20791         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
20792
20793         Instead, quote "like this" by default.  Let the translator
20794         tailor the locale-specific quoting behavior by providing
20795         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
20796
20797         * lib/quotearg.c (N_): New macro.
20798         (gettext_default): New function.
20799         (quotearg_buffer_restyled): Use
20800         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
20801         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
20802
20803 2000-07-09  Jim Meyering  <meyering@lucent.com>
20804
20805         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
20806         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
20807
20808         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
20809         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
20810
20811 2000-07-09  Jim Meyering  <meyering@lucent.com>
20812
20813         * lib/Most files: Update copyright dates to include 2000.
20814
20815 2000-07-08  Jim Meyering  <meyering@lucent.com>
20816
20817         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
20818         if not defined.
20819         (xgethostname): Remove now-unnecessary #ifdef.
20820         Move declaration of `err' into loop where it's used.
20821
20822 2000-07-05  Paul Eggert  <eggert@twinsun.com>
20823         and Bruno Haible  <haible@clisp.cons.org>
20824
20825         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
20826         only if the test for an object-type mbstate_t fails.  This
20827         prevents us from mistakenly reporting that mbstate_t is a
20828         system object type after we "#define mbstate_t int" to work
20829         around its lack.
20830
20831 2000-07-05  Paul Eggert  <eggert@twinsun.com>
20832         and Bruno Haible  <haible@clisp.cons.org>
20833
20834         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
20835
20836 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
20837
20838         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
20839         to strerror_r.
20840         Include <ctype.h> for use of isalpha.
20841
20842 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
20843
20844         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
20845         by allocating a larger buffer. Test the gethostname return value for
20846         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
20847         returns an error and ENAMETOOLONG isn't defined.
20848
20849 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
20850
20851         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
20852         dimension.
20853
20854 2000-07-04  Jim Meyering  <meyering@lucent.com>
20855
20856         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
20857         of the deprecated AC_CHECKING.
20858
20859 2000-07-04  Jim Meyering  <meyering@lucent.com>
20860
20861         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
20862         Reported by Bruno Haible.
20863
20864 2000-07-04  Jim Meyering  <meyering@lucent.com>
20865
20866         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
20867         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
20868         lacks mbrtowc.
20869
20870 2000-07-03  Paul Eggert  <eggert@twinsun.com>
20871
20872         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
20873         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
20874
20875 2000-07-03  Paul Eggert  <eggert@twinsun.com>
20876         and Bruno Haible  <haible@clisp.cons.org>
20877
20878         * lib/quotearg.c (mbrtowc):
20879         Assign to *pwc, and return 1 only if result is nonzero.
20880         (iswprint): Use ISPRINT when substituting our own mbrtowc.
20881
20882 2000-07-03  Jim Meyering  <meyering@lucent.com>
20883
20884         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
20885
20886 2000-07-03  Jim Meyering  <meyering@lucent.com>
20887
20888         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
20889         This is necessary to get a definition of e.g., UTMP_FILE on
20890         HP-UX 10.20.
20891         From Bob Proulx.
20892
20893 2000-07-02  Jim Meyering  <meyering@lucent.com>
20894
20895         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
20896
20897         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
20898         AC_LIBOBJ(function_name).
20899         * m4/chown.m4: Likewise.
20900         * m4/fnmatch.m4: Likewise.
20901         * m4/ftruncate.m4: Likewise.
20902         * m4/getgroups.m4: Likewise.
20903         * m4/getline.m4: Likewise.
20904         * m4/group-member.m4: Likewise.
20905         * m4/jm-macros.m4: Likewise.
20906         * m4/lstat.m4: Likewise.
20907         * m4/malloc.m4: Likewise.
20908         * m4/memcmp.m4: Likewise.
20909         * m4/nanosleep.m4: Likewise.
20910         * m4/putenv.m4: Likewise.
20911         * m4/realloc.m4: Likewise.
20912         * m4/regex.m4: Likewise.
20913         * m4/stat.m4: Likewise.
20914         * m4/strftime.m4: Likewise.
20915
20916 2000-07-02  Jim Meyering  <meyering@lucent.com>
20917
20918         * lib/quotearg.c (mbstate_t): Don't define here.
20919
20920 2000-07-02  Jim Meyering  <meyering@lucent.com>
20921
20922         * lib/nanosleep.c (SIGCONT): Define if not already defined.
20923
20924 2000-07-01  Jim Meyering  <meyering@lucent.com>
20925
20926         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
20927
20928 2000-07-01  Jim Meyering  <meyering@lucent.com>
20929
20930         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
20931         problem.
20932
20933 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
20934
20935         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
20936         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
20937
20938 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
20939
20940         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
20941         per change in ../m4/ls-mntd-fs.m4.
20942         (read_filesystem_list): Ignore symbolic links.
20943
20944 2000-06-29  Jim Meyering  <meyering@lucent.com>
20945
20946         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
20947         for declaration of strcmp.
20948
20949         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
20950
20951         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
20952         Avoid warning by casting result to `char *' to remove `const'.
20953
20954 2000-06-28  Jim Meyering  <meyering@lucent.com>
20955
20956         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
20957         included by quotearg.c, for which we perform this test.  From
20958         Bruno Haible.
20959
20960 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
20961
20962         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
20963         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
20964         <utmpx.h> exists, put readutmp.o into LIBOBJS.
20965
20966 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
20967
20968         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
20969
20970 2000-06-26  Paul Eggert  <eggert@twinsun.com>
20971
20972         savedir now sets errno on failure and invokes xmalloc to get memory.
20973         Fix a couple of other minor bugs while we're at it.
20974
20975         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
20976         (NAMLEN): Remove macro.
20977         (malloc, realloc): Remove decls.
20978         (stpcpy): Likewise.
20979         ("xalloc.h"): Include.
20980         (NAME_SIZE_DEFAULT): New macro.
20981         (savedir): Use xmalloc / xrealloc to allocate memory.
20982         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
20983         Skip "" directory entries.
20984         Use strlen to calculate directory entry length, since the old method
20985         is rarely used these days and isn't worth supporting.
20986         Don't use a pointer after freeing it.
20987         Check for integer overflow when calculating allocation size.
20988         Use memcpy to copy entries, instead of stpcpy.
20989         Set errno properly when returning NULL.
20990         Check for readdir error.
20991
20992 2000-06-26  Jim Meyering  <meyering@lucent.com>
20993
20994         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
20995
20996 2000-06-25  Jim Meyering  <meyering@lucent.com>
20997
20998         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
20999         Linux header bug when _XOPEN_SOURCE is defined to 500.
21000
21001 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
21002
21003         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
21004         deficiency.
21005
21006 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
21007
21008         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
21009         Include xalloc.h.
21010         Don't include <stdlib.h>.  Don't declare malloc, realloc.
21011
21012 2000-06-24  Jim Meyering  <meyering@lucent.com>
21013
21014         * m4/strerror_r.m4: Revive this file -- to try out an experimental
21015         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
21016         for which strerror does return char*, but which lacks a conveniently
21017         accessible declaration of the function.  If the compile-test says
21018         strerror_r doesn't work, then resort to a `run'-test that works on
21019         BeOS and segfaults on DEC Unix.
21020
21021 2000-06-24  Jim Meyering  <meyering@lucent.com>
21022
21023         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
21024
21025 2000-06-23  Paul Eggert  <eggert@twinsun.com>
21026
21027         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
21028         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
21029
21030 2000-06-23  Paul Eggert  <eggert@twinsun.com>
21031
21032         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
21033         (mbrtowc, mbstate_t): Define substitutes if
21034         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
21035         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
21036         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
21037
21038 2000-06-23  Jim Meyering  <meyering@lucent.com>
21039
21040         * m4/afs.m4: Add missing AC_MSG_RESULT.
21041         Reported by Bruno Haible.
21042
21043         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
21044         Suggestion from Bruno Haible.
21045
21046 2000-06-23  Jim Meyering  <meyering@lucent.com>
21047
21048         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
21049
21050 2000-06-21  Jim Meyering  <meyering@lucent.com>
21051
21052         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
21053
21054 2000-06-21  Jim Meyering  <meyering@lucent.com>
21055
21056         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
21057         (noinst_HEADERS): Add getstr.h.
21058
21059         * lib/getline.c (getstr): Move into a separate file.
21060         * lib/getstr.c (getstr): New file, extracted from getline.c, with
21061         the following changes: new parameter, delim2; both delim[12]
21062         parameters have type `int', not `char'.  The latter would lose
21063         with 8-bit delimiters.
21064         * lib/getstr.h: New file.
21065
21066 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
21067
21068         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
21069         than 1024, return a memory chunk of least possible size, instead
21070         of size PATH_MAX + 2. In the loop, increment the size proportionally.
21071         Use free/xmalloc instead of xrealloc to avoid copying for very long
21072         paths.
21073
21074 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
21075
21076         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
21077         the empty string.
21078
21079 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
21080
21081         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
21082         address, not strdup.  Include <stdlib.h> and don't declare free().
21083
21084 2000-06-19  Jim Meyering  <meyering@lucent.com>
21085
21086         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
21087
21088 2000-06-18  Jim Meyering  <meyering@lucent.com>
21089
21090         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
21091
21092         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
21093         `checking whether...' message to be consistent with that of the
21094         lstat test.
21095
21096 2000-06-18  Jim Meyering  <meyering@lucent.com>
21097
21098         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
21099         Besides, these days every porting target provides a mkdir function.
21100
21101         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
21102         needed. (this snippet comes from src/system.h).
21103
21104 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
21105
21106         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
21107
21108 2000-06-15  Paul Eggert  <eggert@twinsun.com>
21109
21110         * lib/human.c (adjust_value): New function.
21111         (human_readable_inexact): Apply rounding style even when
21112         printing approximate values.
21113
21114 2000-06-14  Paul Eggert  <eggert@twinsun.com>
21115
21116         * lib/human.c (human_readable_inexact): Allow an input block
21117         size that is not a multiple of the output block size, and vice versa.
21118         Reported by Piergiorgio Sartor.
21119
21120 2000-06-14  Paul Eggert  <eggert@twinsun.com>
21121
21122         * lib/getdate.y (get_date): Apply relative times after time
21123         zone indicator, not before.  Reported by Todd A. Jacobs.
21124
21125 2000-06-13  Jim Meyering  <meyering@lucent.com>
21126
21127         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
21128
21129         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
21130
21131 2000-06-12  Paul Eggert  <eggert@twinsun.com>
21132
21133         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
21134
21135 2000-06-12  Jim Meyering  <meyering@lucent.com>
21136
21137         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
21138         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
21139         optional argument.
21140         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
21141         the optional argument, `lib'.
21142
21143 2000-06-08  Jim Meyering  <meyering@lucent.com>
21144
21145         * m4/largefile.m4: Remove file (now that it's part of autoconf).
21146
21147 2000-06-04  Paul Eggert  <eggert@twinsun.com>
21148
21149         Rewrite largefile configuration so that we don't need to run
21150         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
21151         AC_CANONICAL_HOST in configure.in -- jmm]
21152
21153         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
21154         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
21155         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
21156         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
21157         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
21158         All uses changed.
21159         Instead of inspecting the output of getconf, try to compile the
21160         test program without and with the macro definition.
21161         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
21162         for getconf.  Instead, check for the needed flags by compiling
21163         test programs.
21164
21165 2000-06-04  Paul Eggert  <eggert@twinsun.com>
21166
21167         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
21168
21169 2000-06-04  Jim Meyering  <meyering@lucent.com>
21170
21171         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
21172         SunOS 4.1.4 for which gid_t is an unsigned type.
21173
21174 2000-06-03  Jim Meyering  <meyering@lucent.com>
21175
21176         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
21177         now that autoconf requires that.
21178
21179         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
21180         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
21181         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
21182
21183 2000-06-03  Jim Meyering  <meyering@lucent.com>
21184
21185         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
21186
21187 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
21188
21189         * m4/glibc21.m4: New file.
21190         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
21191
21192 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
21193
21194         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
21195         newer, don't install charset.alias.
21196         * lib/config.charset: Change the Linux/glibc rules so they become empty
21197         on glibc-2.1 or newer.
21198
21199 2000-06-02  Jim Meyering  <meyering@lucent.com>
21200
21201         * lib/mountlist.c: Back out last change.  Instead, do this...
21202         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
21203         me_dummy member using the same `ignore'-testing code.
21204         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
21205         fs_type strings.
21206         From Mark D. Roth.
21207
21208 2000-05-29  Jim Meyering  <meyering@lucent.com>
21209
21210         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
21211         mounts with the `ignore' attribute.  Based on a patch from
21212         Mark D. Roth.
21213
21214 2000-05-28  Jim Meyering  <meyering@lucent.com>
21215
21216         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
21217         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
21218         * m4/stat.m4: Likewise.
21219         * m4/lstat.m4: Likewise.
21220         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
21221
21222         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
21223         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
21224
21225 2000-05-26  Jim Meyering  <meyering@lucent.com>
21226
21227         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
21228
21229 2000-05-24  Jim Meyering  <meyering@lucent.com>
21230
21231         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
21232         autoconf requires that.
21233         * m4/lib-check.m4: Likewise.
21234         * m4/jm-macros.m4: Likewise.
21235         * m4/strftime.m4: Likewise.
21236
21237         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
21238         AC_CHECK_DECLS, now that autoconf requires that.
21239
21240 2000-05-22  Jim Meyering  <meyering@lucent.com>
21241
21242         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
21243         * m4/lstat.m4: Likewise.
21244
21245 2000-05-22  Jim Meyering  <meyering@lucent.com>
21246
21247         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
21248
21249 2000-05-20  Jim Meyering  <meyering@lucent.com>
21250
21251         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
21252         (jm_PREREQ): Use it.
21253
21254 2000-05-18  Jim Meyering  <meyering@lucent.com>
21255
21256         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
21257         back, too, since it may have been modified by allocate_entry.
21258         (hash_delete): Rewrite to use neither the assignment operator
21259         nor the comma operator in an if-expression.
21260
21261 2000-05-15  Paul Eggert  <eggert@twinsun.com>
21262
21263         * lib/closeout.c:
21264         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
21265         Remove; no longer needed.
21266         "quotearg.h": Add include.
21267         (file_name): Do not bother to explicitly initialize to NULL; it's less
21268         efficient on some hosts.
21269         (close_stdout_status): Remove test as to whether stdout was already
21270         closed; it breaks for the case "echo x | sort >&-".
21271         Quote file name colons.
21272         Do not assume that _("write error") lacks format strings.
21273
21274 2000-05-15  Jim Meyering  <meyering@lucent.com>
21275
21276         * lib/version-etc.c (version_etc_copyright): Update the copyright
21277         string used in all --version output.
21278
21279 2000-05-14  Jim Meyering  <meyering@lucent.com>
21280
21281         * lib/closeout.c (close_stdout_set_file_name): New function.
21282         (close_stdout_status): Use new file-scoped global.
21283         Return right away if fstat says the stdout file descriptor is invalid.
21284         * lib/closeout.h (close_stdout_set_file_name): Declare.
21285
21286 2000-05-10  Jim Meyering  <meyering@lucent.com>
21287
21288         * lib/closeout.c [default_exit_status]: New file-scoped variable.
21289         (close_stdout_set_status): New function.
21290         * lib/closeout.h (close_stdout_set_status): Declare.
21291
21292 2000-05-09  Jim Meyering  <meyering@lucent.com>
21293
21294         * m4/gettext.m4: Rename this...
21295         * m4/libintl.m4: ...to this.
21296
21297 2000-05-08  Jim Meyering  <meyering@lucent.com>
21298
21299         * lib/long-options.c: Don't include closeout.h.
21300         (parse_long_options): Don't call close_stdout for --version.
21301
21302 2000-05-06  Paul Eggert  <eggert@twinsun.com>
21303
21304         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
21305         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
21306         2.1.3 bug.  This avoids a clash when files like regex.c define
21307         _GNU_SOURCE.
21308
21309 2000-05-06  Jim Meyering  <meyering@lucent.com>
21310
21311         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
21312         (AC_REPLACE_FUNCS): Add strnlen.
21313
21314         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
21315         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
21316
21317         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
21318         AC_SEARCH_LIBS call for nanosleep.
21319         (LIB_NANOSLEEP): Set and AC_SUBST.
21320
21321 2000-05-06  Jim Meyering  <meyering@lucent.com>
21322
21323         * lib/strnlen.c: Undefine __strnlen and strnlen.
21324         [!weak_alias]: Define __strnlen to strnlen.
21325
21326         * lib/atexit.c: New file, from libiberty.
21327
21328 2000-05-06  Jim Meyering  <meyering@lucent.com>
21329
21330         * lib/closeout.c (close_stdout_status): Also check for errors on the
21331         stderr stream.
21332
21333 2000-05-05  Jim Meyering  <meyering@lucent.com>
21334
21335         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
21336         AC_SEARCH_LIBS call for clock_gettime.
21337         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
21338
21339         * m4/search-libs.m4: Update from autoconf.
21340
21341         su doesn't work on Solaris 2.6.
21342         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
21343         <shadow.h>.  Reported by Dragos Harabor.
21344
21345 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
21346
21347         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
21348         memcpy instead of xmalloc, xrealloc, path_concat.
21349         (locale_charset): Treat empty environment variables as absent.
21350         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
21351
21352 2000-05-04  Jim Meyering  <meyering@lucent.com>
21353
21354         * lib/getopt.c: Update from glibc.
21355         * lib/obstack.c: Likewise.
21356         * lib/obstack.h: Likewise.
21357         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
21358         file
21359
21360         * lib/regex.h: Likewise.
21361         * lib/strndup.c: Likewise.
21362         * lib/strnlen.c: New file, from glibc.
21363
21364 2000-05-03  Jim Meyering  <meyering@lucent.com>
21365
21366         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
21367
21368 2000-05-02  Paul Eggert  <eggert@twinsun.com>
21369
21370         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
21371         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
21372         compile-time test, rather than inspecting host and OS, to
21373         decide whether to define _LARGEFILE_SOURCE.
21374
21375 2000-05-01  Jim Meyering  <meyering@lucent.com>
21376
21377         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
21378
21379         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
21380         Based on a patch from Bruno Haible.
21381
21382 2000-05-01  Jim Meyering  <meyering@lucent.com>
21383
21384         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
21385
21386 2000-04-29  Jim Meyering  <meyering@lucent.com>
21387
21388         * lib/path-concat.c: Declare strdup only if it's not defined.
21389         * lib/canon-host.c: Likewise.
21390
21391 2000-04-28  Jim Meyering  <meyering@lucent.com>
21392
21393         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
21394         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
21395         is included first, then limits.h is included by locale.h by libintl.h.
21396         From John David Anglin.
21397
21398 2000-04-25  Jim Meyering  <meyering@lucent.com>
21399
21400         * lib/makepath.c (S_IRWXUGO): Define.
21401         (make_path): Always perform explicit chmod if MODE specifies any
21402         of the `special' permission bits.  Prompted by a bug report against
21403         install from Mate Wierdl and Joost van Baal.
21404
21405 2000-04-18  Jim Meyering  <meyering@lucent.com>
21406
21407         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
21408         (jm_PREREQ): Use it.
21409
21410 2000-04-18  Jim Meyering  <meyering@lucent.com>
21411
21412         * lib/README: New file.
21413
21414         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
21415         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
21416
21417 2000-04-17  Jim Meyering  <meyering@lucent.com>
21418
21419         Get it right :-)
21420         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
21421         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
21422         Suggestion from Akim Demaille.
21423
21424 2000-04-17  Jim Meyering  <meyering@lucent.com>
21425
21426         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
21427         the definition of it to rpl_strftime also defined-away the system's
21428         declaration.
21429
21430 2000-04-15  Jim Meyering  <meyering@lucent.com>
21431
21432         Use `C' to denote so-called `contiguous' files, the same way
21433         that tar does.
21434         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
21435         (ftypelet): Use S_ISCTG.
21436         From Michael Deutschmann.
21437
21438 2000-04-14  Jim Meyering  <meyering@lucent.com>
21439
21440         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
21441         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
21442         clobbered.
21443
21444 2000-04-14  Jim Meyering  <meyering@lucent.com>
21445
21446         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
21447
21448 2000-04-13  Jim Meyering  <meyering@lucent.com>
21449
21450         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
21451         AH_VERBATIM to insert required #ifndef into config.h.in.
21452         Suggestion from Akim Demaille.
21453
21454 2000-04-12  Jim Meyering  <meyering@lucent.com>
21455
21456         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
21457         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
21458         Christian Krackowizer.
21459
21460         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
21461         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
21462         (AC_SYS_LARGEFILE): Require.
21463         (AM_C_PROTOTYPES): Require.
21464
21465 2000-04-08  Jim Meyering  <meyering@lucent.com>
21466
21467         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
21468         names don't conflict.  Reported by Eli Zaretskii.
21469
21470 2000-04-07  Jim Meyering  <meyering@lucent.com>
21471
21472         * lib/putenv.c: Move inclusion of errno.h so it follows that of
21473         sys/types.h, to work around system header problems on AIX 3.2.5.
21474         From Bruno Haible.
21475
21476 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
21477
21478         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
21479         bug.  Deal with the different error behavior of Irix iconv.
21480
21481 2000-04-05  Paul Eggert  <eggert@twinsun.com>
21482
21483         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
21484         IRIX if the installer said otherwise.
21485
21486 2000-04-05  Jim Meyering  <meyering@lucent.com>
21487
21488         Portability tweaks required for ultrix4.3.
21489         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
21490         (jm_CHECK_DECLS): Add getutent to the list of functions.
21491         (_jm_DECL_HEADERS): Add utmpx.h.
21492         From John David Anglin.
21493
21494         * m4/strftime.m4: Back out the 2000-04-02 change.
21495         Instead of that change, simply undefine putenv in the test program.
21496
21497 2000-04-05  Jim Meyering  <meyering@lucent.com>
21498
21499         Portability tweaks required for ultrix4.3.
21500         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
21501         getutent.
21502         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
21503         * lib/canon-host.c: Declare strdup.
21504         * lib/path-concat.c: Likewise.
21505         From John David Anglin.
21506
21507 2000-04-04  Jim Meyering  <meyering@lucent.com>
21508
21509         Be more DOS 8.3-friendly.
21510         * lib/ref-add.sin: Renamed from ref-add.sed.in.
21511         * lib/ref-del.sin: Renamed from ref-del.sed.in.
21512         * lib/Makefile.am: Reflect renaming.
21513         Reported by Eli Zaretskii.
21514
21515         Use a temporary file name that won't clash with `charset.alias'
21516         in the DOS 8.3 name space.
21517         * lib/Makefile.am (charset_tmp): Define.
21518         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
21519         (uninstall-local): Likewise.
21520         Reported by Eli Zaretskii.
21521
21522 2000-04-03  Jim Meyering  <meyering@lucent.com>
21523
21524         * m4/gettext.m4: Fix typo in comment.
21525
21526         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
21527         textutils/configure.in).  Suggestion from Paul Eggert.
21528         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
21529
21530 2000-04-02  Paul Eggert  <eggert@twinsun.com>
21531
21532         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
21533         variable in the shell rather than using putenv, which isn't
21534         portable.  This avoids the configure-time inter-test dependency
21535         on the potentially-renamed putenv function.
21536
21537 2000-03-30  Paul Eggert  <eggert@twinsun.com>
21538
21539         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
21540         before checking struct stat.st_blksize, so that
21541         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
21542
21543 2000-03-29  Paul Eggert  <eggert@twinsun.com>
21544
21545         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
21546         since strftime.c uses HAVE_STRFTIME to decide whether to use
21547         the underlying strftime.
21548
21549 2000-03-29  Paul Eggert  <eggert@twinsun.com>
21550
21551         * lib/time/strftime.c (my_strftime): Make sure we call the system
21552         strftime, not ourselves, when invoking the underlying strftime.
21553
21554 2000-03-24  Jim Meyering  <meyering@lucent.com>
21555
21556         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
21557         (charset_alias): Define.
21558         (install-exec-local): Factor out common code.
21559         (uninstall-local): Split lines longer than 80.
21560         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
21561         (SUFFIXES): Define.
21562         (.sed.in.sed): New rule.  Don't redirect directly to $@.
21563         (CLEANFILES): Add ref-add.sed and ref-del.sed.
21564
21565 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
21566
21567         * lib/config.charset: Output a line containing "Packages using this
21568         file".
21569         * lib/ref-add.sed.in, ref-del.sed.in: New files.
21570         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
21571         ref-del.sed): New rules.
21572
21573 2000-03-17  Jim Meyering  <meyering@lucent.com>
21574
21575         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
21576         Otherwise, include <strings.h>
21577
21578 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
21579
21580         * lib/unicodeio.c (utf8_wctomb): New function.
21581         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
21582         format instead of in UCS-4 with platform dependent endianness.
21583
21584 2000-03-10  Jim Meyering  <meyering@lucent.com>
21585
21586         * m4/lib-check.m4: Look for getspnam in -lgen, too.
21587         From Marco Franzen.
21588
21589 2000-03-07  Paul Eggert  <eggert@twinsun.com>
21590
21591         * lib/savedir.c (savedir): Work even if directory size is
21592         negative; this can happen with some screwy NFS configurations.
21593
21594 2000-03-06  Jim Meyering  <meyering@lucent.com>
21595
21596         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
21597         if it's NULL (because we ran out of memory).  From Bruno Haible.
21598
21599 2000-03-05  Jim Meyering  <meyering@lucent.com>
21600
21601         * lib/localcharset.c ("path-concat.h"): Include.
21602         (get_charset_aliases): Use path_concat instead of ANSI string
21603         concatenation.
21604
21605         * lib/unicodeio.h (PARAMS): Define.
21606         Use it to guard prototype.
21607
21608 2000-03-04  Jim Meyering  <meyering@lucent.com>
21609
21610         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
21611         for lib/localcharset.c.
21612
21613 2000-03-04  Jim Meyering  <meyering@lucent.com>
21614
21615         * lib/Makefile.am (install-exec-local): Create $(libdir) before
21616         installing into it.
21617         (uninstall-local): Uncomment this rule so `make distcheck' works
21618         once again.
21619
21620         * lib/unicodeio.c (<errno.h>): Include it.
21621         (errno): Declare if not defined.
21622
21623         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
21624
21625         * lib/config.charset: New version, incorporating remarks from a linux
21626         i18n mailing list.  From Bruno Haible.
21627
21628 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
21629
21630         * m4/codeset.m4: New file.
21631         * m4/iconv.m4: New file.
21632         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
21633
21634 2000-03-03  Jim Meyering  <meyering@lucent.com>
21635
21636         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
21637
21638 2000-03-02  Jim Meyering  <meyering@lucent.com>
21639
21640         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
21641         the messages come out on separate lines.
21642
21643         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
21644         rather than jm_CHECK_DECLARATIONS.
21645         * m4/decl.m4: Remove now-unused file.
21646
21647         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
21648         geteuid.
21649
21650 2000-03-02  Jim Meyering  <meyering@lucent.com>
21651
21652         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
21653
21654 2000-03-01  Jim Meyering  <meyering@lucent.com>
21655
21656         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
21657         * lib/unicodeio.c: Likewise.
21658
21659 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
21660
21661         * lib/config.charset: New file.
21662         * lib/localcharset.c: New file.
21663         * lib/unicodeio.h, unicodeio.c: New files.
21664         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
21665         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
21666         (noinst_HEADERS): Add unicodeio.h.
21667         (all-local, install-exec-local, charset.alias): New targets.
21668
21669 2000-02-28  Paul Eggert  <eggert@twinsun.com>
21670
21671         * lib/quotearg.c (ALERT_CHAR): New macro.
21672         (quotearg_buffer_restyled): Use it.
21673
21674 2000-02-27  Jim Meyering  <meyering@lucent.com>
21675
21676         * m4/check-decl.m4: Add getenv to the list.
21677
21678 2000-02-27  Jim Meyering  <meyering@lucent.com>
21679
21680         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
21681         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
21682
21683         * lib/backupfile.c: Guard inclusion of stdlib.h with
21684         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
21685         Declare malloc if needed.
21686
21687         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
21688         `#ifndef HAVE_DECL..'
21689         now that autoconf always defines the HAVE_DECL_ symbols.
21690         * lib/human.c: Likewise.
21691         * lib/same.c: Likewise.
21692         * lib/strtoumax.c: Likewise.
21693
21694         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
21695         declaration check was not run.
21696         * lib/hash.c: Likewise.
21697         * lib/human.c: Likewise.
21698         * lib/same.c: Likewise.
21699         * lib/strtoumax.c: Likewise.
21700
21701         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
21702         `.', then first look up the entire `.'-containing string as a login
21703         name.
21704
21705 2000-02-23  Jim Meyering  <meyering@lucent.com>
21706
21707         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
21708         in place of my hack.
21709
21710 2000-02-18  Paul Eggert  <eggert@twinsun.com>
21711
21712         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
21713         (textint): New typedef.
21714         (parser_control): Member year changed from int to textint.
21715         All uses changed.
21716         (YYSTYPE): Removed; replaced by %union with int and textint members.
21717         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
21718         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
21719         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
21720         (tSNUMBER, tUNUMBER): Now of type <textintval>.
21721         (date, number, to_year): Use width of number in digits, not its value,
21722         to determine whether it's a 2-digit year, or a 2-digit time.
21723         (yylex): Store number of digits of numeric tokens.
21724         Reported by John Kendall.
21725
21726         (parser_control): Changed from struct parser_control to typedef (for
21727         consistency).  All uses changed.
21728
21729         (tID): Removed; not used.
21730         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
21731
21732 2000-02-14  Paul Eggert  <eggert@twinsun.com>
21733
21734         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
21735         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
21736
21737 2000-02-12  Jim Meyering  <meyering@lucent.com>
21738
21739         * lib/userspec.c (ISDIGIT): Define it.
21740         (isdigit): Remove definition.
21741         (is_number): Use ISDIGIT, not isdigit.
21742         <libintl.h>: Include.
21743         (_ and N_): Define.
21744         (parse_user_spec): Mark translatable strings.
21745
21746 2000-02-10  Jim Meyering  <meyering@lucent.com>
21747
21748         With these changes, nanosleep.[ch] are finally enough like the other
21749         lib/* replacement files to compile on a few more losing systems.
21750
21751         * lib/nanosleep.h: Don't include config.h.
21752         Remove prototype from declaration of nanosleep.
21753         (PARAMS): Remove now-unneeded definition.
21754         * lib/nanosleep.c: #undef nanosleep.
21755         (rpl_nanosleep): Rename from nanosleep.
21756
21757 2000-02-10  Jim Meyering  <meyering@lucent.com>
21758
21759         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
21760         gnu_nanosleep to rpl_nanosleep.
21761
21762 2000-02-09  Jim Meyering  <meyering@lucent.com>
21763
21764         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
21765         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
21766
21767 2000-02-08  Akim Demaille  <akim@epita.fr>
21768
21769         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
21770         `[' and `]' and remove uses of `changequote'.
21771         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
21772         (AC_SYS_LARGEFILE): Likewise.
21773         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
21774         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
21775         of changequote.
21776         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
21777         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
21778         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
21779         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
21780
21781 2000-02-05  Jim Meyering  <meyering@lucent.com>
21782
21783         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
21784         Remove explicit use of AC_HEADER_TIME.  It is required by
21785         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
21786         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
21787         in autoconf whereby the expansion of the latter ended up preceding
21788         the expansion of its prerequisite, AC_HEADER_TIME.
21789         Reported by Volker Borchert.
21790
21791 2000-02-03  Jim Meyering  <meyering@lucent.com>
21792
21793         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
21794
21795 2000-02-03  Jim Meyering  <meyering@lucent.com>
21796
21797         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
21798         rather than with `#if HAVE_UTMPNAME'.
21799
21800 2000-02-02  Jim Meyering  <meyering@lucent.com>
21801
21802         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
21803         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
21804         Reported by Eli Zaretskii.
21805
21806 2000-02-01  Jim Meyering  <meyering@lucent.com>
21807
21808         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
21809
21810 2000-01-31  Jim Meyering  <meyering@lucent.com>
21811
21812         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
21813         functions.  Add the time.h and sys/time.h headers along with the
21814         AC_REQUIRE'ment of AC_HEADER_TIME.
21815
21816 2000-01-31  Jim Meyering  <meyering@lucent.com>
21817
21818         * lib/nanosleep.h (nanosleep): Guard declaration with
21819         `#if ! HAVE_DECL_NANOSLEEP'.
21820         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
21821         the declaration in that vendor's sys/timers.h.
21822         Reported by Christian Krackowizer.
21823
21824         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
21825         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
21826         (ISPRINT): Likewise.
21827         Reported by Tom Tromey.
21828
21829 2000-01-30  Jim Meyering  <meyering@lucent.com>
21830
21831         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
21832
21833         * m4/prereq.m4 (utmp_includes): Define.
21834         Check for ut_user and ut_name members in both struct utmpx
21835         and struct utmp.
21836
21837 2000-01-30  Jim Meyering  <meyering@lucent.com>
21838
21839         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
21840         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
21841         header files where only utmpx.ut_user is declared.
21842
21843         * lib/readutmp.h (UT_USER): Define.
21844
21845 2000-01-29  Jim Meyering  <meyering@lucent.com>
21846
21847         * m4/lib-check.m4: New file containing library-related checks from
21848         fileutils and sh-utils (textutils had none).
21849
21850 2000-01-28  Jim Meyering  <meyering@lucent.com>
21851
21852         * m4/perl.m4: Change format of warning message to look more like that
21853         from the missing script.  Suggestion from François Pinard.
21854
21855 2000-01-25  Jim Meyering  <meyering@lucent.com>
21856
21857         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
21858         well as time.h in the compile check.
21859         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
21860         Fix typo in cross-compiling case: s/yes/no/.
21861
21862 2000-01-23  Jim Meyering  <meyering@lucent.com>
21863
21864         * m4/jm-macros.m4: Move df-related tests here from
21865         fileutils/configure.in
21866
21867         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
21868         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
21869
21870         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
21871         s/space/ac_fsusage_space/.
21872         (jm_FILE_SYSTEM_USAGE): Take two parameters.
21873
21874         * m4/ftruncate.m4: New file (derived from part of
21875         fileutils/configure.in).
21876         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
21877         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
21878
21879         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
21880         AC_SUBST these here, rather than just in sh-util/configure.in, so
21881         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
21882         all the same.
21883         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
21884         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
21885         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
21886         (AC_SUBST(POW_LIBM)): Likewise.
21887         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
21888
21889 2000-01-23  Jim Meyering  <meyering@lucent.com>
21890
21891         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
21892         obstack.c.
21893
21894 2000-01-22  Jim Meyering  <meyering@lucent.com>
21895
21896         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
21897
21898         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
21899
21900         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
21901         configure.in
21902         (AC_CHECK_HEADERS): Likewise for sh-utils.
21903         (AC_CHECK_HEADERS): Likewise for textutils.
21904         Merge the three lists of headers.
21905
21906         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
21907         from fileutils' configure.in.
21908
21909         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
21910         code. Moved tests into their own function (_jm_DECL_HEADERS) in
21911         check-decl.m4.
21912
21913         * m4/check-decl.m4: Use #if rather than #ifdef.
21914         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
21915         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
21916         (_jm_DECL_HEADERS): Define new function.
21917         (jm_CHECK_DECLARATIONS): Require it.
21918
21919 2000-01-22  Jim Meyering  <meyering@lucent.com>
21920
21921         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
21922         [! HAVE_DECL_STRTOULL]: Declare strtoull.
21923         Required for some AIX systems.  Reported by Christian Krackowizer.
21924         [TESTING] (main): New function.
21925
21926         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
21927         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
21928         letters.
21929
21930         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
21931         iswprint.
21932
21933         * lib/strverscmp.c (ISDIGIT): Define.
21934         (strverscmp): Use ISDIGIT, not isdigit.
21935
21936 2000-01-19  Jim Meyering  <meyering@lucent.com>
21937
21938         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
21939         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
21940         defines `struct timespec' in <sys/time.h>
21941
21942         * m4/c-bs-a.m4: Remove uses of changequote altogether.
21943         Thanks to Akim for explaining.
21944
21945 2000-01-17  Paul Eggert  <eggert@twinsun.com>
21946
21947         * lib/nanosleep.c (nanosleep):
21948         Don't use SA_INTERRUPT to decide whether to call sigaction, as
21949         POSIX.1 doesn't require SA_INTERRUPT and some systems
21950         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
21951         it's been part of POSIX.1 since day 1 (in 1988).
21952
21953 2000-01-17  Jim Meyering  <meyering@lucent.com>
21954
21955         * lib/interlock: Remove unused file.  Reported by François Pinard.
21956
21957 2000-01-16  Paul Eggert  <eggert@twinsun.com>
21958
21959         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
21960         alert, backslash, formfeed, and vertical tab unnecessarily in
21961         shell quoting style.
21962
21963 2000-01-16  Jim Meyering  <meyering@lucent.com>
21964
21965         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
21966         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
21967         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
21968         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
21969
21970 2000-01-16  Jim Meyering  <meyering@lucent.com>
21971
21972         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
21973         because the latter didn't work.
21974
21975 2000-01-15  Jim Meyering  <meyering@lucent.com>
21976
21977         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
21978         (AC_REPLACE_FUNCS): Add memcpy and memset.
21979         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
21980         Add strpbrk.
21981         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
21982
21983 2000-01-12  Jim Meyering  <meyering@lucent.com>
21984
21985         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
21986         (jm_PREREQ): Use it.
21987         (jm_PREREQ_READUTMP): New macro.
21988         (jm_PREREQ): Use it.
21989
21990 2000-01-11  Paul Eggert  <eggert@twinsun.com>
21991
21992         Quote multibyte characters correctly.
21993         * m4/c-bs-a.m4: New file.
21994         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
21995         (jm_PREREQ): Use it.
21996
21997 2000-01-11  Paul Eggert  <eggert@twinsun.com>
21998
21999         * m4/uintmax_t.m4: Port to autoconf 2.13.
22000
22001 2000-01-08  Jim Meyering  <meyering@ascend.com>
22002
22003         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
22004         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
22005
22006 2000-01-04  Jim Meyering  <meyering@ascend.com>
22007
22008         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
22009         jm_STRUCT_DIRENT_D_TYPE.
22010         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
22011         jm_STRUCT_DIRENT_D_INO.
22012         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
22013         jm_STRUCT_UTIMBUF.
22014         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
22015         renamings.
22016         * m4/utime.m4: Likewise.
22017
22018         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
22019         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
22020
22021 2000-01-03  Paul Eggert  <eggert@twinsun.com>
22022
22023         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
22024         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
22025
22026 2000-01-02  Jim Meyering  <meyering@ascend.com>
22027
22028         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
22029         remember if this is necessary.
22030
22031 1999-12-26  Jim Meyering  <meyering@ascend.com>
22032
22033         * m4/jm-macros.m4: Use it here.
22034         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
22035
22036 1999-12-23  Jim Meyering  <meyering@ascend.com>
22037
22038         * m4/jm-macros.m4: Check for clock_gettime (moved from
22039         fileutils/configure.in)
22040         Check for gettimeofday.
22041
22042 1999-12-20  Jim Meyering  <meyering@ascend.com>
22043
22044         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
22045         autoconf-2.14a-1999-12-20.
22046
22047 1999-12-19  Jim Meyering  <meyering@ascend.com>
22048
22049         * m4/lstat-slash.m4: New file.
22050         * m4/jm-macros.m4: Use the new macro:
22051         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
22052
22053 1999-12-07  Jim Meyering  <meyering@ascend.com>
22054
22055         * m4/perl.m4: Require that File::Compare be available, too.
22056         Too many systems seem to lack it.
22057
22058         * m4/strftime.m4: Add checks for most of the cpp macros tested in
22059         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
22060
22061 1999-11-18  Paul Eggert  <eggert@twinsun.com>
22062
22063         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
22064         problem with the QNX 4.25 shell, which doesn't propagate exit
22065         status of failed commands inside shell assignments.
22066
22067 1999-11-17  Jim Meyering  <meyering@ascend.com>
22068
22069         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
22070
22071 1999-11-07  Jim Meyering  <meyering@ascend.com>
22072
22073         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
22074
22075 1999-11-06  Jim Meyering  <meyering@ascend.com>
22076
22077         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
22078         * m4/jm-macros.m4 (jm_MACROS): Use it here.
22079
22080 1999-11-05  Jim Meyering  <meyering@ascend.com>
22081
22082         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
22083         configure.in of textutils, fileutils, and sh-utils into this one
22084         (shared between those packages) file.
22085         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
22086         AC_STRUCT_ST_BLKSIZE.
22087
22088 1999-11-03  Jim Meyering  <meyering@ascend.com>
22089
22090         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
22091         of AC_CHECK_TYPE checks includes unistd.h.
22092         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
22093         Suggestion from Akim Demaille.
22094
22095 1999-10-30  Jim Meyering  <meyering@ascend.com>
22096
22097         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
22098         m4-quoted string.
22099         * m4/ls-mntd-fs.m4: Likewise.
22100         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
22101         * m4/jm-winsz1.m4: Likewise.
22102
22103         * m4/const.m4: Remove file, since the fix made it into the experimental
22104         version of autoconf.
22105         * m4/mktime.m4: Likewise.
22106
22107         * m4/check-type.m4: Remove file, now that the latest version of
22108         AC_CHECK_TYPE takes a third arg to specify additional #includes.
22109
22110         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
22111         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
22112         AC_CHECK_TYPE.
22113
22114 1999-10-04  Jim Meyering  <meyering@ascend.com>
22115
22116         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
22117
22118 1999-09-22  Paul Eggert  <eggert@twinsun.com>
22119
22120         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
22121         2.95.1 bug with HP-UX 10.20.
22122
22123 1999-09-17  Jim Meyering  <meyering@ascend.com>
22124
22125         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
22126         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
22127         due to missing strdup (against sh-utils-2.0).
22128
22129 1999-08-29  Jim Meyering  <meyering@ascend.com>
22130
22131         * m4/jm-macros.m4: Require jm_BISON.
22132         * m4/bison.m4: New file.
22133
22134 1999-08-17  Paul Eggert  <eggert@twinsun.com>
22135
22136         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
22137         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
22138
22139 1999-08-05  Jim Meyering  <meyering@ascend.com>
22140
22141         * m4/getline.m4: Rename test file from conftestdata to conftest.data
22142         to avoid conflicts with `conftest' on 8+3 filesystems.
22143         Suggestion from Eli Zaretskii.
22144
22145 1999-08-04  Jim Meyering  <meyering@ascend.com>
22146
22147         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
22148         fileutils and sh-utils (textutils's getline test was inadequate).
22149         (AM_FUNC_GETLINE): Run this test.
22150         (AC_CHECK_FUNCS): Check for getdelim.
22151         Reported by Bob Proulx.
22152
22153 1999-08-02  Jim Meyering  <meyering@ascend.com>
22154
22155         * m4/jm-macros.m4: Add a comment.
22156
22157 1999-08-01  Paul Eggert  <eggert@twinsun.com>
22158
22159         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
22160         <inttypes.h> defines strtoumax as a macro (and not as a
22161         function).
22162
22163 1999-08-01  Paul Eggert  <eggert@twinsun.com>
22164
22165         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
22166         that we can shift, multiply and divide unsigned long long
22167         values; Ultrix cc can't do it.
22168
22169 1999-08-01  Paul Eggert  <eggert@twinsun.com>
22170
22171         * m4/mktime.m4: New file, which is a preview of what should appear
22172         in the next public autoconf release.
22173
22174 1999-08-01  Paul Eggert  <eggert@twinsun.com>
22175
22176         * m4/lfs.m4: Remove this file.
22177         * m4/largefile.m4: New file.  It contains the old contents of
22178         lfs.m4, except that all names with prefix AC_LFS have been
22179         changed to use the prefix AC_SYS_LARGEFILE instead, to be
22180         compatible with future autoconf versions.  Also, some minor m4
22181         quoting problems have been fixed.
22182
22183 1999-08-01  Paul Eggert  <eggert@twinsun.com>
22184
22185         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
22186         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
22187         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
22188         and simplify the shell code.
22189
22190 1999-08-01  Jim Meyering  <meyering@ascend.com>
22191
22192         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
22193         m4.
22194
22195 1999-07-20  Jim Meyering  <meyering@ascend.com>
22196
22197         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
22198
22199 1999-07-15  Jim Meyering  <meyering@ascend.com>
22200
22201         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
22202
22203 1999-05-22  Jim Meyering  <meyering@ascend.com>
22204
22205         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
22206
22207 1999-05-20  Jim Meyering  <meyering@ascend.com>
22208
22209         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
22210         Add a colon after each `then' in case $4 is empty.
22211
22212 1999-05-16  Jim Meyering  <meyering@ascend.com>
22213
22214         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
22215
22216 1999-05-10  Jim Meyering  <meyering@ascend.com>
22217
22218         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
22219
22220         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
22221         AC_FUNC_MKTIME.
22222
22223 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
22224
22225         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
22226
22227 1999-05-04  Paul Eggert  <eggert@twinsun.com>
22228
22229         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
22230         not CPPFLAGS, so that linking works correctly in IRIX.
22231
22232 1999-04-30  Paul Eggert  <eggert@twinsun.com>
22233
22234         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
22235
22236 1999-04-20  Paul Eggert  <eggert@twinsun.com>
22237
22238         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
22239         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
22240         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
22241         jm_AC_TYPE_UNSIGNED_LONG_LONG.
22242         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
22243
22244         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
22245
22246 1999-04-20  Jim Meyering  <meyering@ascend.com>
22247
22248         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
22249         AC_REPLACE xstroull if necessary.  From Paul Eggert.
22250         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
22251
22252 1999-04-18  Jim Meyering  <meyering@ascend.com>
22253
22254         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
22255         * m4/jm-macros.m4: Use it.
22256
22257 1999-04-06  Jim Meyering  <meyering@ascend.com>
22258
22259         * m4/strftime.m4: Remove test for %f.
22260
22261 1999-03-29  Jim Meyering  <meyering@ascend.com>
22262
22263         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
22264         superset of the AC_TYPE_* checks in the textutils, fileutils,
22265         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
22266         AC_TYPE_PID_T.
22267
22268 1999-03-28  Jim Meyering  <meyering@ascend.com>
22269
22270         * m4/jm-macros.m4: Define GNU_PACKAGE here.
22271         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
22272         replaced e.g., in the *.sh files of the sh-utils.
22273
22274 1999-03-20  Jim Meyering  <meyering@ascend.com>
22275
22276         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
22277         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
22278         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
22279
22280 1999-03-19  Jim Meyering  <meyering@ascend.com>
22281
22282         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
22283
22284 1999-03-12  Jim Meyering  <meyering@ascend.com>
22285
22286         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
22287
22288 1999-03-07  Jim Meyering  <meyering@ascend.com>
22289
22290         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
22291         declared.
22292
22293 1999-02-17  Jim Meyering  <meyering@ascend.com>
22294
22295         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
22296         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
22297
22298 1999-02-07  Jim Meyering  <meyering@ascend.com>
22299
22300         * m4/group-member.m4: New file -- extracted from sh-utils'
22301         configure.in.
22302
22303         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
22304         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
22305
22306 1999-02-06  Jim Meyering  <meyering@ascend.com>
22307
22308         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
22309         * m4/fnmatch.m4: Likewise.
22310         * m4/getgroups.m4: Likewise.
22311         * m4/lstat.m4: Likewise.
22312         * m4/malloc.m4: Likewise.
22313         * m4/putenv.m4: Likewise.
22314         * m4/realloc.m4: Likewise.
22315         * m4/regex.m4: Likewise.
22316         * m4/stat.m4: Likewise.
22317         * m4/strftime.m4: Likewise.
22318         Suggestion from Alain Magloire.
22319
22320         * m4/chown.m4: Use `.$ac_objext', not `.o'.
22321         * m4/fnmatch.m4: Likewise.
22322         * m4/getgroups.m4: Likewise.
22323         * m4/getline.m4: Likewise.
22324         * m4/lstat.m4: Likewise.
22325         * m4/malloc.m4: Likewise.
22326         * m4/memcmp.m4: Likewise.
22327         * m4/putenv.m4: Likewise.
22328         * m4/realloc.m4: Likewise.
22329         * m4/regex.m4: Likewise.
22330         * m4/stat.m4: Likewise.
22331         * m4/strftime.m4: Likewise.
22332         Suggestion from Alain Magloire.
22333
22334         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
22335         an argument.
22336
22337         * m4/regex.m4: Add a run-time Test for proper operation of
22338         re_compile_pattern.
22339
22340 1999-01-31  Jim Meyering  <meyering@ascend.com>
22341
22342         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
22343
22344 1999-01-30  Jim Meyering  <meyering@ascend.com>
22345
22346         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
22347
22348         * m4/jm-mktime.m4: Make this a wrapper around the official
22349         AM_FUNC_MKTIME rather than my private copy, now that the official one
22350         is up to date.
22351         * m4/mktime.m4: Remove file.
22352
22353         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
22354         * m4/uptime.m4: Likewise.
22355         * m4/uintmax_t.m4: Likewise.
22356
22357 1999-01-28  Jim Meyering  <meyering@ascend.com>
22358
22359         * m4/jm-macros.m4: Use jm_AFS.
22360         * m4/afs.m4: New file (from fileutils' configure.in).
22361
22362         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
22363         * m4/chown.m4: Likewise.
22364         * m4/d-ino.m4: Likewise.
22365         * m4/d-type.m4: Likewise.
22366         * m4/fnmatch.m4: Likewise.
22367         * m4/getgroups.m4: Likewise.
22368         * m4/gettext.m4: Likewise.
22369         * m4/jm-mktime.m4: Likewise.
22370         * m4/jm-winsz2.m4: Likewise.
22371         * m4/lcmessage.m4: Likewise.
22372         * m4/ls-mntd-fs.m4: Likewise.
22373         * m4/malloc.m4: Likewise.
22374         * m4/memcmp.m4: Likewise.
22375         * m4/putenv.m4: Likewise.
22376         * m4/realloc.m4: Likewise.
22377         * m4/st_mtim.m4: Likewise.
22378         * m4/strftime.m4: Likewise.
22379
22380 1999-01-16  Jim Meyering  <meyering@ascend.com>
22381
22382         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
22383         (ARGMATCH_DIE_DECL): Define.
22384
22385 1999-01-12  Jim Meyering  <meyering@ascend.com>
22386
22387         * m4/Makefile.am.in: Rewrite to avoid using fmt.
22388         Reported by Lars Hecking.
22389
22390 1999-01-10  Jim Meyering  <meyering@ascend.com>
22391
22392         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
22393         gross kludge.
22394         * m4/inttypes_h.m4: Likewise.
22395         * m4/lstat.m4: Likewise.
22396         * m4/malloc.m4: Likewise.
22397         * m4/readdir.m4: Likewise.
22398         * m4/realloc.m4: Likewise.
22399         * m4/st_dm_mode.m4: Likewise.
22400         * m4/stat.m4: Likewise.
22401         * m4/utimbuf.m4: Likewise.
22402         * m4/utimes.m4: Likewise.
22403
22404         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
22405         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
22406         comments in config.h.in are meaningful.
22407
22408         * m4/jm-macros.m4: Require autoconf-2.13 here.
22409
22410         * m4/regex.m4: By default, don't use the included regex.c on systems
22411         with glibc 2.  Suggestion from Uli Drepper.
22412
22413 1999-01-02  Jim Meyering  <meyering@ascend.com>
22414
22415         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
22416
22417 1998-12-18  Jim Meyering  <meyering@ascend.com>
22418
22419         * m4/Makefile.am.in (Makefile.am): Simplify rule.
22420         Based on a suggestion from Lars Hecking.
22421
22422 1998-11-16  Paul Eggert  <eggert@twinsun.com>
22423
22424         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
22425
22426 1998-11-16  Jim Meyering  <meyering@ascend.com>
22427
22428         * m4/lfs.m4: Double-quote the `uname...` expression.
22429
22430 1998-11-14  Jim Meyering  <meyering@ascend.com>
22431
22432         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
22433         * m4/stat.m4: Likewise.
22434
22435 1998-11-03  Jim Meyering  <meyering@ascend.com>
22436
22437         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
22438         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
22439
22440 1998-10-18  Jim Meyering  <meyering@ascend.com>
22441
22442         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
22443
22444 1998-10-17  Jim Meyering  <meyering@ascend.com>
22445
22446         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
22447         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
22448         calls for those previously hard-coded headers.  Instead, take a new
22449         parameter.
22450         (jm_CHECK_DECLARATIONS): Reflect interface change.
22451         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
22452         (jm_CHECK_DECL_LOCALTIME_R): New macro.
22453
22454         * m4/mktime.m4: Test for spring-forward gap before long-running test.
22455
22456 1998-10-14  Jim Meyering  <meyering@ascend.com>
22457
22458         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
22459         instead of "TZ=America/Vancouver".  From Paul Eggert.
22460
22461 1998-10-11  Jim Meyering  <meyering@ascend.com>
22462
22463         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
22464         This adds a test for a recently added compatibility fix for mktime.c.
22465         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
22466
22467 1998-09-27  Jim Meyering  <meyering@ascend.com>
22468
22469         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
22470
22471         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
22472         ../configure.in, including a change from Gordon Matzigkeit to allow
22473         cross-compiling for the Hurd.
22474
22475         * m4/glibc.m4: New file/macro to test for the GNU C Library
22476         versions 1 and 2.  From Gordon Matzigkeit.
22477         Indent.
22478
22479 1998-09-21  Jim Meyering  <meyering@ascend.com>
22480
22481         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
22482
22483 1998-08-18  Paul Eggert  <eggert@twinsun.com>
22484
22485         Port nanosecond-resolution times to UnixWare 2.1.2 and
22486         pedantic Solaris 2.6.
22487
22488         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
22489         AC_STRUCT_ST_MTIM.
22490         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
22491         Generate name of ns member, instead of just 1 or undef.
22492         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
22493
22494 1998-08-15  Jim Meyering  <meyering@ascend.com>
22495
22496         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
22497         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
22498         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
22499         instead of jm_TYPE_SSIZE_T.
22500
22501 1998-08-12  Jim Meyering  <meyering@ascend.com>
22502
22503         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
22504
22505 1998-08-02  Jim Meyering  <meyering@ascend.com>
22506
22507         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
22508         in acconfig.h manually.
22509
22510 1998-07-31  Paul Eggert  <eggert@twinsun.com>
22511
22512         * m4/st_mtim.m4: New file.
22513
22514 1998-07-28  Jim Meyering  <meyering@ascend.com>
22515
22516         * m4/utimes.m4: Undef stat.
22517
22518 1998-07-25  Jim Meyering  <meyering@ascend.com>
22519
22520         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
22521         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
22522
22523 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
22524
22525         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
22526         uid and gid actually remain unchanged.
22527
22528 1998-07-07  Jim Meyering  <meyering@ascend.com>
22529
22530         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
22531
22532 1998-07-04  Jim Meyering  <meyering@ascend.com>
22533
22534         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
22535         to prove that this macro can be used in packages without regex.c.
22536
22537 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
22538
22539         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
22540         is to be used.
22541
22542 1998-07-03  Jim Meyering  <meyering@ascend.com>
22543
22544         * m4/gettext.m4: Add -lintl if it's found to be necessary.
22545
22546         * m4/gettext.m4: New file -- from gettext-0.10.35.
22547         * m4/lcmessage.m4: Likewise.
22548         * m4/progtest.m4: Likewise.
22549
22550         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
22551         * m4/jm-macros.m4: Require the new macro.
22552
22553 1998-06-29  Jim Meyering  <meyering@ascend.com>
22554
22555         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
22556         for the definition of NGROUPS (used in a system header included
22557         by sys/mount.h).
22558
22559 1998-06-28  Jim Meyering  <meyering@ascend.com>
22560
22561         * m4/ls-mntd-fs.m4: New file.
22562         * m4/fstypename.m4: New file.
22563
22564         * m4/jm-macros.m4: Require the new macro.
22565         * m4/jm-glibc-io.m4: New file.
22566
22567 1998-05-19  Jim Meyering  <meyering@ascend.com>
22568
22569         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
22570         * m4/lchown.m4: New file.
22571
22572         * m4/Makefile.am.in: New file.
22573         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
22574
22575 1998-05-14  Jim Meyering  <meyering@ascend.com>
22576
22577         * m4/Makefile.am (EXTRA_DIST): Add them.
22578         * m4/jm-macros.m4: New file.
22579         * m4/utimbuf.m4: New file.
22580
22581 1998-05-12  Jim Meyering  <meyering@ascend.com>
22582
22583         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
22584
22585 1998-05-11  Jim Meyering  <meyering@ascend.com>
22586
22587         * m4/isc-posix.m4: New file.
22588
22589 1998-05-10  Jim Meyering  <meyering@ascend.com>
22590
22591         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
22592
22593 1998-05-09  Jim Meyering  <meyering@ascend.com>
22594
22595         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
22596         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
22597         with automake.
22598
22599         * m4/ssize_t.m4: New file.
22600         * m4/mktime.m4: Remove file -- the new automake has this now.
22601
22602 1998-04-26  Jim Meyering  <meyering@ascend.com>
22603
22604         * m4/assert.m4: New file.
22605         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
22606
22607 1998-04-05  Jim Meyering  <meyering@ascend.com>
22608
22609         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
22610         (jm_PREREQ): Use it here.
22611
22612 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
22613
22614         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
22615         in acconfig.h.
22616
22617 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
22618
22619         * m4/prereq.m4: New file.
22620         * m4/error.m4: New file.
22621         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
22622
22623 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
22624
22625         * m4/getline.m4: Don't set am_cv_func_working_getline before the
22626         cache-check for the same variable -- that defeated the purpose of
22627         the test; the test program was never run.  This was a problem only
22628         on systems with losing getline functions -- HP-UX 10.20 is one.
22629         Reported by Bjorn Helgaas.
22630
22631 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
22632
22633         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
22634
22635 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
22636
22637         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
22638
22639         * m4/const.m4: New file.  Use an initializer in this declaration
22640         typedef int charset[2]; const charset x;
22641         Reported by Bob Glickstein.
22642
22643 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
22644
22645         * m4/chown.m4: Fix reversed types on -1 args to chown.
22646         From Kaveh Ghazi.
22647
22648 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
22649
22650         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
22651         Add lseek and memchr.
22652
22653         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
22654         T.E.Dickey <dickey@clark.net> said that some older preprocessors
22655         have a 20-character limit on names.
22656
22657 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
22658
22659         * m4/inttypes_h.m4: New file.
22660         * m4/uintmax_t.m4: New file.
22661         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
22662
22663 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
22664   Free Software Foundation, Inc.
22665 Copying and distribution of this file, with or without modification,
22666 are permitted provided the copyright notice and this notice are preserved.