845bfee3ade04767e3bc2b860093b23ec3ea73e4
[gnulib.git] / ChangeLog
1 2006-10-11  Bruno Haible  <bruno@clisp.org>
2
3         * gnulib-tool (func_usage): Make module names after --create-testdir
4         optional.
5         (func_create_testdir): If no module was specified, use nearly all
6         modules.
7
8 2006-10-12  Jim Meyering  <jim@meyering.net>
9
10         Big performance improvement for fts-based tools that use FTS_NOSTAT.
11         Avoid spurious inode-mismatch problems on non-POSIX file systems.
12         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
13         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
14         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
15         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
16         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
17         (fts_set_stat_required): New function.
18         (fts_open): Defer the calls to fts_stat, if possible or requested.
19         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
20         into fts_stat itself.
21         (fts_read): Perform any required (deferred) fts_stat call.
22         (fts_build): Likewise, for the directory we're about to open and read.
23         In the readdir loop, carefully decide whether each entry will require
24         an eventual call to fts_stat, using dirent.d_type info if available.
25         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
26         a command line argument into this function.  Update all callers.
27         Map a return value of FTS_DOT to FTS_D for a command line argument.
28         * modules/fts (Depends-on): Add d-type.  Alphabetize.
29         Thanks to Miklos Szeredi for his tenacity and for the initial
30         bug report about "find" failing on a FUSE-based file system.
31
32         * lib/fts.c (fts_open): Use consistent indentation.
33
34 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
35
36         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
37         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
38         reported by Jim Meyering.  All uses of cache variables renamed
39         to match Autoconf's.
40         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
41         the other one.
42
43         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
44         Fix misspelling in diagnostic.
45
46 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
47
48         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
49         defined.  Problem reported by Matthew Woehlke.
50
51         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
52         Add support for Tandem NonStop R series.
53         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
54         Use new macro.
55
56         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
57         (has_trailing_slash): Omit size arg; all callers changed.
58         Omit 'inline', since it doesn't help performance and we'd
59         need to configure it.
60         Don't count //, ///, etc. as having a trailing slash.
61         As a side effect, this removes a C99ism reported by Matthew Woehlke.
62         (rpl_rename_dest_slash): On failure, use rename's errno rather
63         than (in some cases) an incorrect or junk errno.
64         Simplify code by removing need to compute length; this does
65         cause it to make two passes instead of one over the file name,
66         but it's worth it.
67
68         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
69         change, since Autoconf's version may no longer be appropriate now
70         that we are using CVS Autoconf's version.  Add support for Tandem.
71
72 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
73             Bruno Haible  <bruno@clisp.org>
74
75         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
76         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
77         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
78         gl_AC_TYPE_LONG_LONG.
79
80         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
81         instead of HAVE_LONG_LONG.
82         * lib/printf-args.c (printf_fetchargs): Likewise.
83         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
84         * lib/vasnprintf.c (VASNPRINTF): Likewise.
85         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
86         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
87         gl_AC_TYPE_LONG_LONG.
88
89 2006-10-11  Bruno Haible  <bruno@clisp.org>
90
91         * m4/longlong.m4: Add comments.
92         * m4/ulonglong.m4: Likewise.
93
94 2006-10-10  Bruno Haible  <bruno@clisp.org>
95
96         Make it possible to #define stpcpy, strdup to aliases.
97         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
98         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
99
100 2006-10-10  Bruno Haible  <bruno@clisp.org>
101
102         Make it possible to #define gcd to an alias.
103         * lib/gcd.c: Include config.h.
104
105 2006-10-10  Bruno Haible  <bruno@clisp.org>
106
107         Make it possible to #define c_isascii to an alias.
108         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
109         defined. Undefine the macros before defining them, to avoid gcc
110         warnings.
111         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
112         define NO_C_CTYPE_MACROS early.
113
114 2006-10-10  Bruno Haible  <bruno@clisp.org>
115
116         Make it possible to #define set_program_name to an alias.
117         * lib/progname.c: Don't undefine set_program_name; instead, undefine
118         ENABLE_RELOCATABLE early.
119
120 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
121
122         Port to Tandem NSK OSS, which has 64-bit signed int but at most
123         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
124         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
125         More generally, don't assume that 64-bit signed int is available
126         if unsigned int is, and vice versa.
127         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
128         unsigned symbols, not on their signed counterparts.
129         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
130         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
131         (UINT64_C, UINTMAX_C):
132         Likewise.
133         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
134         unsigned counterparts.
135         (Have_long_long, Unsigned): New macros.
136         (Int): Renamed from INT.
137         (strtoimax): Use the new macros.
138         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
139         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
140         * modules/inttypes (inttypes.h): Substitute
141         HAVE_UNSIGNED_LONG_LONG_INT.
142         * modules/stdint (stdint.h): Likewise.
143         (Files): Add m4/ulonglong.m4.
144
145 2006-10-10  Bruno Haible  <bruno@clisp.org>
146
147         Fix a gcc -Wshadow warning.
148         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
149         to 'bucket'.
150         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
151         gl_linked_indexof_from_to): Likewise.
152         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
153         Likewise.
154         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
155         Likewise.
156         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
157         Reported by Eric Blake.
158
159 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
160
161         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
162         for NetBSD.  Problem reported by Bruno Haible.
163
164 2006-10-09  Jim Meyering  <jim@meyering.net>
165
166         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
167         Patch from Bruno Haible.
168
169 2006-10-09  Jim Meyering  <jim@meyering.net>
170
171         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
172         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
173         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
174
175 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
176
177         Don't include <config.h> twice; this doesn't work in some cases,
178         e.g., when config.h has "#define intmax_t long long int" and
179         we include <config.h>, <inttypes.h>, <config.h> in that order.
180         Problem reported by Matthew Woehlke in:
181         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
182         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
183         * lib/fts-cycle.c: Don't include config.h.
184         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
185         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
186         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
187         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
188         inttypes.h.
189         * lib/xstrtoumax.c: Likewise.
190         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
191         __strtol and the like, so that this module is more like its siblings.
192         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
193         Remove; no longer needed now that we assume gnulib inttypes.h.
194
195 2006-10-08  Bruno Haible  <bruno@clisp.org>
196
197         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
198         option.
199
200 2006-10-07  Jim Meyering  <jim@meyering.net>
201
202         * modules/inttypes (inttypes.h): Revert what seems to have been
203         an inadvertent part of today's change: use "|", not "/" in the
204         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
205
206 2006-10-07  Bruno Haible  <bruno@clisp.org>
207
208         * modules/sublist: New file.
209
210 2006-10-07  Bruno Haible  <bruno@clisp.org>
211
212         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
213         * modules/argz (argz.h): Likewise.
214         * modules/arpa_inet (arpa/inet.h): Likewise.
215         * modules/byteswap (byteswap.h): Likewise.
216         * modules/configmake (configmake.h): Likewise.
217         * modules/fcntl (fcntl.h): Likewise.
218         * modules/fnmatch (fnmatch.h): Likewise.
219         * modules/getopt (getopt.h): Likewise.
220         * modules/glob (glob.h): Likewise.
221         * modules/inttypes (inttypes.h): Likewise.
222         * modules/netinet_in (netinet/in.h): Likewise.
223         * modules/poll (poll.h): Likewise.
224         * modules/stdbool (stdbool.h): Likewise.
225         * modules/stdint (stdint.h): Likewise.
226         * modules/sys_select (sys/select.h): Likewise.
227         * modules/sys_socket (sys/socket.h): Likewise.
228         * modules/sys_stat (sys/stat.h): Likewise.
229         * modules/sysexits (sysexits.h): Likewise.
230         * modules/unistd (unistd.h): Likewise.
231         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
232         Add a "DO NOT EDIT" comment to the generated file.
233         (func_import): Likewise for gnulib-comp.m4.
234
235 2006-10-07  Bruno Haible  <bruno@clisp.org>
236
237         * lib/gl_sublist.h: New file.
238         * lib/gl_sublist.c: New file.
239
240 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
241
242         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
243         name (relative to the original working directory) and the file
244         name component (relative to the temporary working directory).  All
245         callers changed.
246         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
247         * lib/mkdir-p.c (make_dir_parents): Likewise.
248         * lib/mkdir-p.h (make_dir_parents): Likewise.
249
250 2006-10-06  Eric Blake  <ebb9@byu.net>
251
252         Define several macros for use by the clean-temp module.
253         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
254         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
255         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
256
257         * lib/clean-temp.h (close_stream_temp): New declaration.
258         * lib/clean-temp.c (includes): Pull in headers according to what
259         other modules are in use.
260         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
261
262 2006-10-06  Bruno Haible  <bruno@clisp.org>
263
264         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
265         instead of fopen, fwriteerror.
266
267 2006-10-06  Bruno Haible  <bruno@clisp.org>
268
269         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
270         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
271         int.
272         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
273         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
274         Return an error indicator.
275         Suggested by Eric Blake.
276
277 2006-10-06  Bruno Haible  <bruno@clisp.org>
278
279         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
280         Reported by Eric Blake.
281
282 2006-10-06  Bruno Haible  <bruno@clisp.org>
283
284         * modules/closeout (Description): Mention stderr too.
285
286 2006-10-06  Bruno Haible  <bruno@clisp.org>
287         and Paul Eggert  <eggert@cs.ucla.edu>
288
289         * lib/closeout.c (close_stdout): Also close stderr.
290         * lib/closeout.h: Update comment.
291
292 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
293
294         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
295         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
296         * lib/dirchownmod.c: Include lchown.h.
297         * lib/lchown.c: Don't include files that lchown.h now includes.
298         Don't declare chown, since lchown.h now does that.
299         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
300         (lchown): Define to rpl_chown if lchown is declared but
301         does not exist.  Declare using a prototype if lchown is not
302         declared.  Add a copyright notice.
303         * lib/mkstemp.h: Include <unistd.h>.
304         * lib/openat.c: Include lchown.h.
305
306         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
307         we now test for that separately.
308         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
309         rather than O_NOFOLLOW, when testing whether it's possible to
310         avoid a race condition reliably.
311         * lib/savewd.c (savewd_chdir): Likewise.
312
313         Remove macros that are no longer needed now that stdint.h is
314         reliable.
315         * lib/fsusage.c (UINTMAX_MAX): Remove.
316         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
317         * lib/utimecmp.c (SIZE_MAX): Remove.
318
319         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
320
321         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
322         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
323         O_NOATIME works.
324
325 2006-10-05  Bruno Haible  <bruno@clisp.org>
326
327         * lib/gl_list.h (gl_sortedlist_search_from_to,
328         gl_sortedlist_indexof_from_to): New declarations.
329         (gl_list_implementation): New fields sortedlist_search_from_to,
330         sortedlist_indexof_from_to.
331         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
332         inline functions.
333         * lib/gl_list.c (gl_sortedlist_search_from_to,
334         gl_sortedlist_indexof_from_to): New functions.
335         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
336         function.
337         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
338         (gl_array_sortedlist_search_from_to): New function.
339         (gl_array_list_implementation): Update.
340         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
341         function.
342         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
343         (gl_carray_sortedlist_search_from_to): New function.
344         (gl_carray_list_implementation): Update.
345         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
346         gl_linked_sortedlist_indexof_from_to): New functions.
347         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
348         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
349         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
350         gl_tree_sortedlist_indexof_from_to): New functions.
351         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
352         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
353         Update.
354         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
355         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
356         Update.
357
358 2006-10-05  Bruno Haible  <bruno@clisp.org>
359
360         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
361         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
362         (struct gl_list_implementation): Add fields search_from_to,
363         indexof_from_to. Remove fields search, indexof.
364         (gl_list_search): Use the search_from_to method.
365         (gl_list_search_from, gl_list_search_from_to): New functions.
366         (gl_list_indexof): Use the indexof_from_to method.
367         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
368         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
369         (gl_list_search_from, gl_list_search_from_to): New functions.
370         (gl_list_indexof): Use the indexof_from_to method.
371         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
372         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
373         gl_array_indexof. Add start_index, end_index arguments.
374         (gl_array_search_from_to): Renamed from gl_array_search. Add
375         start_index, end_index arguments.
376         (gl_array_remove, gl_array_list_implementation): Update.
377         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
378         gl_carray_indexof. Add start_index, end_index arguments.
379         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
380         start_index, end_index arguments.
381         (gl_carray_remove, gl_carray_list_implementation): Update.
382         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
383         gl_linked_search. Add start_index, end_index arguments.
384         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
385         start_index, end_index arguments.
386         (gl_linked_remove): Update.
387         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
388         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
389         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
390         field to 'size_t'.
391         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
392         gl_tree_search. Add start_index, end_index arguments.
393         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
394         start_index, end_index arguments.
395         (gl_tree_remove): Update.
396         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
397         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
398         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
399         function.
400         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
401         gl_tree_search. Add start_index, end_index arguments.
402         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
403         start_index, end_index arguments.
404         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
405         Update.
406         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
407
408 2006-10-05  Bruno Haible  <bruno@clisp.org>
409
410         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
411
412         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
413         fwriteerror_temp): New declarations.
414         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
415         (descriptors): New variable.
416         (cleanup): First, close the descriptors.
417         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
418         fclose_temp, fwriteerror_temp): New functions.
419
420 2006-10-04  Jim Meyering  <jim@meyering.net>
421
422         * lib/fts.c (fts_open): Tiny comment change.
423
424 2006-10-04  Bruno Haible  <bruno@clisp.org>
425
426         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
427         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
428         gl_LOCK_BODY.
429         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
430         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
431         gl_LOCK_EARLY_BODY.
432         (gl_LOCK): Require gl_LOCK_BODY.
433
434 2006-10-04  Bruno Haible  <bruno@clisp.org>
435
436         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
437         (gl_oset_search_atleast): New declaration.
438         (struct gl_oset_implementation): Add field 'search_atleast'.
439         (gl_oset_search_atleast): New inline function.
440         * lib/gl_oset.c (gl_oset_search_atleast): New function.
441         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
442         (gl_array_oset_implementation): Update.
443         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
444         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
445         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
446
447 2006-10-04  Bruno Haible  <bruno@clisp.org>
448
449         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
450
451 2006-10-03  Bruno Haible  <bruno@clisp.org>
452
453         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
454         from gl_avltreehash_list_implementation.
455
456 2006-10-03  Bruno Haible  <bruno@clisp.org>
457
458         * lib/gl_oset.c (gl_oset_add): Fix return type.
459
460 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
461
462         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
463
464 2006-10-02  Eric Blake  <ebb9@byu.net>
465
466         * modules/strnlen (Depends-on): Add extensions.
467
468 2006-10-02  Eric Blake  <ebb9@byu.net>
469
470         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
471         definition in 2.60+.
472
473 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
474
475         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
476         checks.
477
478 2006-10-02  Bruno Haible  <bruno@clisp.org>
479
480         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
481         to the AUTOMAKE_OPTIONS.
482         Reported by Jim Meyering.
483
484 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
485
486         Work around bug in Solaris 10 /proc file system:
487         /proc/self/fd/NNN/.. isn't the parent directory of
488         the directory whose file descriptor is NNN.  This needs to
489         be worked around at run time, not compile time, since a
490         program might be built on Solaris 8, where things work, and
491         run on Solaris 10.
492         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
493         to use the following interface instead:
494         (OPENAT_BUFFER_SIZE): New macro.
495         (openat_proc_name): New function.
496         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
497         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
498         Likewise.
499         * lib/openat-proc.c: New file.
500         * modules/openat (Files): Add lib/openat-proc.c.
501         (Depends-on): Add same-inode, stdbool.
502         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
503
504 2006-09-29  Bruno Haible  <bruno@clisp.org>
505
506         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
507         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
508         argument. Set stdout_closed before testing for ferror, not after.
509         (fwriteerror, fwriteerror_no_ebadf): New functions.
510
511 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
512
513         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
514
515 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
516
517         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
518         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
519
520 2006-09-28  Jim Meyering  <jim@meyering.net>
521
522         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
523         Include <unistd.h>.
524
525 2006-09-28  Bruno Haible  <bruno@clisp.org>
526
527         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
528         * modules/linkedhash-list (Depends-on): Likewise.
529         * modules/rbtreehash-list (Depends-on): Likewise.
530
531 2006-09-28  Bruno Haible  <bruno@clisp.org>
532
533         * lib/strndup.h: Simplify the redefinition of strndup.
534         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
535         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
536
537 2006-09-28  Bruno Haible  <bruno@clisp.org>
538
539         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
540         * lib/gl_linkedhash_list.c: Likewise.
541         * lib/gl_rbtreehash_list.c: Likewise.
542
543 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
544
545         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
546         getaddrinfo.
547
548         * lib/__fpending.h: Don't include <stdio_ext.h> unless
549         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
550         it causes <stdio_ext.h> to cause a compile-time error.
551         Problem reported by Nelson H. F. Beebe.
552         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
553         of HAVE_DECL___PENDING.
554
555         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
556         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
557         declaration.
558
559 2006-09-27  Jim Meyering  <jim@meyering.net>
560
561         This file could end up with a definition for a function
562         named __strndup, rather than rpl_strndup on a system with
563         incomplete weak_alias support.
564         * lib/strndup.c (strndup): Rename from __strndup.
565         Remove #defines that used to map __strndup to strndup.
566         Don't use K&R prototypes.
567         Remove LIBC-related code, since this file is not sync'd with glibc.
568         * lib/strndup.h: Revamp, accordingly.
569         * m4/strndup.m4: Modernize.
570
571 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
572
573         * modules/savewd (Depends-on): Add 'raise'.
574         * lib/savewd.c: Include <signal.h>, for 'raise'.
575
576 2006-09-26  Jim Meyering  <jim@meyering.net>
577
578         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
579         when we detect Darwin 8.7.0's acl_get_file bug.
580         Rearrange to perform the new (below) run-test while $LIBS
581         contains any acl-related library.  Set USE_ACL at the end.
582         (gl_ACL_GET_FILE): New function.
583
584 2006-09-26  Eric Blake  <ebb9@byu.net>
585
586         * lib/verror.c: Include <config.h> unconditionally.
587
588 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
589
590         * modules/clock-time (Maintainer): Add self.
591         * modules/getlogin_r (Depends-on): Add extensions.
592
593 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
594
595         * modules/clock-time: New module.
596         * modules/nanosleep (Depends-on): Add clock-time.
597         * modules/gethrxtime (Depends-on): Likewise.
598         * modules/gettime (Depends-on): Likewise.
599         * modules/settime (Depends-on): Likewise.
600
601         * modules/fts-lgpl: Depend on openat.
602         * modules/mkancesdirs: Depend on savewd.
603         * modules/mkdir-p: Likewise.
604
605 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
606
607         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
608
609         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
610         `gl_have_arbitrary_file_name_length_limit' to
611         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
612         actually works between configure runs.
613
614 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
615             Bruno Haible  <bruno@clisp.org>
616
617         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
618
619 2006-09-25  Jim Meyering  <jim@meyering.net>
620
621         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
622         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
623
624 2006-09-25  Eric Blake  <ebb9@byu.net>
625
626         * gnulib-tool (func_import, func_create_testdir): Fix typos in
627         exec's in 2006-09-18 patch when shuffling fds.
628
629 2006-09-25  Bruno Haible  <bruno@clisp.org>
630
631         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
632         Reported by Jim Meyering.
633
634 2006-09-24  Jim Meyering  <jim@meyering.net>
635
636         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
637         compare a pointer against a literal "0".  That caused failures with
638         at least HP-UX's hpcc.
639
640 2006-09-22  Simon Josefsson  <jas@extundo.com>
641
642         * modules/gc-sha1:
643         * modules/gc-md4:
644         * modules/gc-hmac-sha1:
645         * modules/gc-hmac-md5:
646         * modules/gc-des:
647         * modules/gc-arcfour: Distribute more files.
648
649 2006-09-22  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
650
651         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
652         (gl_linked_iterator_from_to): Initialize struct completely.
653         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
654         (gl_tree_iterator_from_to): Likewise
655         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
656         * lib/gl_array_list.c [lint] (gl_array_iterator)
657         (gl_array_iterator_from_to): Likewise.
658         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
659         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
660         (gl_carray_iterator_from_to): Likewise.
661
662         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
663         * lib/md4.c (md4_process_block): Remove unused variable.
664         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
665         parentheses for clarity.
666
667 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
668
669         * modules/bison-i18n (Depends-on): Add gettext.
670
671 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
672
673         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
674         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
675         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
676         also add missing comma that caused broken test.
677         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
678         stdlib.h, for `abort'.
679         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
680         variables.
681         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
682         include unistd.h if present, for `rmdir'.
683         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
684         variables.
685         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
686         in the process include standard headers for prototypes.
687         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
688         gets declared on GNU/Linux.
689         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
690         unistd.h, for `rmdir'.
691         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
692
693         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
694         always true.
695         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
696
697         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
698
699 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
700
701         * gnulib-tool (func_version): Create output all at once.  This
702         may help avoid triggering unnecessary SIGPIPEs, and at any
703         rate it doesn't hurt.
704
705 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
706             Bruno Haible  <bruno@clisp.org>
707
708         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
709         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
710         * m4/signed.m4 (bh_C_SIGNED): Likewise.
711
712         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
713         (gl_FUNC_VASPRINTF): Invoke it.
714
715 2006-09-22  Bruno Haible  <bruno@clisp.org>
716
717         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
718         getloadavg.c as first argument.
719
720 2006-09-22  Bruno Haible  <bruno@clisp.org>
721
722         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
723         at the beginning of the gl_INIT macro.
724         * modules/getloadavg (configure.ac): Pass $gl_source_base to
725         gl_GETLOADAVG.
726
727 2006-09-22  Bruno Haible  <bruno@clisp.org>
728
729         * gnulib-tool (func_create_megatestdir): Don't include the config-h
730         module.
731         Suggested by Ralf Wildenhues.
732
733 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
734
735         Import this patch from libc:
736
737         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
738
739         * lib/regex_internal.c (re_string_reconstruct): Handle
740         offset < pstr->valid_raw_len && pstr->offsets_needed case.
741         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
742         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
743         re_string_context_at.
744
745         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
746         now requires it.
747         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
748         gl_REGEX now does it for us.
749         (gl_REGEX): Add test taken from
750         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
751
752         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
753         Check that large offsets work.  Modernize Autoconf usages.
754         Prefer "yes" to mean a good thing rather than a bad.
755         Don't put "#define mkstemp" in config.h, as this might interfere
756         with standard system headers that "#define mkstemp mkstemp64".
757
758         * modules/mkstemp (Depends-on): Add extensions, so that
759         mkstemp is visible on some platforms.
760         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
761         (Include): Change to "mkstemp.h" from <stdlib.h>.
762         (Files): Add mkstemp.h.
763
764         * lib/mkstemp.h: New file, since some standard headers
765         #define mkstemp.
766         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
767         Include "mkstemp.h".
768         Make the _LIBC code resemble glibc original more,
769         e.g., use K&R style.
770         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
771         (mkstemp): Remove, since mkstemp.h does this for us.
772         * lib/stdlib--.h: Include mkstemp.h.
773
774         Import this patch from libc:
775
776         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
777
778         * lib/tempname.c (__gen_tempname): Change attempts_min
779         into a macro.  Use preprocessor to decide how to initialize
780         attempts [Coverity CID 67].
781
782 2006-09-20  Bruno Haible  <bruno@clisp.org>
783
784         * lib/mkdtemp.c: Import from libc.
785         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
786                 * sysdeps/posix/tempname.c (__gen_tempname): Change
787                 attempts_min into a macro.  Use preprocessor to decide how to
788                 initialize attempts [Coverity CID 67].
789         2001-11-27  Paul Eggert  <eggert@twinsun.com>
790                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
791                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
792
793 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
794
795         * gnulib-tool (func_exit): New function, to allow to pass the
796         exit status portably through the trap.  Use everywhere.
797         (--help, --version): Signal a write error.
798         (trap): catch SIGPIPE, for write errors.
799         Exit at the end of the trap, with the correct exit status.
800
801 2006-09-19  Karl Berry  <karl@gnu.org>
802
803         * doc/gnulib.texi: note about the license texinfo files.
804
805 2006-09-19  Eric Blake  <ebb9@byu.net>
806
807         * gnulib-tool: Avoid space-tab.
808
809 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
810
811         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
812         that prevented coreutils 6.1 from building.  Problem reported
813         by Petter Reinholdtsen.
814
815 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
816
817         * gnulib-tool (avoidlist): Fix typo that broke options like
818         --avoid=lock that are used by coreutils bootstrap.
819
820 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
821
822         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
823         more systematically.
824
825 2006-09-18  Jim Meyering  <jim@meyering.net>
826
827         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
828
829 2006-09-18  Bruno Haible  <bruno@clisp.org>
830
831         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
832
833 2006-09-18  Bruno Haible  <bruno@clisp.org>
834
835         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
836         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
837         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
838         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
839         * m4/gettext.m4: Require autoconf >= 2.52.
840         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
841         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
842         of gl_cv_header_inttypes_h.
843
844 2006-09-18  Bruno Haible  <bruno@clisp.org>
845
846         * lib/javaversion.c: Include configmake.h.
847
848 2006-09-18  Bruno Haible  <bruno@clisp.org>
849
850         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
851         avoid that the while loops be executed in a subshell.
852
853 2006-09-18  Bruno Haible  <bruno@clisp.org>
854
855         * MODULES.html.sh (func_module): Break long lines.
856         Suggested by Bruce Korb <bkorb@gnu.org>.
857
858 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
859
860         Speed up by a factor of 1.12.
861         * gnulib-tool (nl): New variable.
862         (func_import): Rewrite include directive extraction to only read each
863         directive once.
864
865 2006-09-17  Bruno Haible  <bruno@clisp.org>
866
867         * modules/javaversion (Makefile.am): Remove DEFS setting.
868         (Depends-on): Add configmake, for PKGDATADIR definition.
869
870 2006-09-17  Bruno Haible  <bruno@clisp.org>
871
872         * gnulib-tool (func_create_testdir): Rewrite all files at once.
873
874 2006-09-17  Bruno Haible  <bruno@clisp.org>
875
876         * gnulib-tool (func_append): New function, stolen from libtool.m4.
877         (func_modules_transitive_closure, func_modules_add_dummy,
878         func_modules_to_filelist, func_import, func_create_testdir,
879         func_create_megatestdir, ...): Use it wherever possible.
880         Suggested by Ralf Wildenhues.
881
882 2006-09-16  Karl Berry  <karl@gnu.org>
883
884         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
885         to avoid sectioning errors.
886         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
887         [ifinfo]: blank line after @center-ed titles.
888         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
889         Spell FSF address consistently with others.
890         (These changes approved by rms.)
891
892 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
893
894         Speed up by a factor of 1.61.
895         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
896         already checked module names again.
897
898 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
899
900         Speed up by a factor of 1.13.
901         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
902         for new_files, and the input to func_add_or_update.
903
904 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
905
906         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
907         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
908
909 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
910
911         * modules/mkancesdirs (Depends-on): Add fcntl.
912         * modules/savewd: New file.
913         * MODULES.html.sh (File system functions): Add savewd.
914
915         * modules/configmake (Makefile.am): Add support for the
916         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
917
918 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
919
920         * m4/savewd.m4: New file.
921
922 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
923
924         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
925         (dirchownmod): New arg FD.  All callers changed.
926         Use FD rather than opening the directory ourself, as opening is
927         now the caller's responsibility.
928         * lib/dirchownmod.h: Likewise.
929         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
930         hosts that require <sys/types.h> before <sys/stat.h>.  Include
931         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
932         (test_dir): Remove.
933         (mkancesdirs): Return length of prefix of FILE that has already
934         been made, or -2 if there is a child doing the work.  Redo
935         algorithm so that it is O(N) rather than O(N**2).  Optimize away
936         ".", and treat ".." specially since it might stray back into
937         already-created areas.  Use a subprocess if necessary.  New arg
938         WD; all users changed.  MAKE_DIR function should now return 1
939         if it creates a directory that is not readable.  Return -2 if
940         a child process is spun off.
941         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
942         Adjust signature to match code.
943         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
944         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
945         all users changed.
946         * lib/savewd.c, savewd.h: New files.
947
948 2006-09-15  Jim Meyering  <jim@meyering.net>
949
950         * modules/rename-dest-slash: New module.
951         * MODULES.html.sh (posix_compat): Add it here.
952
953         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
954
955 2006-09-15  Jim Meyering  <jim@meyering.net>
956
957         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
958         file.
959
960         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
961
962 2006-09-15  Jim Meyering  <jim@meyering.net>
963
964         * lib/rename-dest-slash.c (has_trailing_slash): Use
965         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
966         (rpl_rename_dest_slash): Perform the cheaper trailing slash
967         test before testing whether SRC is a directory.
968         Suggestions from Bruno Haible.
969
970         Avoid a warning about an unused variable.
971         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
972         into the #ifdef block where it's used.
973
974         * lib/rename-dest-slash.c: New file.
975
976 2006-09-14  Bruno Haible  <bruno@clisp.org>
977
978         * lib/allocsa.c: Include <config.h> unconditionally.
979         * lib/asnprintf.c: Likewise.
980         * lib/asprintf.c: Likewise.
981         * lib/c-strcasecmp.c: Likewise.
982         * lib/c-strcasestr.c: Likewise.
983         * lib/c-strncasecmp.c: Likewise.
984         * lib/c-strstr.c: Likewise.
985         * lib/classpath.c: Likewise.
986         * lib/clean-temp.c: Likewise.
987         * lib/concatpath.c: Likewise.
988         * lib/copy-file.c: Likewise.
989         * lib/csharpcomp.c: Likewise.
990         * lib/csharpexec.c: Likewise.
991         * lib/execute.c: Likewise.
992         * lib/fatal-signal.c: Likewise.
993         * lib/findprog.c: Likewise.
994         * lib/fwriteerror.c: Likewise.
995         * lib/gl_array_list.c: Likewise.
996         * lib/gl_array_oset.c: Likewise.
997         * lib/gl_avltree_list.c: Likewise.
998         * lib/gl_avltree_oset.c: Likewise.
999         * lib/gl_avltreehash_list.c: Likewise.
1000         * lib/gl_carray_list.c: Likewise.
1001         * lib/gl_linked_list.c: Likewise.
1002         * lib/gl_linkedhash_list.c: Likewise.
1003         * lib/gl_list.c: Likewise.
1004         * lib/gl_oset.c: Likewise.
1005         * lib/gl_rbtree_list.c: Likewise.
1006         * lib/gl_rbtree_oset.c: Likewise.
1007         * lib/gl_rbtreehash_list.c: Likewise.
1008         * lib/imaxabs.c: Likewise.
1009         * lib/imaxdiv.c: Likewise.
1010         * lib/javacomp.c: Likewise.
1011         * lib/javaexec.c: Likewise.
1012         * lib/javaversion.c: Likewise.
1013         * lib/linebreak.c: Likewise.
1014         * lib/localcharset.c: Likewise.
1015         * lib/lock.c: Likewise.
1016         * lib/mbchar.c: Likewise.
1017         * lib/mbswidth.c: Likewise.
1018         * lib/mkdtemp.c: Likewise.
1019         * lib/pipe.c: Likewise.
1020         * lib/printf-args.c: Likewise.
1021         * lib/printf-parse.c: Likewise.
1022         * lib/progname.c: Likewise.
1023         * lib/progreloc.c: Likewise.
1024         * lib/readlink.c: Likewise.
1025         * lib/sh-quote.c: Likewise.
1026         * lib/stpcpy.c: Likewise.
1027         * lib/stpncpy.c: Likewise.
1028         * lib/strcasecmp.c: Likewise.
1029         * lib/strcasestr.c: Likewise.
1030         * lib/strcspn.c: Likewise.
1031         * lib/striconv.c: Likewise.
1032         * lib/strncasecmp.c: Likewise.
1033         * lib/strnlen1.c: Likewise.
1034         * lib/strstr.c: Likewise.
1035         * lib/strtok_r.c: Likewise.
1036         * lib/tls.c: Likewise.
1037         * lib/tmpdir.c: Likewise.
1038         * lib/unicodeio.c: Likewise.
1039         * lib/unsetenv.c: Likewise.
1040         * lib/vasnprintf.c: Likewise.
1041         * lib/vasprintf.c: Likewise.
1042         * lib/wait-process.c: Likewise.
1043         * lib/xallocsa.c: Likewise.
1044         * lib/xsetenv.c: Likewise.
1045         * lib/xstriconv.c: Likewise.
1046
1047 2006-09-13  Simon Josefsson  <jas@extundo.com>
1048
1049         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
1050         that internally, suggested by Ralf Wildenhues
1051         <Ralf.Wildenhues@gmx.de>.
1052
1053 2006-09-13  Simon Josefsson  <jas@extundo.com>
1054
1055         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
1056         @LIBOBJS@.
1057         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1058
1059 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
1060
1061         * lib/_fpending.c: Include <config.h> unconditionally, since we no
1062         longer worry about uses that don't define HAVE_CONFIG_H.
1063         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
1064         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
1065         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
1066         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
1067         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
1068         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
1069         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
1070         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
1071         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
1072         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
1073         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
1074         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
1075         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
1076         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
1077         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
1078         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
1079         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
1080         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
1081         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
1082         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
1083         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
1084         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
1085         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
1086         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
1087         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
1088         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
1089         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
1090         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
1091         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
1092         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
1093         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
1094         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
1095         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
1096         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
1097         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
1098         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
1099         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
1100         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
1101         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
1102         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
1103         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
1104         Likewise.
1105
1106 2006-09-13  Eric Blake  <ebb9@byu.net>
1107
1108         * lib/getopt.c: Fix typo in last commit.
1109
1110 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
1111
1112         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
1113         dgettext.
1114
1115 2006-09-12  Jim Meyering  <jim@meyering.net>
1116
1117         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
1118         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
1119         Reported by Nelson H. F. Beebe.
1120
1121 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
1122
1123         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
1124         program_invocation_name and program_invocation_short_name are
1125         initialized.
1126         * lib/argp-namefrob.h: Move declarations of program_invocation_name
1127         and program_invocation_short_name to argp.h, so they are visible
1128         to user programs.
1129         * lib/argp.h: Likewise
1130
1131 2006-09-10  Bruno Haible  <bruno@clisp.org>
1132
1133         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
1134         m4/inttypes_h.m4, m4/uintmax_t.m4.
1135
1136 2006-09-10  Bruno Haible  <bruno@clisp.org>
1137
1138         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
1139         gl_AC_TYPE_UINTMAX_T.
1140
1141 2006-09-10  Bruno Haible  <bruno@clisp.org>
1142
1143         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
1144
1145 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
1146
1147         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
1148         convention.  Text proposed by Bruno Haible.
1149         (struct argp_option): Document the use of N_() wrappers.
1150
1151         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
1152         '\v', and translate the two parts separately, instead of feeding
1153         the whole string to gettext.  This allows to exclude
1154         '\v' from the strings visible to the translator by writing doc
1155         strings as N_("..") "\v" N_("..").
1156
1157 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
1158
1159         * config/srclist.txt: Undo latest change; the bug was fixed.
1160
1161 2006-09-09  Bruno Haible  <bruno@clisp.org>
1162
1163         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
1164         assignments if building a library without libtool.
1165         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
1166         in func_emit_lib_Makefile_am.
1167         (func_import): When building a static library libfoo.a, arrange to
1168         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
1169         (func_create_testdir): Likewise.
1170         * modules/gc (configure.ac, Makefile.am): If building statically,
1171         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
1172         * modules/iconvme (configure.ac, Makefile.am): Likewise.
1173         * modules/striconv (configure.ac, Makefile.am): Likewise.
1174         Based on a suggestion by Ralf Wildenhues.
1175
1176 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
1177
1178         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
1179         Check for unistd.h too, since Autoconf doesn't assume POSIX.
1180         Also:
1181
1182         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
1183         Add year_2050_test to catch glibc bug 2821
1184         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
1185
1186         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
1187         Prefer #ifdef to #if.
1188
1189         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
1190         Return from 'main' instead of calling 'exit'.
1191
1192 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
1193
1194         * lib/mktime.c (guess_time_tm): Fix bug where mktime
1195         returned the maximum time_t value rather than (time_t) -1.
1196         Problem originally reported by William Bardwell
1197         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
1198
1199         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
1200         Moved to here ...
1201         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
1202         ... from here.
1203
1204 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
1205
1206         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
1207         2821 is fixed.
1208
1209 2006-09-08  Jim Meyering  <jim@meyering.net>
1210
1211         Don't make generated files read-only.  That would bother too many
1212         people.  However, do retain the ability to work when targets are
1213         read-only: remove the destination and temporary files before writing
1214         them (when generated via sed or echo), or by using the -f option for
1215         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
1216         * modules/alloca-opt, modules/argz, modules/arpa_inet:
1217         * modules/byteswap, modules/configmake, modules/fcntl:
1218         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
1219         * modules/localcharset, modules/netinet_in, modules/poll:
1220         * modules/stdbool, modules/stdint, modules/sys_select:
1221         * modules/sys_socket, modules/sys_stat, modules/sysexits:
1222
1223 2006-09-08  Jim Meyering  <jim@meyering.net>
1224
1225         Avoid new build failure on FreeBSD 6.0.
1226         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
1227         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
1228         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
1229
1230 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1231
1232         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
1233
1234 2006-09-07  Jim Meyering  <jim@meyering.net>
1235
1236         Fix global typo in last change: use chmod u-w, not chmod u-x.
1237         Spotted by Paul Eggert and Bruce Korb.
1238         * modules/alloca-opt, modules/argz, modules/arpa_inet:
1239         * modules/byteswap, modules/configmake, modules/fcntl:
1240         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
1241         * modules/localcharset, modules/netinet_in, modules/poll:
1242         * modules/stdbool, modules/stdint, modules/sys_select:
1243         * modules/sys_socket, modules/sys_stat, modules/sysexits:
1244
1245 2006-09-06  Jim Meyering  <jim@meyering.net>
1246
1247         Make generated files be read-only.
1248         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
1249         Ensure that each generated file is now read-only.
1250         * modules/argz: Likewise.
1251         * modules/arpa_inet: Likewise.
1252         * modules/byteswap: Likewise.
1253         * modules/configmake: Likewise.
1254         * modules/fcntl: Likewise.
1255         * modules/fnmatch: Likewise.
1256         * modules/getopt: Likewise.
1257         * modules/glob: Likewise.
1258         * modules/inttypes: Likewise.
1259         * modules/netinet_in: Likewise.
1260         * modules/poll: Likewise.
1261         * modules/stdbool: Likewise.
1262         * modules/stdint: Likewise.
1263         * modules/sys_select: Likewise.
1264         * modules/sys_socket: Likewise.
1265         * modules/sys_stat: Likewise.
1266         * modules/sysexits: Likewise.
1267         * modules/localcharset: Same as above, but continue using temporary
1268         file named "t-$@" (why different?) rather than the "$@-t" used
1269         everywhere else.
1270
1271         * modules/sysexits (Makefile.am): Replace literal occurrences
1272         of "sysexit.h" more readable, and more consistent, "$@".
1273
1274 2006-09-06  Bruno Haible  <bruno@clisp.org>
1275
1276         * modules/striconv: New file.
1277         * modules/xstriconv: New file.
1278         * MODULES.html.sh (Internationalization functions): Add striconv,
1279         xstriconv.
1280
1281 2006-09-06  Bruno Haible  <bruno@clisp.org>
1282
1283         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
1284         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
1285         not using libtool correctly.
1286
1287 2006-09-06  Bruno Haible  <bruno@clisp.org>
1288
1289         * lib/striconv.h: New file.
1290         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
1291         iconvstring.c.
1292         * lib/xstriconv.h: New file.
1293         * lib/xstriconv.c: New file.
1294
1295 2006-09-06  Bruno Haible  <bruno@clisp.org>
1296
1297         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
1298         lib_..._LDFLAGS.
1299
1300 2006-09-05  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1301
1302         * lib/argz_.h: Sync from Libtool.
1303
1304         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
1305                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1306
1307         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
1308
1309 2006-09-05  Davide Angelocola <davide.angelocola@tiscali.it>
1310
1311         * modules/trim: New file.
1312
1313 2006-09-05  Davide Angelocola <davide.angelocola@tiscali.it>
1314
1315         * lib/trim.h: New file.
1316         * lib/trim.c: New file.
1317
1318 2006-09-05  Bruno Haible  <bruno@clisp.org>
1319
1320         * MODULES.html.sh (String handling): Add trim.
1321
1322 2006-09-04  Karl Berry  <karl@gnu.org>
1323
1324         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
1325         until next release.
1326
1327 2006-09-03  Bruno Haible  <bruno@clisp.org>
1328
1329         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
1330         correctly.
1331
1332 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
1333
1334         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
1335         not gl_GETLOADAVG.  Omit unneeded semicolons.
1336         Problems reported by Ralf Wildenhues in
1337         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
1338         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
1339         at the end, which is the usual gnulib style.
1340
1341         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
1342         of doing all the work ourselves.
1343         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
1344         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
1345
1346 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
1347
1348         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
1349         Problem reported by Ralf Wildenhues in
1350         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
1351
1352         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
1353         HAVE_STRUCT_STATFS_F_FSTYPENAME.
1354
1355 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
1356
1357         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
1358         yesterday's patch by changing test -n to test -z.
1359
1360 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
1361
1362         * modules/getloadavg (Files): Add m4/getloadavg.m4.
1363         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
1364         the former is now obsolescent.
1365
1366         * modules/chdir-long (Depends-on): Add fcntl.
1367
1368 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
1369
1370         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
1371         obsolescent, and programs should use gnulib instead.
1372         * m4/getloadavg.m4: New file, with contents taken from Autoconf
1373         but with prefixes changed.
1374
1375 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
1376
1377         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
1378         or stdbool.h, because they might not exist while configuring.
1379
1380         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
1381         Don't include unistd.h or limits.h; not needed, since chdir-long.h
1382         does that for us.
1383         (O_DIRECTORY): Remove.
1384
1385 2006-08-31  Eric Blake  <ebb9@byu.net>
1386
1387         * gnulib-tool: Don't let emacs change spaces to TAB.
1388
1389 2006-08-31  Bruno Haible  <bruno@clisp.org>
1390
1391         * gnulib-tool: When calling func_import more than once, do it in a
1392         subshell.
1393         Reported by Eric Blake <ebb9@byu.net>.
1394
1395 2006-08-31  Bruno Haible  <bruno@clisp.org>
1396
1397         * gnulib-tool (nl): Remove variable.
1398         (sed_transform_lib_file): Use more robust test for config-h module.
1399         (func_import): Fix typo in 2006-08-25 patch.
1400
1401 2006-08-31  Bruno Haible  <bruno@clisp.org>
1402
1403         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
1404         specified, augment Makefile.am variables instead of assigning them.
1405
1406 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
1407
1408         Work around a bug in both the Linux and SunOS 64-bit kernels:
1409         nanosleep mishandles sleeps for longer than 2**31 seconds.
1410         Problem reported by Frank v Waveren in
1411         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
1412         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
1413         Check for nanosleep bug.
1414         (LIB_NANOSLEEP): Append clock_gettime library if needed.
1415
1416 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
1417
1418         Work around a bug in both the Linux and SunOS 64-bit kernels:
1419         nanosleep mishandles sleeps for longer than 2**31 seconds.
1420         Problem reported by Frank v Waveren in
1421         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
1422         * lib/nanosleep.c (BILLION): New constant.
1423         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
1424         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
1425         implementation.
1426
1427 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
1428
1429         * modules/nanosleep (Depends-on): Add gettime.
1430
1431 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
1432         and Simon Josefsson  <jas@extundo.com>
1433         and Oskar Liljeblad  <oskar@osk.mine.nu>
1434
1435         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
1436         * gnulib-tool (func_import): New license type 'unmodifiable license
1437         text'.
1438         * modules/fdl: Use it.  Longer description.
1439         * module/gpl, module/lgpl: New files.
1440
1441 2006-08-30  Jim Meyering  <jim@meyering.net>
1442
1443         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
1444         shadowing the parameter.
1445
1446 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1447
1448         Sync from Libtool:
1449
1450         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1451
1452         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
1453         sharing with gnulib.  Report by Eric Blake.
1454
1455 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
1456
1457         * modules/isapipe: New file.
1458         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
1459
1460 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
1461
1462         * modules/configmake (Makefile.am): Add a comment, and omit
1463         the CONFIGMAKE_ prefix from generated macro names.  Suggested
1464         by Bruno Haible.
1465
1466 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
1467
1468         * m4/isapipe.m4: New file.
1469
1470 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
1471
1472         * lib/isapipe.c, isapipe.h: New files.
1473
1474 2006-08-29  Jim Meyering  <jim@meyering.net>
1475
1476         * modules/configmake (Makefile.am): Make configmake.h depend on
1477         Makefile.  Otherwise, a stale configmake.h could hang around.
1478
1479 2006-08-29  Eric Blake  <ebb9@byu.net>
1480
1481         * lib/error.c (error_at_line, print_errno_message): Match libc, after
1482         resolution of upstream bug 3044.
1483
1484 2006-08-29  Bruno Haible  <bruno@clisp.org>
1485
1486         * modules/localcharset (Depends-on): Add configmake.
1487         (Makefile.am): Remove setting of LIBDIR through DEFS.
1488
1489 2006-08-29  Bruno Haible  <bruno@clisp.org>
1490
1491         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
1492         defined.
1493
1494 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
1495
1496         * modules/fcntl: New file.
1497         * modules/chdir-safer (Depends-on): Add fcntl.
1498         * modules/fts: Likewise.
1499         * modules/mkdir-p: Likewise.
1500
1501         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
1502         This undoes the most recent change, since we're now addressing the
1503         problem in a different way.
1504
1505         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
1506         into output, since the output might be called Makefile.am even
1507         if $makefile_name is something different.
1508         (func_import): Use $makefile_am rather than
1509         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
1510         empty.
1511
1512         * modules/inttypes (Files): Add m4/inttypes-h.m4.
1513
1514 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
1515
1516         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
1517         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
1518         recent change to stdint.m4, since we're now addressing the problem in a
1519         different way.
1520
1521 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
1522
1523         * m4/fcntl_h.m4: New file.
1524
1525 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
1526
1527         * lib/fcntl_.h: New file.
1528         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
1529         the fcntl module.
1530         * lib/dirchownmod.c: Likewise.
1531         * lib/fts.c: Likewise.
1532
1533         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
1534         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
1535         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
1536         just before including <inttypes.h>, to avoid circular inclusion.
1537
1538 2006-08-28  Jim Meyering  <jim@meyering.net>
1539
1540         * doc/visibility.texi: Actually read and correct the grammar of the
1541         sentence affected by yesterday's change.
1542
1543 2006-08-28  Eric Blake  <ebb9@byu.net>
1544
1545         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
1546         needs wrapper.
1547
1548 2006-08-28  Eric Blake  <ebb9@byu.net>
1549
1550         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
1551
1552 2006-08-28  Eric Blake  <ebb9@byu.net>
1553
1554         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
1555
1556 2006-08-28  Bruno Haible  <bruno@clisp.org>
1557
1558         * modules/c-strstr: New file, from GNU gettext.
1559         * MODULES.html.sh (String handling): Add c-strstr.
1560
1561 2006-08-28  Bruno Haible  <bruno@clisp.org>
1562
1563         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
1564         macros.
1565         Reported by Eric Blake.
1566
1567 2006-08-28  Bruno Haible  <bruno@clisp.org>
1568
1569         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
1570         (VASNPRINTF): Return a string of length > INT_MAX without failing.
1571         * lib/vasprintf.c: Include errno.h, limits.h.
1572         (EOVERFLOW): New fallback definition.
1573         (vasprintf): Test here whether the string length is > INT_MAX.
1574         * lib/vsnprintf.c: Include errno.h, limits.h.
1575         (EOVERFLOW): New fallback definition.
1576         (vsnprintf): Fix bug when generated string was too long for the buffer.
1577         Test here whether the string length is > INT_MAX.
1578
1579 2006-08-28  Bruno Haible  <bruno@clisp.org>
1580
1581         * lib/inttypes_.h (SCNX*): Remove definitions.
1582         Reported by Eric Blake.
1583
1584 2006-08-28  Bruno Haible  <bruno@clisp.org>
1585
1586         * lib/c-strstr.h: New file, from GNU gettext.
1587         * lib/c-strstr.c: New file, from GNU gettext.
1588
1589 2006-08-28  Bruno Haible  <bruno@clisp.org>
1590
1591         * gnulib-tool: Reorder some statements.
1592
1593 2006-08-28  Bruno Haible  <bruno@clisp.org>
1594
1595         * gnulib-tool: New option --makefile-name.
1596         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
1597         $makefile_name.
1598         (func_import): Write $makefile_name to the cache file, and read it from
1599         there unless explicitly specified. Use $makefile_name as file name
1600         instead of Makefile.am. Adjust the recommendations accordingly.
1601
1602 2006-08-28  Bruno Haible  <bruno@clisp.org>
1603
1604         * gnulib-tool (func_verify_module): Check against misapplying patch.
1605
1606 2006-08-28  Bruno Haible  <bruno@clisp.org>
1607
1608         * gnulib-tool (func_relativize, func_relconcat): New functions.
1609         Give an error if --local-dir is given with --update.
1610         Remove trailing slashes from $local_gnulib_dir.
1611         (func_import): Store the relativized $local_gnulib_dir in
1612         gnulib-cache.m4, and read it from there if not specified explicitly.
1613
1614 2006-08-28  Bruno Haible  <bruno@clisp.org>
1615
1616         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
1617         is the current directory. Respect also $local_gnulib_dir.
1618
1619 2006-08-28  Bruno Haible  <bruno@clisp.org>
1620             Simon Josefsson  <jas@extundo.com>
1621
1622         BeOS portability.
1623         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
1624
1625 2006-08-27  Jim Meyering  <jim@meyering.net>
1626
1627         * doc/visibility.texi: Remove duplicate word: "pointer".
1628
1629 2006-08-26  Bruno Haible  <bruno@clisp.org>
1630
1631         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
1632         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
1633         (Makefile.am): Create inttypes.h from inttypes_.h.
1634         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
1635
1636         * modules/imaxabs: New file.
1637
1638         * modules/imaxdiv: New file.
1639
1640 2006-08-26  Bruno Haible  <bruno@clisp.org>
1641
1642         * m4/inttypes.m4: New file.
1643         * m4/_inttypes_h.m4: Remove file.
1644         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
1645         PRI_MACROS_BROKEN.
1646         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
1647
1648         * m4/imaxabs.m4: New file.
1649
1650         * m4/imaxdiv.m4: New file.
1651
1652 2006-08-26  Bruno Haible  <bruno@clisp.org>
1653
1654         * lib/inttypes_.h: New file.
1655         * lib/inttypes.h: Remove file.
1656         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
1657
1658         * lib/imaxabs.c: New file.
1659
1660         * lib/imaxdiv.c: New file.
1661
1662 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
1663
1664         New config-h module, so that "make" output needn't be cluttered
1665         by -DHAVE_CONFIG_H.
1666         * MODULES.html.sh (Support for building libraries and executables):
1667         Add config-h.
1668         * modules/config-h: New file.
1669         * gnulib-tool (nl, sed_transform_lib_file): New vars.
1670         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
1671         the config-h module is used.
1672
1673         New configmake module, so that "make" output needn't be cluttered
1674         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
1675         * MODULES.html.sh (Support for building libraries and executables):
1676         Add configmake.
1677         * modules/configmake: New file.
1678
1679 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
1680
1681         * m4/config-h.m4: New file.
1682
1683 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
1684
1685         * config/srclist.txt: Add elisp-comp.
1686
1687 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
1688
1689         * MODULES.html.sh (Support for building libraries and executables):
1690         Add elisp-comp.
1691         * build-aux/elisp-comp: New file.
1692         * modules/elisp-comp: New file.
1693
1694 2006-08-24  Bruno Haible <bruno@clisp.org>
1695
1696         * gnulib-tool (func_create_testdir): Use non-default values of
1697         sourcebase and m4base.
1698
1699 2006-08-24  Bruno Haible <bruno@clisp.org>
1700
1701         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
1702         HTML structure.
1703
1704 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
1705
1706         * modules/openat (Depends-on): Add lchown.
1707
1708 2006-08-23  Bruno Haible <bruno@clisp.org>
1709
1710         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
1711         of gl_LOCK_EARLY instead of gl_LOCK.
1712
1713 2006-08-23  Bruno Haible  <bruno@clisp.org>
1714
1715         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
1716         on OSF/1 to no.
1717         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
1718
1719 2006-08-23  Bruno Haible  <bruno@clisp.org>
1720
1721         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
1722         as unusable.
1723
1724         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
1725         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
1726         (gl_LOCK): New macro.
1727
1728 2006-08-22  Simon Josefsson  <jas@extundo.com>
1729
1730         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
1731         to md5 module.
1732
1733 2006-08-22  Simon Josefsson  <jas@extundo.com>
1734
1735         * MODULES.html.sh: Add "Support for maintaining and release
1736         projects".
1737
1738         * build-aux/gnupload: New file, from coreutils.
1739
1740 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
1741
1742         Avoid the need for AC_LIBSOURCES in m4 macros.
1743         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
1744         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
1745         * modules/check-version (EXTRA_DIST): Add check-version.h.
1746         * modules/crc (EXTRA_DIST): Add crc.h.
1747         * modules/des (EXTRA_DIST): Add des.h.
1748         * modules/gc (EXTRA_DIST): Add gc.h.
1749         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
1750         * modules/getline (EXTRA_DIST): Add getline.h.
1751         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
1752         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
1753         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
1754         * modules/md2 (EXTRA_DIST): Add md2.h.
1755         * modules/md4 (EXTRA_DIST): Add md4.h.
1756         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
1757         * modules/read-file (EXTRA_DIST): Add read-file.h.
1758         * modules/readline (EXTRA_DIST): Add readline.h.
1759         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
1760         rijndael-api-fst.h.
1761
1762 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
1763
1764         * m4/rijndael.m4 (gl_ARCFOUR):
1765         * m4/arctwo.m4 (gl_ARCTWO):
1766         * m4/check-version.m4 (gl_CHECK_VERSION):
1767         * m4/crc.m4 (gl_CRC):
1768         * m4/des.m4 (gl_DES):
1769         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
1770         * m4/gc.m4 (gl_GC):
1771         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
1772         * m4/getline.m4 (gl_FUNC_GETLINE):
1773         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
1774         * m4/hmac-md5.m4 (gl_HMAC_MD5):
1775         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
1776         * m4/md2.m4 (gl_MD2):
1777         * m4/md4.m4 (gl_MD4):
1778         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
1779         * m4/read-file.m4 (gl_FUNC_READ_FILE):
1780         * m4/readline.m4 (gl_FUNC_READLINE):
1781         * m4/rijndael.m4 (gl_RIJNDAEL):
1782         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
1783         to get the necessary .h files and whatnot.
1784
1785 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
1786
1787         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
1788         gnulib rather than the other way around.
1789         * config/srclistvars.sh (COREUTILS): Remove.
1790
1791 2006-08-22  Jim Meyering  <jim@meyering.net>
1792
1793         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
1794
1795         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
1796
1797 2006-08-22  Eric Blake  <ebb9@byu.net>
1798
1799         * modules/regexprops-generic: New file.
1800         * MODULES.html.sh (Support for building documentation): List it.
1801
1802 2006-08-22  Eric Blake  <ebb9@byu.net>
1803
1804         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
1805         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
1806         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
1807         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
1808
1809 2006-08-22  Bruno Haible <bruno@clisp.org>
1810
1811         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
1812         and lib_LTLIBRARIES like the other lib_* variables.
1813
1814 2006-08-22  Bruno Haible <bruno@clisp.org>
1815
1816         * build-aux/x-to-1.in: New file, from GNU gettext.
1817
1818 2006-08-22  Bruno Haible  <bruno@clisp.org>
1819
1820         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
1821         <utmpx.h> exists.
1822
1823 2006-08-22  Bruno Haible  <bruno@clisp.org>
1824
1825         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
1826         <utmpx.h> exists.
1827
1828 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
1829
1830         BeOS portability.
1831         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
1832         exist.
1833         Problem reported by Bruno Haible.
1834
1835 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
1836
1837         Avoid the need for AC_LIBSOURCES in m4 macros.
1838         * modules/acl (EXTRA_DIST): Add acl.h.
1839         * modules/argmatch (Files): Add m4/argmatch.m4.
1840         (configure.ac): Add gl_ARGMATCH.
1841         (EXTRA_DIST): Renamed from lib_SOURCES, for
1842         consistency with the other modules.  Remove argmatch.c.
1843         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
1844         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
1845         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
1846         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
1847         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
1848         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
1849         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
1850         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
1851         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
1852         * modules/closeout (EXTRA_DIST): Add closeout.h.
1853         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
1854         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
1855         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
1856         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
1857         dirname.h; remove basename.c and stripslash.c.
1858         * modules/exclude (EXTRA_DIST): Add exclude.h.
1859         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
1860         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
1861         * modules/file-type (EXTRA_DIST): Add file-type.h.
1862         * modules/filemode (EXTRA_DIST): Add filemode.h.
1863         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
1864         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
1865         * modules/fpending (EXTRA_DIST): Add __fpending.h.
1866         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
1867         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
1868         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
1869         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
1870         * modules/getdate (EXTRA_DIST): Add getdate.c.
1871         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
1872         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
1873         * modules/getpass (EXTRA_DIST): Add getpass.h.
1874         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
1875         * modules/group-member (EXTRA_DIST): Add group-member.h.
1876         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
1877         * modules/hash (EXTRA_DIST): Add hash.h.
1878         * modules/human (EXTRA_DIST): Add human.h.
1879         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
1880         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
1881         * modules/lchown (EXTRA_DIST): Add lchown.h.
1882         * modules/long-options (EXTRA_DIST): Add long-options.h.
1883         * modules/lstat (EXTRA_DIST): Add lstat.h.
1884         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
1885         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
1886         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
1887         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
1888         * modules/memxor (EXTRA_DIST): Add memxor.h.
1889         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
1890         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
1891         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
1892         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
1893         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
1894         * modules/physmem (EXTRA_DIST): Add physmem.h.
1895         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
1896         * modules/posixver (EXTRA_DIST): Add posixver.h.
1897         * modules/quote (EXTRA_DIST): Add quote.h.
1898         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
1899         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
1900         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
1901         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
1902         regex_internal.h regexec.c.
1903         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
1904         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
1905         * modules/same (EXTRA_DIST): Add same.h.
1906         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
1907         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
1908         * modules/savedir (EXTRA_DIST): Add savedir.h.
1909         * modules/sha1 (EXTRA_DIST): Add sha1.h.
1910         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
1911         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
1912         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
1913         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
1914         * modules/strdup (EXTRA_DIST): Add strdup.h.
1915         * modules/strftime (EXTRA_DIST): Add strftime.h.
1916         * modules/strndup (EXTRA_DIST): Add strndup.h.
1917         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
1918         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
1919         * modules/time_r (EXTRA_DIST): Add time_r.h.
1920         * modules/timespec (EXTRA_DIST): Add timespec.h.
1921         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
1922         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
1923         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
1924         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
1925         * modules/userspec (EXTRA_DIST): Add userspec.h.
1926         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
1927         * modules/utimens (EXTRA_DIST): Add utimens.h.
1928         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
1929         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
1930         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
1931         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
1932         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
1933         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
1934         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
1935         * modules/yesno (EXTRA_DIST): Add yesno.h.
1936
1937 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
1938
1939         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
1940
1941         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
1942         * m4/dev-ino.m4, same-inode.m4: Remove.
1943
1944         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
1945         * m4/acl.m4 (AC_FUNC_ACL):
1946         * m4/backupfile.m4 (gl_BACKUPFILE):
1947         * m4/c-strtod.m4 (gl_C99_STRTOLD):
1948         * m4/canon-host.m4 (gl_CANON_HOST):
1949         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
1950         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
1951         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
1952         * m4/cloexec.m4 (gl_CLOEXEC):
1953         * m4/close-stream.m4 (gl_CLOSE_STREAM):
1954         * m4/closeout.m4 (gl_CLOSEOUT):
1955         * m4/dirfd.m4 (gl_FUNC_DIRFD):
1956         * m4/dirname.m4 (gl_DIRNAME):
1957         * m4/exclude.m4 (gl_EXCLUDE):
1958         * m4/exitfail.m4 (gl_EXITFAIL):
1959         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
1960         * m4/file-type.m4 (gl_FILE_TYPE):
1961         * m4/filemode.m4 (gl_FILEMODE):
1962         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
1963         * m4/fpending.m4 (gl_FUNC_FPENDING):
1964         * m4/fprintftime.m4 (gl_FPRINTFTIME):
1965         * m4/fts.m4 (gl_FUNC_FTS):
1966         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
1967         * m4/getdate.m4 (gl_GETDATE):
1968         * m4/gethrxtime.m4 (gl_GETHRXTIME):
1969         * m4/getpagesize.m4 (gl_GETPAGESIZE):
1970         * m4/getpass.m4 (gl_FUNC_GETPASS):
1971         * m4/gettime.m4 (gl_GETTIME):
1972         * m4/getugroups.m4 (gl_GETUGROUPS):
1973         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
1974         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
1975         * m4/hard-locale.m4 (gl_HARD_LOCALE):
1976         * m4/hash.m4 (gl_HASH):
1977         * m4/idcache.m4 (gl_IDCACHE):
1978         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
1979         * m4/lchown.m4 (gl_FUNC_LCHOWN):
1980         * m4/long-options.m4 (gl_LONG_OPTIONS):
1981         * m4/lstat.m4 (gl_FUNC_LSTAT):
1982         * m4/md5.m4 (gl_MD5):
1983         * m4/memcasecmp.m4 (gl_MEMCASECMP):
1984         * m4/memcoll.m4 (gl_MEMCOLL):
1985         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
1986         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
1987         * m4/memxor.m4 (gl_MEMXOR):
1988         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
1989         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
1990         * m4/modechange.m4 (gl_MODECHANGE):
1991         * m4/mountlist.m4 (gl_MOUNTLIST):
1992         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
1993         * m4/openat.m4 (gl_FUNC_OPENAT):
1994         * m4/pathmax.m4 (gl_PATHMAX):
1995         * m4/physmem.m4 (gl_PHYSMEM):
1996         * m4/posixtm.m4 (gl_POSIXTM):
1997         * m4/posixver.m4 (gl_POSIXVER):
1998         * m4/quote.m4 (gl_QUOTE):
1999         * m4/quotearg.m4 (gl_QUOTEARG):
2000         * m4/readtokens.m4 (gl_READTOKENS):
2001         * m4/readutmp.m4 (gl_READUTMP):
2002         * m4/regex.m4 (gl_REGEX):
2003         * m4/safe-read.m4 (gl_SAFE_READ):
2004         * m4/safe-write.m4 (gl_SAFE_WRITE):
2005         * m4/same.m4 (gl_SAME):
2006         * m4/save-cwd.m4 (gl_SAVE_CWD):
2007         * m4/savedir.m4 (gl_SAVEDIR):
2008         * m4/settime.m4 (gl_SETTIME):
2009         * m4/sha1.m4 (gl_SHA1):
2010         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
2011         * m4/stat-macros.m4 (gl_STAT_MACROS):
2012         * m4/stat-time.m4 (gl_STAT_TIME):
2013         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
2014         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
2015         * m4/strdup.m4 (gl_FUNC_STRDUP):
2016         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
2017         * m4/strndup.m4 (gl_FUNC_STRNDUP):
2018         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
2019         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
2020         * m4/time_r.m4 (gl_TIME_R):
2021         * m4/timespec.m4 (gl_TIMESPEC):
2022         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
2023         * m4/unlinkdir.m4 (gl_UNLINKDIR):
2024         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
2025         * m4/userspec.m4 (gl_USERSPEC):
2026         * m4/utimecmp.m4 (gl_UTIMECMP):
2027         * m4/utimens.m4 (gl_UTIMENS):
2028         * m4/xalloc.m4 (gl_XALLOC):
2029         * m4/xgetcwd.m4 (gl_XGETCWD):
2030         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
2031         * m4/xreadlink.m4 (gl_XREADLINK):
2032         * m4/xstrtod.m4 (gl_XSTRTOD):
2033         * m4/yesno.m4 (gl_YESNO):
2034         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
2035         to get the necessary .h files and whatnot.
2036
2037 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
2038             Bruno Haible <bruno@clisp.org>
2039
2040         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
2041         /bin/sh understanding of '!' conditional negation.
2042
2043 2006-08-21  Jim Meyering  <jim@meyering.net>
2044
2045         * modules/openat (Depends-on): Really alphabetize.
2046
2047         * modules/acl (Depends-on): Add error and quote.
2048
2049         * check-module (find_included_lib_files): Add at-func.c to the
2050         ok-to-include-more-than-once white list.
2051
2052         * modules/openat (Depends-on): Add lstat.  Alphabetize.
2053
2054 2006-08-21  Bruno Haible <bruno@clisp.org>
2055
2056         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
2057         Emit a pkgdata_DATA variable only if some snippets add contents to it.
2058         Reported by Martin Lambers <marlam@marlam.de>.
2059
2060 2006-08-21  Bruno Haible <bruno@clisp.org>
2061
2062         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
2063         specify an installation location, don't emit a noinst_LIBRARIES or
2064         noinst_LTLIBRARIES assignment.
2065
2066 2006-08-21  Bruno Haible  <bruno@clisp.org>
2067
2068         BeOS portability.
2069         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
2070         BeOS has mbrtowc() but no <wctype.h>.
2071
2072 2006-08-21  Bruno Haible  <bruno@clisp.org>
2073
2074         BeOS portability.
2075         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
2076         exist.
2077
2078 2006-08-21  Bruno Haible  <bruno@clisp.org>
2079
2080         BeOS portability.
2081         * lib/mbchar.h: Include <wctype.h> only if it exists.
2082
2083 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
2084
2085         Remove files that are no longer needed by their respective modules.
2086         * m4/obstack.m4: Remove.
2087         * m4/strerror_r.m4: Remove.
2088         * m4/uint32_t.m4: Remove.
2089         * m4/uintptr_t.m4: Remove.
2090         * m4/ullong_max.m4: Remove.
2091         * m4/xstrtoimax.m4: Remove.
2092         * m4/xstrtoumax.m4: Remove.
2093
2094         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
2095         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
2096         dependencies now capture this.
2097
2098         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
2099         Do not use AC_LIBSOURCES, since gnulib modules now do this.
2100         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
2101         * m4/human.m4 (gl_HUMAN): Likewise.
2102         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
2103         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
2104
2105         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
2106
2107         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
2108         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
2109         stdint.
2110         * m4/human.m4 (gl_HUMAN): Likewise.
2111         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
2112         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
2113         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
2114         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
2115         * m4/xstrtol (gl_XSTRTOL): Likewise.
2116
2117         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
2118         AC_TYPE_LONG_LONG_INT.
2119         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
2120         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
2121         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
2122         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
2123
2124         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
2125         on stdbool.
2126
2127         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
2128         (gl_PREREQ_XSTRTOUL): Remove.
2129
2130         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
2131
2132         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
2133         mode.
2134
2135 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
2136
2137         Add and change modules to make it easier for coreutils to use
2138         gnulib-tool.
2139         * modules/backupfile (Files): Remove m4/d-ino.m4.
2140         (Depends-on): Add d-ino.
2141         * modules/cycle-check (Depends-on): Add stdint.
2142         (lib_SOURCES): Add cycle-check.h.
2143         * modules/d-ino: New module.
2144         * modules/d-type: New module.
2145         * modules/error (Files): Remove m4/strerror_r.m4.
2146         * modules/filemode (Files): Add m4/st_dm_mode.m4.
2147         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
2148         m4/inttypes_h.m4, m4/uintmax_t.m4.
2149         (Depends-on): Add stdint.
2150         (lib_SOURCES): Add fsusage.h.
2151         * modules/getcwd (Files): Remove d-ino.m4.
2152         (Depends-on): Add d-ino.
2153         * modules/getndelim2 (Depends-on): Add stdint.
2154         * modules/glob (Files): Remove m4/d-type.m4.
2155         (Depends-on): Add d-type.
2156         * modules/host-os: New module.
2157         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
2158         m4/inttypes_h.m4, m4/uintmax_t.m4.
2159         * Depends-on: Add stdint.
2160         (lib_SOURCES): Add human.h.
2161         * modules/inttostr (Files): Remove m4/intmax_t.m4,
2162         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
2163         m4/uintmax_t.m4, m4/ulonglong.m4.
2164         (Depends-on): Add stdint.
2165         (EXTRA_DIST): Add inttostr.h.
2166         * modules/lchmod: New module.
2167         * modules/link-follow: New module.
2168         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
2169         (Depends-on): Add lchmod.
2170         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
2171         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
2172         (Depends-on): Add stdint.
2173         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
2174         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
2175         (Depends-on): Add stdint.
2176         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
2177         * modules/perl: New module.
2178         * modules/regex (Depends-on): Add stdint.
2179         * modules/rmdir-errno: New module.
2180         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
2181         m4/intmax_t.m4.
2182         (Depends-on): Add stdint.
2183         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
2184         m4/uintmax_t.m4.
2185         (Depends-on): Add stdint.
2186         * modules/unlink-busy: New module.
2187         * modules/utimecmp (Depends-on): Add stdint.
2188         * modules/uptime: New module.
2189         * modules/winsz-ioctl: New module.
2190         * modules/winsz-termios: New module.
2191         * modules/xnanosleep (Depends-on): Add nanosleep.
2192         * modules/ullong_max: Remove.
2193         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
2194         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
2195         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
2196         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
2197         (Depends-on): Add inttypes.
2198         (lib_SOURCES): Add xstrtol.h.
2199         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
2200         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
2201         * MODULES.html.sh: Move 'assert' into the assert section.
2202         Move 'dummy' into the linking section.
2203         Remove ullong_max.
2204         Add section for compatibility checks for POSIX:2001 functions,
2205         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
2206         winsz-ioctl, and winsz-termios into it.
2207         Add lchmod.
2208         Add top-level Misc section and put host-os, perl, and uptime
2209         into it.
2210
2211 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
2212
2213         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
2214         now assume the stdint module.  Do not include inttypes.h.
2215         * lib/fsusage.h: Likewise.
2216         * lib/getndelim2.c: Likewise.
2217         * lib/human.h: Likewise.
2218         * lib/inttostr.h: Likewise.
2219         * lib/obstack.c: Likewise.
2220         * lib/regex_internal.h: Likewise.
2221         * lib/tempname.c: Likewise.
2222         * lib/utimecmp.c: Likewise.
2223         * lib/xstrtol.h: Likewise.
2224
2225         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
2226
2227         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
2228         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
2229         * lib/xtime.h: Likewise.
2230
2231 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
2232
2233         * modules/openat (Files): Add lib/fchmodat.c.
2234         Fixes problem reported by Jay Youngman.
2235
2236 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
2237
2238         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
2239         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
2240
2241 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
2242             Bruno Haible  <bruno@clisp.org>
2243
2244         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
2245         and is a script that invokes bison. Tighten the code. Add comments.
2246
2247 2006-08-18  Jim Meyering  <jim@meyering.net>
2248
2249         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
2250         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
2251         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
2252         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
2253
2254 2006-08-18  Bruno Haible  <bruno@clisp.org>
2255
2256         * modules/bison-i18n: New file.
2257         * MODULES.html.sh (Internationalization functions): Add it.
2258
2259 2006-08-18  Bruno Haible  <bruno@clisp.org>
2260
2261         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
2262         sys/statvfs.h. When getmntinfo was found, check its declaration and
2263         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
2264
2265 2006-08-18  Bruno Haible  <bruno@clisp.org>
2266
2267         * m4/bison-i18n.m4: New file, from bison.
2268
2269 2006-08-18  Bruno Haible  <bruno@clisp.org>
2270
2271         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
2272         (ME_DUMMY): Treat "kernfs" as a dummy.
2273         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
2274
2275 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
2276
2277         Update from coreutils.
2278
2279         2006-08-15  Jim Meyering  <jim@meyering.net>
2280
2281         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
2282
2283         2006-01-17  Jim Meyering  <jim@meyering.net>
2284
2285         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
2286
2287         2006-01-11  Jim Meyering  <jim@meyering.net>
2288
2289         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
2290         Check for the lchmod function.
2291
2292 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
2293
2294         Update from coreutils.
2295
2296         * lib/__fpending.h: Add copyright notice.
2297         * lib/fprintftime.h: Likewise.
2298         * lib/savedir.c: Use (C) in copyright notice.
2299         * lib/savedir.h: Likewise.
2300
2301         2006-08-15  Jim Meyering  <jim@meyering.net>
2302
2303         * lib/at-func.c: New file, with the logic of all emulated at-functions.
2304         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
2305         in support of the EXPECTED_ERRNO macro.
2306         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
2307         definitions.  Instead, define the appropriate symbols and include
2308         "at-func.c".
2309         * lib/mkdirat.c (mkdirat): Likewise.
2310         * lib/fchmodat.c (fchmodat): Likewise.
2311         (ENOSYS): Remove definition.
2312         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
2313         it.  Don't include "unistd--.h" -- it wasn't ever used.
2314
2315         2006-01-17  Jim Meyering  <jim@meyering.net>
2316
2317         Rewrite fts.c not to change the current working directory,
2318         by using openat, fstatat, fdopendir, etc..
2319
2320         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
2321         (HAVE_OPENAT_SUPPORT): Define.
2322         [_LIBC] (fchdir): Don't undef or define; no longer used.
2323         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
2324         Now, this `function' always succeeds, and consumes its file descriptor
2325         parameter -- so callers must not close such FDs.  Update callers.
2326         (diropen_fd, opendirat, cwd_advance_fd): New functions.
2327         (diropen): Add parameter, SP.  Adjust all callers.
2328         Implement using diropen_fd, rather than open.
2329         (fts_open): Initialize new member, fts_cwd_fd.
2330         Remove fts_rft-setting code.
2331         (fts_close): Close fts_cwd_fd, if necessary.
2332         (__opendir2): Define in terms of opendir or opendirat,
2333         depending on whether the FST_NOCHDIR flag is set.
2334         (fts_build): Since fts_safe_changedir consumes its FD, and since
2335         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
2336         and close the dup'd file descriptor upon failure.
2337         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
2338         (fts_safe_changedir): Tweak semantics to reflect that this function
2339         now calls cwd_advance_fd and hence consumes its FD argument.
2340         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
2341         [struct FTS] (fts_rft): Remove now-unused member.
2342         [struct FTS] (fts_cycle.state): Improve comment.
2343
2344         * lib/openat.c (openat_needs_fchdir): New function.
2345         * lib/openat.h (openat_needs_fchdir): Declare it.
2346
2347 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
2348
2349         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
2350         Problem and fix reported by Pádraig Brady in
2351         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
2352
2353 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
2354
2355         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
2356
2357 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
2358
2359         * lib/memcoll.c (memcoll): Optimize for the common case where the
2360         arguments are bytewise equal.
2361
2362 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
2363
2364         * doc/regexprops-generic.texi: Add a copyright notice.
2365
2366 2006-08-15  Bruno Haible  <bruno@clisp.org>
2367
2368         * modules/tmpdir (License): Change to LGPL.
2369
2370 2006-08-15  Bruno Haible  <bruno@clisp.org>
2371
2372         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
2373         module.
2374
2375 2006-08-14  Simon Josefsson  <jas@extundo.com>
2376
2377         * config/srclist.txt: Add gnupload.
2378
2379 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
2380
2381         Change copyright notice from LGPL 2 to GPL 2, since that's the
2382         standard form used in the gnulib repository.
2383         * tests/test-lock.c: Likewise.
2384         * tests/test-stdint.c: Likewise.
2385         * tests/test-tls.c: Likewise.
2386
2387         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
2388         prelude-manager.  User shorter URLs for GNU projects, without '?'.
2389         Add copyright notice.
2390
2391         * check-module: Add copyright notice.  Output a copyright
2392         notice if "--version" is specified.
2393         * modules/COPYING: New file.
2394         * tests/test-getaddrinfo.c: Add copyright notice.
2395         * tests/test-verify.c: Likewise.
2396
2397 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
2398
2399         Change copyright notice from LGPL 2 to GPL 2, since that's the
2400         standard form used in the gnulib repository.
2401         * lib/lock.c: LGPL -> GPL.
2402         * lib/lock.h: Likewise.
2403         * lib/strnlen1.c: Likewise.
2404         * lib/strnlen1.h: Likewise.
2405         * lib/tls.c: Likewise.
2406         * lib/tls.h: Likewise.
2407         * lib/tmpdir.c: Likewise.
2408
2409         * lib/TODO: Remove; this belongs only in coreutils.
2410
2411 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
2412
2413         Add copyright notices to long-enough files that lack them, since
2414         otherwise the files aren't clearly free.  Use the same notice that
2415         getdate.texi already uses.
2416         * doc/alloca-opt.texi: Add copyright notice.
2417         * doc/alloca.texi: Likewise.
2418         * doc/ctime.texi: Likewise.
2419         * doc/functions.texi: Likewise.
2420         * doc/gcd.texi: Likewise.
2421         * doc/gnulib-tool.texi: Likewise.
2422         * doc/inet_ntoa.texi: Likewise.
2423         * doc/visibility.texi: Likewise.
2424
2425         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
2426         * doc/quote.texi: Add copyright notice.
2427
2428         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
2429         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
2430         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
2431         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
2432         is now obsolete, and give a pointer to the Sun list.
2433         Add copyright notice.
2434
2435 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
2436
2437         * config/srclistvars.sh: Add copyright notice.
2438
2439 2006-08-14  Eric Blake  <ebb9@byu.net>
2440
2441         Import the following change from libc:
2442
2443         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
2444
2445         Upstream bug 2997.
2446         * lib/misc/error.c: Add space between program name and message if file
2447         name is missing.
2448
2449 2006-08-12  Karl Berry  <karl@gnu.org>
2450
2451         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
2452         remove, these originate in gnulib now.
2453
2454 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2455
2456         * doc/Makefile (standards.info standards.html standards.dvi):
2457         Also depend on make-stds.texi.
2458
2459 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
2460
2461         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
2462         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
2463
2464         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
2465         in wchar_t.  Problem reported by Eric Blake.
2466
2467         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
2468         LEN is smaller than SIZE.  Suggested by Bruno Haible.
2469         Also, help the compiler to keep LEN in a register.
2470
2471 2006-08-11  Eric Blake  <ebb9@byu.net>
2472
2473         * users.txt: Sort.  Add tar.
2474
2475 2006-08-11  Bruno Haible  <bruno@clisp.org>
2476
2477         * users.txt: New file.
2478
2479 2006-08-11  Bruno Haible  <bruno@clisp.org>
2480
2481         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
2482         before <wchar.h>. Needed for OSF/1 and BSD/OS.
2483
2484 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
2485
2486         * modules/snprintf (Depends-on): Remove minmax.
2487         (Maintainer): Add self and Bruno.
2488
2489 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
2490
2491         * lib/.cppi-disable: Add snprintf.h, socket_.h.
2492         * lib/snprintf.c: Include <errno.h> and <limits.h>.
2493         (EOVERFLOW): Define if the system does not.
2494         Do not include "minmax.h"; it wasn't used.
2495         (snprintf): Don't assume size_t promotes to an unsigned type.
2496         Fix bug when generated string was too long for the buffer: the
2497         buffer's contents are supposed to be the initial prefix of the
2498         output.  Don't assume vasnprintf returns EOVERFLOW if the size
2499         exceeds INT_MAX; do the check ourselves.
2500
2501         Import the following changes from libc:
2502
2503         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
2504
2505         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
2506         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
2507         set wc to the byte which couldn't be converted.
2508         (re_string_reconstruct): Don't clear valid_raw_len before calling
2509         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
2510         tip_context using re_string_context_at.
2511
2512         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
2513
2514         * lib/posix/regex.h: g++ still cannot handled [restrict].
2515
2516         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
2517
2518         * lib/posix/regex.h: Remove special handling for VMS.
2519
2520 2006-08-10  Jim Meyering  <jim@meyering.net>
2521
2522         * modules/same-inode: New module.
2523         * modules/dev-ino: New module.
2524         * modules/cycle-check: Depend on these modules, rather than simply
2525         including their .h files.
2526         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
2527         required via m4/cycle-check.m4.
2528         * modules/same: Depend on new same-inode module, rather than
2529         including same-inode.h.
2530         * modules/chdir-safer: New file.
2531
2532         * modules/chown (Depends-on): Add stat-macros.
2533
2534 2006-08-10  Jim Meyering  <jim@meyering.net>
2535
2536         * m4/cycle-check.m4: New file.
2537         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
2538         * m4/dev-ino.m4, same-inode.m4: New files.
2539
2540 2006-08-10  Eric Blake  <ebb9@byu.net>
2541
2542         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
2543         in from original proposal.
2544
2545 2006-08-10  Eric Blake  <ebb9@byu.net>
2546         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2547
2548         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
2549         namespace.
2550
2551 2006-08-10  Bruno Haible  <bruno@clisp.org>
2552
2553         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
2554         as well.
2555
2556 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
2557
2558         Sync from coreutils.
2559
2560         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
2561
2562         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
2563         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
2564
2565 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
2566
2567         * modules/restrict: Remove; no longer needed now that we assume
2568         Autoconf 2.59 or later.
2569         * MODULES.html.sh: Remove 'restrict'.
2570         * modules/argp (Depends-on): Remove 'restrict'.
2571         * modules/base64 (Depends-on): Likewise.
2572         * modules/gc (Depends-on): Likewise.
2573         * modules/getaddrinfo (Depends-on): Likewise.
2574         * modules/glob (Depends-on): Likewise.
2575         * modules/inet_ntop (Depends-on): Likewise.
2576         * modules/inet_pton (Depends-on): Likewise.
2577         * modules/memxor (Depends-on): Likewise.
2578         * modules/regex (Depends-on): Likewise.
2579         * modules/strtok_r (Depends-on): Likewise.
2580         * modules/time_r (Depends-on): Likewise.
2581
2582 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
2583
2584         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
2585         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
2586         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
2587         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
2588         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
2589         * m4/memxor.m4 (gl_MEMXOR): Likewise.
2590         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
2591         gl_C_RESTRICT replaced by AC_C_RESTRICT.
2592
2593         Merge from coreutils.
2594         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
2595         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
2596         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
2597         * m4/time_r.m4 (gl_TIME_R): Likewise.
2598
2599 2006-08-09  Karl Berry  <karl@gnu.org>
2600
2601         * config/srclist.txt: no more gettext-tools, per Bruno.
2602
2603 2006-08-08  Eric Blake  <ebb9@byu.net>
2604
2605         * modules/verror: New module.
2606         * MODULES.html.sh: Document it.
2607
2608 2006-08-08  Eric Blake  <ebb9@byu.net>
2609
2610         * lib/verror.h, verror.c: New files.
2611
2612 2006-08-08  Eric Blake  <ebb9@byu.net>
2613
2614         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
2615         verror_at_line output complies with GNU Coding Standards even when
2616         file is NULL.
2617
2618 2006-08-07  Bruno Haible  <bruno@clisp.org>
2619
2620         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
2621         versions of AIX.
2622         Reported by Ralf Wildenhues.
2623
2624 2006-08-07  Bruno Haible  <bruno@clisp.org>
2625
2626         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
2627         in an AC_DEFUN. Needed so that the autoconf snippets can use
2628         AC_REQUIRE.
2629
2630 2006-08-06  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2631
2632         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
2633         Initialize pkgdata_DATA.
2634         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
2635         overriding it.
2636
2637 2006-08-06  Eric Blake  <ebb9@byu.net>
2638
2639         * lib/error.h: Fold in some upstream changes from glibc.
2640         * lib/error.c: Likewise.
2641
2642 2006-08-04  Bruno Haible  <bruno@clisp.org>
2643
2644         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
2645         Make the mostlyclean-local rule depend on mostlyclean-generic.
2646         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
2647
2648 2006-07-31  Bruno Haible  <bruno@clisp.org>
2649
2650         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
2651         <stdlib.h>, <string.h>.
2652
2653 2006-07-30  Bruno Haible  <bruno@clisp.org>
2654
2655         * modules/readlink (License): Change to LGPL.
2656
2657 2006-07-30  Bruno Haible  <bruno@clisp.org>
2658
2659         * modules/javaversion (Makefile.am): Distribute javaversion.java and
2660         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
2661         set PKGDATADIR to point to it.
2662
2663 2006-07-30  Bruno Haible  <bruno@clisp.org>
2664
2665         * modules/csharpexec (configure.ac): Comment out macro invocation.
2666         * modules/javaexec (configure.ac): Likewise.
2667         * modules/javacomp-script (configure.ac): Likewise.
2668
2669         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
2670
2671 2006-07-30  Bruno Haible  <bruno@clisp.org>
2672
2673         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
2674         linked-list.
2675
2676 2006-07-30  Bruno Haible  <bruno@clisp.org>
2677
2678         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
2679
2680 2006-07-30  Bruno Haible  <bruno@clisp.org>
2681
2682         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
2683         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
2684         get removed.
2685
2686 2006-07-29  Bruno Haible  <bruno@clisp.org>
2687
2688         Make it possible for gnulib-tool to work with locally modified or
2689         augmented gnulib repositories.
2690         * gnulib-tool (func_usage): Document --local-dir option.
2691         (local_gnulib_dir): New variable.
2692         Handle --local-dir option.
2693         (func_lookup_file): New function.
2694         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
2695         (func_get_description, func_get_filelist, func_get_description,
2696         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
2697         func_get_automake_snippet, func_get_include_directive,
2698         func_get_license, func_get_maintainer): Use func_lookup_file.
2699         (func_import, func_create_testdir): Use func_lookup_file.
2700
2701 2006-07-29  Bruno Haible  <bruno@clisp.org>
2702
2703         * modules/setenv (Depends-on): Add unistd.
2704
2705 2006-07-29  Bruno Haible  <bruno@clisp.org>
2706
2707         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
2708
2709 2006-07-29  Bruno Haible  <bruno@clisp.org>
2710
2711         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
2712
2713 2006-07-29  Bruno Haible  <bruno@clisp.org>
2714
2715         * gnulib-tool (import, update): If there is no Makefile.am, look at
2716         aclocal.m4, instead of bailing out.
2717
2718 2006-07-29  Bruno Haible  <bruno@clisp.org>
2719
2720         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
2721         Categorize the options by when they are useful.
2722
2723 2006-07-29  Bruno Haible  <bruno@clisp.org>
2724
2725         * gnulib-tool (func_usage): Document option --no-libtool.
2726         Handle option --no-libtool.
2727         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
2728         for changed semantics of $libtool variable.
2729         (func_import): Likewise. If libtool is not used, show this through
2730         an option --no-libtool.
2731         (func_create_testdir): Update.
2732
2733 2006-07-29  Bruno Haible  <bruno@clisp.org>
2734
2735         * gnulib-tool (func_import): Extend error message about missing
2736         --doc-base.
2737
2738 2006-07-29  Bruno Haible  <bruno@clisp.org>
2739
2740         * gnulib-tool (func_import): Don't create the $docbase directory if
2741         there is no file to store there.
2742
2743 2006-07-29  Bruno Haible  <bruno@clisp.org>
2744
2745         * gnulib-tool (autoconf_minversion): If a --dir option is given and
2746         relevant, look for configure.ac there, not in the current directory.
2747         Also use a simple search for AC_PREREQ, not "autoconf --trace".
2748
2749 2006-07-29  Bruno Haible  <bruno@clisp.org>
2750
2751         * gnulib-tool (SORT): New variable.
2752         (func_usage): Undocument --assume-autoconf option.
2753         Remove --assume-autoconf option handling.
2754         (autoconf_minversion): Determine from the contents of configure.ac.
2755         (func_import): Remove autoconf_minversion handling.
2756         Suggested by Eric Blake.
2757
2758 2006-07-29  Bruno Haible  <bruno@clisp.org>
2759
2760         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
2761
2762 2006-07-29  Bruno Haible  <bruno@clisp.org>
2763
2764         * config/srclist.txt (*setenv.[ch]): Remove rules.
2765
2766 2006-07-28  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
2767
2768         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
2769
2770 2006-07-28  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
2771
2772         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
2773         arpa/inet.h.
2774
2775 2006-07-28  Simon Josefsson  <jas@extundo.com>
2776
2777         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
2778         * modules/inet_pton (Depends-on): Likewise.
2779
2780 2006-07-28  Simon Josefsson  <jas@extundo.com>
2781
2782         * m4/netinet_in_h.m4: New file.
2783
2784 2006-07-28  Simon Josefsson  <jas@extundo.com>
2785
2786         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
2787         #include's.
2788
2789 2006-07-28  Simon Josefsson  <jas@extundo.com>
2790
2791         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
2792         #include's.
2793
2794 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
2795
2796         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
2797         setgid on directories only if they set these bits.
2798         * lib/modechange.h: Remove obsolete comment about masks.
2799
2800 2006-07-28  Eric Blake  <ebb9@byu.net>
2801
2802         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
2803         macro expansion.
2804
2805 2006-07-28  Bruno Haible <bruno@clisp.org>
2806
2807         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
2808
2809 2006-07-28  Bruno Haible  <bruno@clisp.org>
2810
2811         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
2812
2813 2006-07-28  Bruno Haible  <bruno@clisp.org>
2814
2815         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
2816         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
2817         Define fallbacks.
2818         Avoids link error on FreeBSD 4.x.
2819         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
2820
2821         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
2822         encoding.
2823         * lib/mbswidth.c (iswcntrl): Likewise.
2824
2825 2006-07-27  Bruno Haible  <bruno@clisp.org>
2826
2827         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
2828         test.
2829
2830 2006-07-27  Bruno Haible  <bruno@clisp.org>
2831
2832         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
2833         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
2834         defined.
2835
2836 2006-07-26  Eric Blake  <ebb9@byu.net>
2837
2838         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
2839
2840 2006-07-26  Eric Blake  <ebb9@byu.net>
2841
2842         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
2843         like mingw that lack mkstemp.
2844         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
2845         avoid compilation warning on mingw.
2846
2847 2006-07-26  Bruno Haible  <bruno@clisp.org>
2848
2849         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
2850         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
2851         INT_FAST*_MIN, INTPTR_MIN.
2852
2853 2006-07-25  Bruno Haible  <bruno@clisp.org>
2854
2855         * modules/version-etc (Depends-on): Add stdarg.
2856
2857 2006-07-25  Bruno Haible  <bruno@clisp.org>
2858
2859         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
2860         complex commands.
2861
2862 2006-07-25  Bruno Haible  <bruno@clisp.org>
2863
2864         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
2865         defined in <stdarg.h> or config.h.
2866
2867 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
2868
2869         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
2870         (gl_STDIO_SAFER): Remove.
2871
2872 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
2873
2874         * MODULES.html.sh (File stream based Input/Output):
2875         Add fopen-safer, tmpfile-safer; remove stdio-safer.
2876         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
2877         * modules/fopen-safer, modules/tmpfile-safer: New files.
2878         * modules/stdio-safer: Remove.
2879
2880 2006-07-24  Bruno Haible  <bruno@clisp.org>
2881
2882         * modules/tmpdir: New file.
2883         * MODULES.html.sh (File system functions): Add it.
2884
2885 2006-07-24  Bruno Haible  <bruno@clisp.org>
2886
2887         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
2888         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
2889
2890 2006-07-24  Bruno Haible  <bruno@clisp.org>
2891
2892         * modules/clean-temp: New file.
2893
2894 2006-07-24  Bruno Haible  <bruno@clisp.org>
2895
2896         * m4/tmpdir.m4: New file, from GNU gettext.
2897
2898 2006-07-24  Bruno Haible  <bruno@clisp.org>
2899
2900         * lib/tmpdir.h: New file, from GNU gettext.
2901         * lib/tmpdir.c: New file, from GNU gettext.
2902
2903 2006-07-24  Bruno Haible  <bruno@clisp.org>
2904
2905         * lib/clean-temp.h: New file, from GNU gettext.
2906         * lib/clean-temp.c: New file, from GNU gettext.
2907
2908 2006-07-23  Eric Blake  <ebb9@byu.net>
2909
2910         * modules/stdio-safer (Files): Add tmpfile-safer.c.
2911         (Depends-on): Add binary-io.
2912
2913 2006-07-23  Eric Blake  <ebb9@byu.net>
2914
2915         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
2916
2917 2006-07-23  Eric Blake  <ebb9@byu.net>
2918
2919         * lib/tmpfile-safer.c: New file.
2920         * lib/stdio-safer.h (fopen_safer): Add prototype.
2921         * lib/stdio--.h (tmpfile): Make safer.
2922
2923 2006-07-23  Bruno Haible  <bruno@clisp.org>
2924
2925         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
2926         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
2927         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
2928         gl_linked_remove_at): Use it.
2929
2930 2006-07-22  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
2931         and Simon Josefsson <jas@extundo.com>
2932
2933         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
2934
2935         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
2936
2937 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
2938
2939         * modules/close-stream: New file.
2940         * modules/closeout (Description): Make it clear that it exits
2941         with a diagnostic on error.
2942         (Depends-on): Add close-stream.  Remove fpending, stdbool.
2943         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
2944
2945 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
2946
2947         * m4/close-stream.m4: New file.
2948
2949 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
2950
2951         * lib/close-stream.c, close-stream.h: New files.
2952
2953 2006-07-22  Bruno Haible  <bruno@clisp.org>
2954
2955         Merge from GNU gettext 0.15.
2956
2957         2006-05-01  Bruno Haible  <bruno@clisp.org>
2958
2959                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
2960
2961         2006-07-22  Bruno Haible  <bruno@clisp.org>
2962
2963                 * modules/javaversion: New file.
2964                 * MODULES.html.sh (Java): Add javaversion.
2965
2966         2006-03-12  Bruno Haible  <bruno@clisp.org>
2967
2968                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
2969
2970         2005-12-04  Bruno Haible  <bruno@clisp.org>
2971
2972                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
2973                 (untested).
2974
2975         2006-06-21  Bruno Haible  <bruno@clisp.org>
2976
2977                 Avoid warnings from recent versions of mcs.
2978                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
2979                 -o, -L, -r any more. Use options documented since mcs-1.0
2980                 instead. Similarly for -g.
2981
2982         2005-12-04  Bruno Haible  <bruno@clisp.org>
2983
2984                 * build-aux/csharpcomp.sh.in: Suffix for resources is
2985                 .resources, not .resource.
2986
2987         2005-07-09  Bruno Haible  <bruno@clisp.org>
2988
2989                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
2990                 add a .dll suffix.
2991                 Reported by Mark Junker <mjscod@gmx.de>.
2992
2993         2006-07-22  Bruno Haible  <bruno@clisp.org>
2994
2995                 * modules/gettext: Upgrade to gettext-0.15.
2996                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
2997                 m4/visibility.m4.
2998                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
2999
3000 2006-07-22  Bruno Haible  <bruno@clisp.org>
3001
3002         Merge from GNU gettext 0.15.
3003
3004         2006-03-25  Bruno Haible  <bruno@clisp.org>
3005
3006                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
3007
3008         2006-07-21  Bruno Haible  <bruno@clisp.org>
3009
3010                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
3011                 "1.1".
3012
3013         2006-05-09  Bruno Haible  <bruno@clisp.org>
3014
3015                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
3016                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
3017                 for the conftestver execution.
3018
3019         2006-05-01  Bruno Haible  <bruno@clisp.org>
3020
3021                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
3022                 optional target-version argument. Verify that the compiler
3023                 groks source of the specified source-version, or add -source
3024                 option as necessary. Verify that the compiler produces
3025                 bytecode in the specified target-version, or add -target and
3026                 -source options as necessary. Make the result of the test
3027                 available as variable CONF_JAVAC. Also log error output in
3028                 config.log.
3029
3030         2006-03-11  Bruno Haible  <bruno@clisp.org>
3031
3032                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
3033
3034         2006-05-09  Bruno Haible  <bruno@clisp.org>
3035
3036                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
3037                 CLASSPATH_SEPARATOR to a semicolon.
3038
3039         2006-03-12  Bruno Haible  <bruno@clisp.org>
3040
3041                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
3042                 available as variable CONF_JAVA, for subsequent autoconf
3043                 tests. Also log error output in config.log.
3044
3045         2006-07-19  Bruno Haible  <bruno@clisp.org>
3046
3047                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
3048                 that getline works on glibc2 systems. Needed to avoid trouble
3049                 in relocatable.c.
3050                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
3051
3052         2005-12-04  Bruno Haible  <bruno@clisp.org>
3053
3054                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
3055                 launcher (untested).
3056
3057         2005-12-04  Bruno Haible  <bruno@clisp.org>
3058
3059                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
3060
3061         2006-07-22  Bruno Haible  <bruno@clisp.org>
3062
3063                 * gettext.m4: Update from GNU gettext-0.15.
3064                 * nls.m4: Likewise.
3065                 * po.m4: Likewise.
3066                 * inttypes-pri.m4: Likewise.
3067                 * inttypes-h.m4: Renamed from inttypes.m4.
3068                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
3069
3070 2006-07-22  Bruno Haible  <bruno@clisp.org>
3071
3072         Merge from GNU gettext 0.15.
3073
3074         2005-07-05  Bruno Haible  <bruno@clisp.org>
3075
3076                 * printf-args.c (printf_fetchargs): Work around broken
3077                 definition of wint_t on mingw.
3078
3079         2005-02-12  Bruno Haible  <bruno@clisp.org>
3080
3081                 * xallocsa.h: Add extern "C" for C++.
3082
3083         2006-05-17  Bruno Haible  <bruno@clisp.org>
3084
3085                 Cygwin portability.
3086                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
3087
3088         2006-04-30  Bruno Haible  <bruno@clisp.org>
3089
3090                 * progreloc.c: Include <mach-o/dyld.h> if available.
3091                 (find_executable): Use _NSGetExecutablePath when possible.
3092
3093         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
3094
3095                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
3096                 function.
3097
3098         2005-12-29  Bruno Haible  <bruno@clisp.org>
3099
3100                 * progreloc.c (set_program_name_and_installdir): Fix
3101                 compilation error.
3102
3103         2005-12-04  Bruno Haible  <bruno@clisp.org>
3104
3105                 Cygwin portability.
3106                 * progreloc.c: Include <windows.h> also on Cygwin.
3107                 (find_executable): Add support for Cygwin.
3108                 (set_program_name_and_installdir): Handle also platforms with
3109                 nonempty EXEEXT.
3110
3111         2006-07-11  Bruno Haible  <bruno@clisp.org>
3112
3113                 * javacomp.c: Fix a comment.
3114                 Reported by Jim Meyering.
3115
3116         2006-04-30  Bruno Haible  <bruno@clisp.org>
3117
3118                 * javacomp.h (compile_java_class): Add source_version,
3119                 target_version arguments.
3120                 * javacomp.c: Rewritten to choose only a compiler that
3121                 respects the specified source_version and target_version.
3122
3123         2006-06-27  Bruno Haible  <bruno@clisp.org>
3124
3125                 Assume correct S_ISDIR macro.
3126                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
3127
3128         2006-07-22  Bruno Haible  <bruno@clisp.org>
3129
3130                 * javaversion.h: New file, from GNU gettext.
3131                 * javaversion.c: New file, from GNU gettext.
3132                 * javaversion.java: New file, from GNU gettext.
3133                 * javaversion.class: New file, from GNU gettext.
3134
3135         2006-05-17  Bruno Haible  <bruno@clisp.org>
3136
3137                 Cygwin portability.
3138                 * javaexec.c (execute_java_class): Test for jview program
3139                 also on Cygwin.
3140
3141         2006-04-09  Bruno Haible  <bruno@clisp.org>
3142
3143                 * fatal-signal.c: Don't include string.h.
3144                 (at_fatal_signal): Use a copying loop instead of memcpy.
3145
3146         2005-12-04  Bruno Haible  <bruno@clisp.org>
3147
3148                 * csharpexec.c: Add support for 'clix' launcher (untested).
3149                 (execute_csharp_using_sscli): New function.
3150                 (execute_csharp_program): Call it.
3151
3152         2006-06-21  Bruno Haible  <bruno@clisp.org>
3153
3154                 Avoid warnings from recent versions of mcs.
3155                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
3156                 -o, -L, -r any more. Use options documented since mcs-1.0
3157                 instead. Similarly for -g.
3158
3159         2005-07-09  Bruno Haible  <bruno@clisp.org>
3160
3161                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
3162                 add a .dll suffix.
3163                 Reported by Mark Junker <mjscod@gmx.de>.
3164
3165         2006-06-17  Bruno Haible  <bruno@clisp.org>
3166
3167                 * config.charset: Update for NetBSD 3.0.
3168
3169         2006-05-17  Bruno Haible  <bruno@clisp.org>
3170
3171                 Cygwin portability.
3172                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
3173
3174         2006-05-16  Bruno Haible  <bruno@clisp.org>
3175
3176                 * localcharset.c [CYGWIN]: Include <windows.h>.
3177                 (get_charset_aliases): For Cygwin, return the same CPxxx
3178                 aliases list as under WIN32.
3179                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
3180                 the environment variables. Fall back to GetACP().
3181
3182         2006-04-05  Bruno Haible  <bruno@clisp.org>
3183
3184                 * config.charset: Update Juan Manuel Guerrero's address.
3185
3186         2005-02-12  Bruno Haible  <bruno@clisp.org>
3187
3188                 * allocsa.h: Add extern "C" for C++.
3189
3190         2005-02-10  Bruno Haible  <bruno@clisp.org>
3191
3192                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
3193                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
3194
3195         2006-07-22  Bruno Haible  <bruno@clisp.org>
3196
3197                 * gettext.h: Update to GNU gettext-0.15.
3198
3199 2006-07-22  Bruno Haible  <bruno@clisp.org>
3200
3201         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
3202         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
3203         lib-prefix.m4, longdouble.m4, ssize_t.m4.
3204
3205 2006-07-21  Eric Blake  <ebb9@byu.net>
3206
3207         * modules/stdlib-safer: New file.
3208         * MODULES.html.sh (File stream based Input/Output): Add
3209         stdlib-safer.
3210
3211 2006-07-21  Eric Blake  <ebb9@byu.net>
3212
3213         * lib/stdlib-safer.h: New file from coreutils, required by
3214         stdlib--.h.
3215
3216 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
3217
3218         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
3219
3220 2006-07-20  Bruno Haible  <bruno@clisp.org>
3221
3222         * gnulib-tool: Recognize new option --assume-autoconf.
3223         (autoconf_minversion): New variable.
3224         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
3225
3226 2006-07-20  Bruno Haible  <bruno@clisp.org>
3227
3228         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
3229
3230 2006-07-19  Derek R. Price  <derek@ximbiot.com>
3231
3232         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
3233         Reindent and repaginate.
3234
3235 2006-07-19  Derek Price  <derek@ximbiot.com>
3236
3237         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
3238         Correct grammar.
3239
3240 2006-07-17  Bruno Haible  <bruno@clisp.org>
3241
3242         * modules/list: New file.
3243         * modules/array-list: New file.
3244         * modules/carray-list, modules/carray-list-tests: New files.
3245         * modules/linked-list, modules/linked-list-tests: New files.
3246         * modules/avltree-list, modules/avltree-list-tests: New files.
3247         * modules/rbtree-list, modules/rbtree-list-tests: New files.
3248         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
3249         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
3250         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
3251         * modules/oset: New file.
3252         * modules/array-oset: New file.
3253         * modules/avltree-oset, modules/avltree-oset-tests: New files.
3254         * modules/rbtree-oset, rbtree-oset-tests: New files.
3255         * tests/test-carray_list.c: New file.
3256         * tests/test-linked_list.c: New file.
3257         * tests/test-avltree_list.c: New file.
3258         * tests/test-rbtree_list.c: New file.
3259         * tests/test-linkedhash_list.c: New file.
3260         * tests/test-avltreehash_list.c: New file.
3261         * tests/test-rbtreehash_list.c: New file.
3262         * tests/test-avltree_oset.c: New file.
3263         * tests/test-rbtree_oset.c: New file.
3264         * MODULES.html.sh (Container data structures): New section.
3265
3266 2006-07-17  Bruno Haible  <bruno@clisp.org>
3267
3268         * m4/gl_list.m4: New file.
3269
3270 2006-07-17  Bruno Haible  <bruno@clisp.org>
3271
3272         * lib/gl_list.h: New file.
3273         * lib/gl_list.c: New file.
3274         * lib/gl_array_list.h: New file.
3275         * lib/gl_array_list.c: New file.
3276         * lib/gl_carray_list.h: New file.
3277         * lib/gl_carray_list.c: New file.
3278         * lib/gl_linked_list.h: New file.
3279         * lib/gl_linked_list.c: New file.
3280         * lib/gl_anylinked_list1.h: New file.
3281         * lib/gl_anylinked_list2.h: New file.
3282         * lib/gl_avltree_list.h: New file.
3283         * lib/gl_avltree_list.c: New file.
3284         * lib/gl_anyavltree_list1.h: New file.
3285         * lib/gl_anyavltree_list2.h: New file.
3286         * lib/gl_rbtree_list.h: New file.
3287         * lib/gl_rbtree_list.c: New file.
3288         * lib/gl_anyrbtree_list1.h: New file.
3289         * lib/gl_anyrbtree_list2.h: New file.
3290         * lib/gl_anytree_list1.h: New file.
3291         * lib/gl_anytree_list2.h: New file.
3292         * lib/gl_linkedhash_list.h: New file.
3293         * lib/gl_linkedhash_list.c: New file.
3294         * lib/gl_anyhash_list1.h: New file.
3295         * lib/gl_anyhash_list2.h: New file.
3296         * lib/gl_avltreehash_list.h: New file.
3297         * lib/gl_avltreehash_list.c: New file.
3298         * lib/gl_rbtreehash_list.h: New file.
3299         * lib/gl_rbtreehash_list.c: New file.
3300         * lib/gl_anytreehash_list1.h: New file.
3301         * lib/gl_anytreehash_list2.h: New file.
3302
3303         * lib/gl_oset.h: New file.
3304         * lib/gl_oset.c: New file.
3305         * lib/gl_array_oset.h: New file.
3306         * lib/gl_array_oset.c: New file.
3307         * lib/gl_avltree_oset.h: New file.
3308         * lib/gl_avltree_oset.c: New file.
3309         * lib/gl_rbtree_oset.h: New file.
3310         * lib/gl_rbtree_oset.c: New file.
3311         * lib/gl_anytree_oset.h: New file.
3312
3313 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
3314
3315         * m4/mkancesdirs.m4: New file.
3316         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
3317         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
3318         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
3319         it.
3320
3321 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
3322
3323         * lib/dirchownmod.c, dirchownmod.h, mkancesdirs.c, mkancesdirs.h:
3324         New files.
3325         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
3326         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
3327         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
3328         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
3329         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
3330         callers changed.  Revamp internals significantly, by not
3331         attempting to create directories that are temporarily more
3332         permissive than the final results.  Do not attempt to use
3333         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
3334         This removes some race conditions, fixes some bugs, and simplifies
3335         things.  Use new dirchownmod function to do owner and mode changes.
3336         * lib/mkdir-p.h: Likewise.
3337         * lib/modechange.c (octal_to_mode): New function.
3338         (struct mode_change): New member mentioned.
3339         (make_node_op_equals): New arg mentioned.  All callers changed.
3340         (mode_compile): Keep track of which mode bits the user has explicitly
3341         mentioned.
3342         (mode_adjust): New arg DIR, so that we implement the X op correctly.
3343         New arg PMODE_BITS, to keep track of which mode bits the user
3344         mentioned; it treats S_ISUID and S_ISGID speciall.
3345         All callers changed.
3346         * lib/modechange.h: Likewise.
3347
3348 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
3349
3350         * MODULES.html.sh: Add mkancestors.
3351         * modules/mkancesdirs: New module.
3352         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
3353         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
3354         The chdir-safer and afs files are now orphans; I'll remove them
3355         unless someone speaks up.
3356         Add lib/dirchownmod.c, lib/dirchownmod.h.
3357         (Depends-on): Remove alloca, chown, save-cwd, dirname.
3358         Add lchown, mkancesdirs.
3359         (Maintainer): Add self.
3360
3361 2006-07-15  Karl Berry  <karl@gnu.org>
3362
3363         * gnulib-tool: help message wording/arrangement.
3364
3365 2006-07-14  Simon Josefsson  <jas@extundo.com>
3366
3367         * doc/gnulib.texi (Libtool and Windows): New section.
3368
3369 2006-07-12  Simon Josefsson  <jas@extundo.com>
3370
3371         * modules/gendocs (License): Fix license, approved by Karl.
3372
3373 2006-07-12  Eric Blake  <ebb9@byu.net>
3374
3375         * MODULES.html.sh: Add gendocs.
3376
3377 2006-07-11  Eric Blake  <ebb9@byu.net>
3378
3379         * modules/fdl: New module, to install doc/fdl.texi.
3380         * MODULES.html.sh: Add new section for documentation modules.
3381         * gnulib-tool: Avoid space-tab.
3382         (--doc-base): New option, to manage files from doc.
3383
3384 2006-07-11  Eric Blake  <ebb9@byu.net>
3385
3386         * m4/absolute-header.m4: Fix comments to match recent change.
3387
3388 2006-07-11  Eric Blake  <ebb9@byu.net>
3389
3390         * gnulib-tool: List --doc-base before --tests-base.
3391
3392 2006-07-11  Derek R. Price  <derek@ximbiot.com>
3393
3394         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
3395
3396 2006-07-11  Bruno Haible  <bruno@clisp.org>
3397
3398         * README: Mention where to put documentation.
3399
3400 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3401
3402         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
3403
3404 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
3405
3406         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
3407         to stdint.m4.
3408
3409 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
3410
3411         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
3412         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
3413         "no/such/file/stdint.h" when there is no such file, so that
3414         the resulting C code can be parsed by dodgy compilers.
3415         Problems reported by Bob Proulx.
3416
3417 2006-07-10  Derek R. Price  <derek@ximbiot.com>
3418
3419         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
3420         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
3421         macros into the GNU _D_EXACT_NAMLEN.
3422         * lib/savedir.c:  Likewise.
3423         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
3424
3425 2006-07-10  Derek R. Price  <derek@ximbiot.com>
3426         and Paul Eggert  <eggert@cs.ucla.edu>
3427
3428         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
3429         * m4/savedir.m4:
3430         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
3431         macros into the GNU _D_EXACT_NAMLEN.
3432
3433 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
3434
3435         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
3436         around the absolute name, to work around a problem with the HP-UX
3437         11.23 native C compiler, reported by Bob Proulx.
3438
3439 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
3440
3441         * doc/maintain.texi, make-stds.texi: Sync from
3442         <http://savannah.gnu.org/projects/gnustandards>.
3443
3444 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
3445
3446         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
3447
3448 2006-07-09  Jim Meyering  <jim@meyering.net>
3449
3450         * m4/glob.m4: Remove a doubled word in a comment.
3451
3452 2006-07-09  Jim Meyering  <jim@meyering.net>
3453
3454         * lib/argp-pv.c: Remove a doubled word in a comment.
3455         * lib/check-version.c (check_version): Likewise.
3456         * lib/javacomp.c (compile_java_class): Likewise.
3457
3458 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
3459
3460         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
3461         for the benefit of people using Autoconf 2.60.  If you want to
3462         support older Autoconf versions you can copy m4/onceonly_2_57.m4
3463         (or m4/onceonly.m4, if pre-2.57) manually.
3464
3465 2006-07-08  Jim Meyering  <jim@meyering.net>
3466
3467         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
3468         comment.
3469         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
3470         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
3471         comment.
3472
3473 2006-07-08  Jim Meyering  <jim@meyering.net>
3474
3475         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
3476
3477 2006-07-07  Simon Josefsson  <jas@extundo.com>
3478
3479         * tests/test-crc.c: Change expected crc value, the test vector
3480         were probably computed using the old broken crc.c?
3481
3482 2006-07-06  Simon Josefsson  <jas@extundo.com>
3483
3484         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
3485         now the canonical place for the M4 file).
3486
3487         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
3488         from the sys_socket dependency now.
3489
3490         * modules/inet_pton (Files): Ditto.
3491
3492         * modules/inet_ntop (Files): Ditto.
3493
3494 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
3495
3496         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
3497         not gl_PREREQ_GETUSERSHELL.
3498
3499 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3500
3501         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
3502         with only one argument, for Autoconf 2.60.
3503         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
3504         expand to nothing, so add a shell command to avoid syntax error.
3505         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
3506
3507 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3508
3509         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
3510
3511 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
3512
3513         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
3514         no longer needed.  Check for isblank decl.
3515         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
3516         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
3517         of existence.
3518
3519 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
3520
3521         * lib/getloadavg.c: Use __VMS, not VMS.
3522         * lib/getopt.c: Likewise.
3523         * lib/getpagesize.h: Likewise.
3524         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
3525         and probably does not work.
3526
3527 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
3528
3529         * lib/.cppi-disable: Add wcwidth.
3530         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
3531         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
3532         (ISGRAPH): Remove.  All uses changed to isgraph.
3533         (FOLD) [!defined _LIBC]: Remove special case.
3534         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
3535         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
3536         HAVE_ISBLANK.
3537         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
3538         case.
3539
3540 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
3541
3542         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
3543         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
3544         brackets.  Other minor changes to suppress some compiler
3545         warnings.
3546
3547 2006-07-06  Derek R. Price  <derek@ximbiot.com>
3548         and Paul Eggert  <eggert@cs.ucla.edu>
3549
3550         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
3551         of invoking obsolescent AC_HEADER_DIRENT macro.
3552         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
3553         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
3554         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
3555         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
3556         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
3557         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
3558         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
3559         * m4/readdir.m4: Remove; no longer needed.
3560
3561 2006-07-06  Derek R. Price  <derek@ximbiot.com>
3562         and Paul Eggert  <eggert@cs.ucla.edu>
3563
3564         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
3565         Don't worry about this obsolete case any more.
3566         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
3567         directories.
3568         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
3569         worry about this obsolete case any more.
3570         * lib/fts.c: Likewise.
3571         * lib/getcwd.c: Likewise.
3572         * lib/glob.h: Likewise.
3573         * lib/savedir.c: Likewise.
3574
3575 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
3576
3577         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
3578         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
3579         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
3580         needed.
3581         All uses removed.
3582         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
3583         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
3584         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
3585         needed.
3586         * m4/getdate.m4 (gl_GETDATE): Likewise.
3587         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
3588         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
3589         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
3590         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
3591         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
3592         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
3593         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
3594         needed.
3595
3596 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
3597
3598         * lib/memcasecmp.c: Include <limits.h>.
3599         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
3600         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
3601         Don't assume isdigit succeeds only on '0' through '9'.
3602
3603 2006-07-05  Eric Blake  <ebb9@byu.net>
3604
3605         * modules/getaddrinfo (Depends-on): Add snprintf.
3606
3607 2006-07-05  Eric Blake  <ebb9@byu.net>
3608
3609         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
3610         to avoid 'header present but could not be compiled' on cygwin.
3611
3612 2006-07-05  Eric Blake  <ebb9@byu.net>
3613
3614         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
3615         missing from netdb.h.
3616         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
3617
3618 2006-07-05  Derek R. Price  <derek@ximbiot.com>
3619
3620         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
3621         no longer needed.
3622         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
3623         * m4/getdate.m4 (gl_GETDATE): Likewise.
3624         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
3625         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
3626         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
3627         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
3628         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
3629
3630 2006-07-05  Derek R. Price  <derek@ximbiot.com>
3631
3632         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
3633         All uses of is_space replaced by isspace.
3634         * lib/exit.h: Don't talk about STDC_HEADERS.
3635         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
3636         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
3637         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
3638         replaced by isprint etc.
3639         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
3640         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
3641         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
3642         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
3643         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
3644         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
3645
3646 2006-07-05  Bruno Haible  <bruno@clisp.org>
3647
3648         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
3649         the function exists, before testing against AIX.
3650         Reported by Martin Lambers <marlam@marlam.de>.
3651
3652 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
3653
3654         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
3655         From Mark D. Baushke.
3656
3657 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
3658
3659         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
3660         to the absolute name, not just one, to bypass Sun C 5.8's
3661         "warning: #include of /usr/include/... may be non-portable".
3662
3663 2006-07-04  Eric Blake  <ebb9@byu.net>
3664
3665         * modules/dirname-tests: New test module.
3666         * tests/test-dirname.c: New file, replacing dirname.c
3667         TEST_DIRNAME section that was recently deleted.
3668
3669 2006-07-04  Bruno Haible  <bruno@clisp.org>
3670
3671         Assume ANSI C header files and <ctype.h> functions.
3672         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
3673         (mbsnwidth): Use isprint, iscntrl instead.
3674
3675 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
3676
3677         Merge from coreutils.
3678         * MODULES.html.sh: Add xstrtold.
3679         * modules/xstrtold: New file.
3680         * modules/cycle-check (Files): Add lib/same-inode.h.
3681         * modules/dirname (Files): Add m4/double-slash-root.m4.
3682         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
3683         * modules/mkdir-p (Files): Add lib/same-inode.h.
3684         * modules/same (Files): Add lib/same-inode.h.
3685
3686 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
3687
3688         * m4/absolute-header.m4: Renamed from full-header-path.m4.
3689         This is to keep the terminology clean; POSIX talks about
3690         "absolute pathnames", not "full pathnames", but the GNU
3691         Coding Standards say to use "path" for something else;
3692         so use "absolute" to keep both sides happy.
3693         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
3694         Set gl_absolute_header, not gl_full_header_path.
3695         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
3696         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
3697         All uses changed.
3698
3699         Merge from coreutils.
3700
3701         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
3702
3703         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
3704         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
3705         want to require the building of c-strtod.o.
3706         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
3707         needs -lm directly.
3708         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
3709
3710         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
3711
3712         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
3713         --as-needed option if available.  Problem reported by Albert Chin in
3714         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
3715         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
3716         cc merely issues a bunch of annoying warnings for --as-needed
3717         (this problem was reported by Bob Proulx).  Also, try linking with
3718         -lm to detect a bug in binutils 2.16 (this problem was reported
3719         by Ralf Wildenhues).
3720
3721         2006-06-18  Jim Meyering  <jim@meyering.net>
3722
3723         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
3724         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
3725         macro.
3726         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
3727         also check for glibc-2.4's abort-inducing bug.
3728
3729         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
3730         Low-probability clean-up should be to use rmdir to get rid of
3731         the just-created directory, not unlink.
3732
3733         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
3734         configure fail, and request a bug report to inform us about it.
3735         Add a comment that, barring reports to the contrary, in 2007 we'll
3736         assume ftruncate is universally available.
3737
3738         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
3739
3740         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
3741
3742         2006-03-12  Jim Meyering  <jim@meyering.net>
3743
3744         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
3745         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
3746         * m4/same.m4 (gl_SAME): Likewise.
3747         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
3748
3749         2006-03-11  Eric Blake  <ebb9@byu.net>
3750
3751         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
3752         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
3753         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
3754         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
3755
3756 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
3757
3758         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
3759         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
3760         reported by Mark D. Baushke, one in
3761         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
3762
3763         Merge from coreutils.
3764
3765         * lib/.cppi-disable: Add stdint_.h.
3766         * lib/.cvsignore: Add stdint.h.
3767
3768         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
3769
3770         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
3771         both double and long double versions.
3772         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
3773         * lib/xstrtold.c: New file.
3774         * lib/xstrtod.h (xstrtold): New decl.
3775
3776         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
3777
3778         * lib/filemode.c (setst): Remove.
3779         (strmode): Rewrite to avoid setst.  This makes the code shorter,
3780         (arguably) clearer, and the generated code is a bit smaller on my
3781         Debian GNU/Linux stable x86 host.
3782
3783         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
3784
3785         * lib/filemode.c: Include "filemode.h" first, to test the interface.
3786         Assume that filemode.h includes sys/types.h and sys/stat.h.
3787         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
3788         (ftypelet): Reorder to put common cases first, for efficiency.
3789         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
3790         to do 'M'.
3791         (strmode): Renamed from mode_string, and now stores 12 bytes instead
3792         of 10, for compatibility with FreeBSD.  All callers changed.
3793         (filemodestring): Now stores 12 bytes instead of 10, and sets file
3794         types that can't be deduced solely from st_mode.  First arg is now a
3795         const pointer.
3796         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
3797         (strmode): Renamed from mode_string.
3798         (filemodestring): New decl.
3799         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
3800         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
3801         needed.
3802         (S_ISPORT, S_ISWHT): New macros, if not already defined.
3803
3804         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
3805
3806         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
3807         fsusage.h now does that.  Include fsusage.h first, to test interface.
3808         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
3809         at most one method (the old code could have generated decls that
3810         didn't conform to C89, not that this was ever exercised).
3811         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
3812
3813         2006-03-19  Jim Meyering  <jim@meyering.net>
3814
3815         Work even in a chroot where d_ino values for entries in "/"
3816         don't match the stat.st_ino values for the same names.
3817         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
3818         number, iterate through all entries again, using lstat instead.
3819         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
3820         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
3821
3822         * lib/getcwd.c (__getcwd): Clarify a comment.
3823         Use memcpy in place of a call to strcpy.
3824
3825         2006-03-12  Jim Meyering  <jim@meyering.net>
3826
3827         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
3828         matches that of the current directory (which we're about to chdir ".."
3829         out of), then save the dev-ino of the parent, instead.
3830
3831         * lib/same-inode.h (SAME_INODE): New file/macro.
3832         * lib/chdir-safer.c (SAME_INODE): Remove definition.
3833         Include "same-inode.h", instead.
3834         * lib/same.c: Likewise.
3835         * lib/cycle-check.h: Include "same-inode.h".
3836         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
3837         * lib/cycle-check.c (SAME_INODE): Remove definition.
3838         * lib/root-dev-ino.h: Include "same-inode.h".
3839
3840         2006-03-11  Eric Blake  <ebb9@byu.net>
3841
3842         * lib/same.c (same_name): s/base_name/last_component/
3843         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
3844         * lib/filenamecat.c (file_name_concat): Likewise.
3845
3846         2006-03-11  Eric Blake  <ebb9@byu.net>,
3847                     Paul Eggert  <eggert@cs.ucla.edu>
3848
3849         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
3850         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
3851         drive prefix.
3852         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
3853         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
3854         (last_component): New method.
3855         * lib/dirname.c (dir_len): Determine when drive letters need a
3856         subsequent slash.  Preserve // when it is special.
3857         (dir_name): Don't append dot when drive letter is absolute.
3858         [TEST_DIRNAME]: Move into a full-blown gnulib test.
3859         * lib/basename.c (base_name): New semantics - malloc the result.
3860         Preserve // when it is special.  Preserve relative files that look
3861         like drive letters.
3862         (base_len): Preserve // when it is special.
3863         (last_component): New method, similar to old base_name semantics.
3864         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
3865         base_name.  Strip redundant slashes from ///.
3866
3867 2006-07-03  Jim Meyering  <jim@meyering.net>
3868
3869         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
3870         macro is used before the first cycle_check call.
3871
3872 2006-07-03  Eric Blake  <ebb9@byu.net>
3873
3874         * modules/dirname (Depends-on): Add xstrndup.
3875
3876 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
3877
3878         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
3879         test cases, so that config.log is a bit easier to follow.
3880
3881 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
3882
3883         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
3884         both are 64 bits, since this seems to be the tradition, and this
3885         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
3886         we ever run into a host that prefers long long to long in this
3887         case, we'll need another configure-time test.  Problem reported by
3888         Jim Meyering.
3889
3890 2006-07-02  Eric Blake  <ebb9@byu.net>
3891
3892         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
3893
3894 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
3895
3896         * modules/inttypes (Depends-on): No longer depends on stdint.
3897         * modules/stdint (Description): Say more about assumptions.
3898         Say that the fast types might differ.  Say macros are used.
3899         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
3900         (Makefile.am): Revise list of substituted symbols to match
3901         new stdint.m4.
3902         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
3903         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
3904         * tests/test-stdint.c (verify_same_types)
3905         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
3906         the code conforms to C99/C89.
3907         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
3908         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
3909
3910 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
3911
3912         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
3913         but fix a bug, by requiring at least 64 bits.
3914         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
3915         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
3916         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
3917         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
3918
3919         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
3920         changes.  Make 2.59 a prerequisite.  Check and substitute for
3921         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
3922         inttypes.h.  Do not use special include files; just use the
3923         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
3924         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
3925         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
3926         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
3927         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
3928         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
3929         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
3930         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
3931         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
3932         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
3933         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
3934         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
3935         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
3936         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
3937         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
3938         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
3939         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
3940         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
3941         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
3942         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
3943         WINT_MAX.  Check for C99 conformance more strictly, by detecting
3944         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
3945         not check for things that C99 does not require, e.g., int8_t.  If
3946         a test isn't needed unless <stdint.h> isn't working, and is
3947         unlikely to be needed for any other reason, then don't do it
3948         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
3949         size_t, since we assume C89 freestanding at least.  Do not check
3950         for sig_atomic_t, wchar_t, or wint_t, since the code now does
3951         the right thing even if the types are not defined.  Instead use:
3952         (gl_STDINT_TYPE_PROPERTIES): New macro.
3953         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
3954         testing whether <sys/types.h> clashes, as Autoconf does this for
3955         us now.  All uses removed.
3956         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
3957         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
3958         (gl_CHECK_TYPE_SAME):
3959         Remove; no longer needed.
3960         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
3961         exists, since we'll return 0 anyway in that case.
3962         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
3963
3964 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
3965
3966         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
3967         possible collision with system files.
3968         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
3969         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
3970         WCHAR_MIN and WCHAR_MAX in this case.
3971         (<stddef.h>): Do not include; no longer needed.
3972         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
3973         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
3974         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
3975         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
3976         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
3977         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
3978         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
3979         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
3980         !defined(__c99))]: Include in this case too, since it's harmless
3981         now.
3982         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
3983         dangerous to do so.
3984         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
3985         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
3986         (_STDINT_MIN, _STDINT_MAX): New macros.
3987         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
3988         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
3989         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
3990         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
3991         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
3992         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
3993         macros, not typedefs; this simplifies things quite a bit.
3994         Use long int for all types narrower than int64_t.
3995         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
3996         Define in terms of long long int or int64_t or long int,
3997         not int64_t or int32_t.  This saves some compile-time testing.
3998         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
3999         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
4000         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
4001         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
4002         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
4003         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
4004         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
4005         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
4006         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
4007         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
4008         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
4009         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
4010         undef any previous version and define our own version, for
4011         simplicity and consistency with the new macros for types.
4012         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
4013         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
4014         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
4015         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
4016         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
4017         @WINT_T_SUFFIX@ to keep things simple here.
4018         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
4019         Simplify by assuming typical 8/16/32/64 host, since we're
4020         already doing that elsewhere anyway.
4021         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
4022         and assume long long int is 64 bits if available.  This
4023         speeds up 'configure'.
4024
4025 2006-07-01  Eric Blake  <ebb9@byu.net>
4026
4027         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
4028         Reported by Andreas Buening.
4029
4030 2006-07-01  Eric Blake  <ebb9@byu.net>
4031
4032         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
4033
4034 2006-06-30  Jim Hyslop <jhyslop@dreampossible.ca>  (tiny change)
4035
4036         * lib/getaddrinfo.c: fixed typo
4037
4038 2006-06-29  Jim Meyering  <jim@meyering.net>
4039
4040         * modules/strftime (Maintainer): Add my name, since with the
4041         FPRINTFTIME changes strftime.c has forked from glibc.
4042
4043 2006-06-29  Eric Blake  <ebb9@byu.net>
4044
4045         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
4046
4047 2006-06-29  Eric Blake  <ebb9@byu.net>
4048
4049         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
4050
4051 2006-06-29  Eric Blake  <ebb9@byu.net>
4052
4053         * lib/stat_.h: New file.
4054
4055 2006-06-29  Eric Blake  <ebb9@byu.net>
4056
4057         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
4058         unused static function.
4059
4060 2006-06-29  Eric Blake  <ebb9@byu.net>
4061
4062         * doc/functions.texi (Function Portability): Document missing lstat
4063         on mingw.
4064
4065 2006-06-29  Eric Blake  <ebb9@byu.net>
4066
4067         * MODULES.html.sh: Add sys_stat.
4068         * modules/sys_stat: New module.
4069         * modules/mkstemp (Depends-on): Add sys_stat.
4070
4071 2006-06-29  Derek R. Price  <derek@ximbiot.com>
4072
4073         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
4074
4075 2006-06-29  Derek R. Price  <derek@ximbiot.com>
4076
4077         * m4/c-bs-a.m4: Removed.
4078
4079 2006-06-29  Derek R. Price  <derek@ximbiot.com>
4080
4081         * lib/strftime.c: Assume strftime() exists.
4082
4083 2006-06-29  Derek Price  <derek@ximbiot.com>
4084
4085         * modules/c-bs-a: Removed - \a is C89.
4086         * MODULES.html.sh: Remove c-bs-a.
4087
4088 2006-06-29  Bruno Haible  <bruno@clisp.org>
4089
4090         * modules/wcwidth (License): Change to LGPL.
4091
4092 2006-06-28  Simon Josefsson  <jas@extundo.com>
4093
4094         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
4095         on _WIN32.
4096
4097         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
4098         getnameinfo.
4099
4100 2006-06-28  Simon Josefsson  <jas@extundo.com>
4101
4102         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
4103
4104 2006-06-28  Simon Josefsson  <jas@extundo.com>
4105
4106         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
4107         functions there.  It will succeed on Windows XP, but on Windows
4108         2000 and (presumably) earlier, it will fail, and use the internal
4109         re-implementation.
4110         (use_win32_p): New function.
4111         (getaddrinfo): Use strtoul on servname, to support numeric ports.
4112         Support AI_NUMERICSERV to disable getservbyname.
4113         (getnameinfo): New function, only supports
4114         NI_NUMERICHOST|NI_NUMERICSERV for now.
4115
4116         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
4117         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
4118         getnameinfo.
4119
4120 2006-06-28  Eric Blake  <ebb9@byu.net>
4121
4122         * modules/wcwidth: New file.
4123         * modules/mbchar (Depends-on): Add wcwidth.
4124         * modules/mbswidth (Depends-on): Add wcwidth.
4125         * MODULES.html.sh: Add wcwidth.
4126
4127 2006-06-28  Eric Blake  <ebb9@byu.net>
4128
4129         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
4130         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
4131
4132 2006-06-28  Eric Blake  <ebb9@byu.net>
4133
4134         * lib/xvasprintf.h: Fix comments.
4135
4136 2006-06-28  Eric Blake  <ebb9@byu.net>
4137
4138         * lib/mbchar.h (wcwidth): Include wcwidth.h.
4139         * lib/mbswidth.c (wcwidth): Move from here...
4140         * lib/wcwidth.h: ...to this new file.
4141
4142 2006-06-28  Derek R. Price  <derek@ximbiot.com>
4143
4144         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
4145
4146         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
4147         it's obsolete.
4148         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
4149
4150 2006-06-28  Derek R. Price  <derek@ximbiot.com>
4151
4152         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
4153         Autoconf 2.60 says this stuff was obsolete.
4154
4155 2006-06-28  Bruno Haible  <bruno@clisp.org>
4156
4157         * modules/wcwidth (Files): Add m4/wchar_t.m4.
4158
4159 2006-06-28  Bruno Haible  <bruno@clisp.org>
4160
4161         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
4162         gt_TYPE_WCHAR_T.
4163
4164 2006-06-28  Bruno Haible  <bruno@clisp.org>
4165
4166         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
4167         declaration for wcwidth.
4168         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
4169
4170 2006-06-28  Bruno Haible  <bruno@clisp.org>
4171
4172         * lib/mkdtemp.c [MINGW]: Include <io.h>.
4173         (mkdir): Define using _mkdir.
4174
4175 2006-06-28  Bruno Haible  <bruno@clisp.org>
4176
4177         * lib/getaddrinfo.h: Fix POSIX URL.
4178         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
4179         _WIN32.
4180         (use_win32_p): Make static.
4181         (getaddrinfo): Reject service name if it is empty or does not consist
4182         solely of decimal digits, or if its value is > 65535.
4183         (getnameinfo): Remove useless casts.
4184
4185 2006-06-27  Simon Josefsson  <jas@extundo.com>
4186
4187         * modules/sys_select: New file, suggested by Bruno Haible, Paul
4188         Eggert and Martin Lambers.
4189
4190 2006-06-27  Simon Josefsson  <jas@extundo.com>
4191
4192         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
4193         Eggert and Martin Lambers.
4194
4195 2006-06-27  Bruno Haible  <bruno@clisp.org>
4196
4197         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
4198         result to 0, not to empty.
4199         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
4200
4201 2006-06-27  Bruno Haible  <bruno@clisp.org>
4202
4203         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
4204
4205 2006-06-26  Simon Josefsson  <jas@extundo.com>
4206
4207         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
4208         present.
4209
4210 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
4211
4212         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
4213         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
4214         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
4215
4216 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
4217
4218         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
4219
4220 2006-06-26  Bruno Haible  <bruno@clisp.org>
4221
4222         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
4223
4224 2006-06-26  Bruno Haible  <bruno@clisp.org>
4225
4226         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
4227
4228 2006-06-26  Bruno Haible  <bruno@clisp.org>
4229
4230         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
4231         SGI C compiler in pre-C99 mode.
4232         Suggested by Mark D. Baushke and Larry Jones.
4233
4234 2006-06-26  Bruno Haible  <bruno@clisp.org>
4235
4236         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
4237         WCHAR_MAX.
4238         Reported by Mark D. Baushke and Larry Jones.
4239
4240 2006-06-26  Bruno Haible  <bruno@clisp.org>
4241
4242         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
4243         in pre-C99 mode.
4244         Suggested by Mark D. Baushke and Larry Jones.
4245
4246 2006-06-23  Simon Josefsson  <jas@extundo.com>
4247             Bruno Haible  <bruno@clisp.org>
4248
4249         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
4250         Emit mostlyclean-local rule.
4251         (func_emit_tests_Makefile_am): Likewise.
4252         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
4253
4254 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
4255
4256         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
4257
4258 2006-06-23  Bruno Haible  <bruno@clisp.org>
4259
4260         * tests/test-stdint.c: Update to match ISO C 99 Technical
4261         Corrigendum 1.
4262
4263 2006-06-23  Bruno Haible  <bruno@clisp.org>
4264
4265         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
4266
4267 2006-06-23  Bruno Haible  <bruno@clisp.org>
4268
4269         * lib/stdint_.h: Treat IRIX like OpenBSD.
4270
4271 2006-06-23  Bruno Haible  <bruno@clisp.org>
4272
4273         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
4274         ISO C 99 Technical Corrigendum 1.
4275
4276 2006-06-22  Simon Josefsson  <jas@extundo.com>
4277
4278         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
4279         MinGW.
4280
4281 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
4282
4283         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
4284         needed.  Some compiler complained about some of them.  Problem reported
4285         by Larry Jones in
4286         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
4287
4288 2006-06-21  Simon Josefsson  <jas@extundo.com>
4289
4290         * tests/test-getaddrinfo.c: New file.
4291
4292         * modules/getaddrinfo-tests: New file.
4293
4294         * MODULES.html.sh: Add inet_pton.
4295
4296         * modules/inet_pton: New file.
4297
4298 2006-06-21  Simon Josefsson  <jas@extundo.com>
4299
4300         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
4301         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
4302         of using the (limited) gnulib implementation on Windows XP.
4303
4304         * m4/inet_pton.m4: New file.
4305
4306 2006-06-21  Simon Josefsson  <jas@extundo.com>
4307
4308         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
4309         variable.
4310
4311         * lib/socket_.h: Don't define WINVER.
4312
4313         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
4314         slightly modified to work in gnulib.
4315
4316 2006-06-21  Simon Josefsson  <jas@extundo.com>
4317
4318         * doc/gnulib.texi (Windows sockets): Add.
4319
4320 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
4321
4322         * lib/read-file.c (fread_file): Start with buffer allocation of
4323         0 bytes rather than 1 byte; this simplifies the code.
4324         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
4325         code to free buffer and save/restore errno.
4326         (internal_read_file): Remove unused local.
4327
4328 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
4329
4330         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
4331         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
4332         Problem reported by Denis Excoffier in
4333         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
4334
4335 2006-06-19  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
4336
4337         * modules/sys_socket, modules/socklen: Include sys/types since
4338         FreeBSD 4.x's sys/socket.h needs it.
4339
4340 2006-06-19  Simon Josefsson  <jas@extundo.com>
4341
4342         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
4343
4344 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
4345
4346         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
4347
4348 2006-06-19  Bruno Haible  <bruno@clisp.org>
4349
4350         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
4351         and FULL_PATH_INTTYPES_H in angle brackets.
4352         Reported by Mark D. Baushke <mdb@gnu.org>.
4353
4354 2006-06-17  Eric Blake  <ebb9@byu.net>
4355
4356         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
4357         errno.
4358
4359 2006-06-17  Bruno Haible  <bruno@clisp.org>
4360
4361         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
4362         <sys/inttypes.h>.
4363
4364 2006-06-17  Bruno Haible  <bruno@clisp.org>
4365
4366         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
4367         whether errno is declared. Assume <errno.h> declares errno.
4368
4369 2006-06-17  Bruno Haible  <bruno@clisp.org>
4370
4371         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
4372
4373 2006-06-17  Bruno Haible  <bruno@clisp.org>
4374
4375         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
4376         problem on Solaris 2.5.1.
4377
4378 2006-06-16  Eric Blake  <ebb9@byu.net>
4379
4380         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
4381         * lib/unicodeio.c [!defined errno]: Likewise.
4382         * lib/strtol.c [!defined errno]: Likewise.
4383         * lib/strtod.c [!defined errno]: Likewise.
4384
4385 2006-06-15  Eric Blake  <ebb9@byu.net>
4386
4387         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
4388
4389 2006-06-15  Eric Blake  <ebb9@byu.net>
4390
4391         * config/srclist.txt (ssize_t.m4): Lose sync.
4392
4393 2006-06-15  Bruno Haible  <bruno@clisp.org>
4394
4395         * modules/stdint (Files): Include m4/full-header-path.m4,
4396         m4/size_max.m4, m4/wchar_t.m4.
4397         (Makefile.am): Many more substitutions.
4398         * modules/stdint-tests: New file.
4399         * tests/test-stdint.c: New file.
4400
4401 2006-06-15  Bruno Haible  <bruno@clisp.org>
4402
4403         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
4404         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
4405         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
4406         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
4407         gl_CHECK_TYPE_SAME): New macros.
4408
4409 2006-06-15  Bruno Haible  <bruno@clisp.org>
4410
4411         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
4412
4413 2006-06-15  Bruno Haible  <bruno@clisp.org>
4414
4415         * lib/stdint_.h: Rewritten to be fully auto-configured.
4416         Fixes bug on HP-UX/IA64.
4417
4418 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
4419
4420         * lib/getdate.y (__attribute__): Don't define if already defined.
4421         Problem reported by Larry Jones.
4422         * lib/utimens.c (__attribute__): Likewise.
4423
4424 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
4425
4426         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
4427         reported by Andreas Schwab.
4428
4429 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4430             Bruno Haible  <bruno@clisp.org>
4431
4432         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
4433         check for the declaration of strnlen and a run test that exposes the
4434         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
4435         rpl_strndup.
4436
4437 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4438             Bruno Haible  <bruno@clisp.org>
4439
4440         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
4441
4442 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4443
4444         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
4445         compile test, for Tru64 4.0D.
4446
4447 2006-05-28  Karl Berry  <karl@gnu.org>
4448
4449         * config/srclist.txt (printf-args.c): lose sync.
4450
4451 2006-05-26  Martin Lambers  <marlam@marlam.de>
4452
4453         * lib/getpass.c: Updates the test for the native W32 API, and adds
4454         missing includes, thus fixing compilation warnings.
4455
4456 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
4457
4458         * lib/exclude.c (exclude_fnmatch): New function.
4459         (excluded_file_name): Call exclude_fnmatch.
4460         * lib/exclude.h (excluded_file_name): New prototype
4461
4462 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
4463
4464         * lib/tempname.c (small_open, large_open): New macros.
4465         (__open, __open64) [!_LIBC]: Remove.
4466         (__gen_tempname): Use small_open and large_open instead of __open
4467         and __open64.  This fixes a portability bug on HP-UX 11.11i
4468         reported by Simon Wing-Tang in
4469         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
4470
4471 2006-05-24  Bruno Haible  <bruno@clisp.org>
4472
4473         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
4474         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
4475         Reported by Thorsten Maerz <torte@netztorte.de> via
4476         Aaron Stone <aaron@serendipity.cx>.
4477
4478 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
4479
4480         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
4481         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
4482         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
4483         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
4484         not really conditional on the cache.
4485         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
4486
4487 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
4488
4489         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
4490         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
4491         (my_usleep): Don't mishandle maximum value.
4492
4493 2006-05-19  Jim Meyering  <jim@meyering.net>
4494
4495         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
4496
4497 2006-05-17  Bruno Haible  <bruno@clisp.org>
4498
4499         Cygwin portability.
4500         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
4501
4502 2006-05-17  Bruno Haible  <bruno@clisp.org>
4503
4504         * lib/stdint_.h: Fix recognition of Cygwin.
4505
4506 2006-05-15  Bruno Haible  <bruno@clisp.org>
4507
4508         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
4509         on libtool patch by Ralf Wildenhues.
4510
4511 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
4512
4513         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
4514         test for C99 conformance; (bool) 0.5 is an integer constant
4515         expression, but (bool) -0.5 is not.  Problem reported by Fedor
4516         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
4517
4518 2006-05-11  Simon Josefsson  <jas@extundo.com>
4519
4520         * m4/xvasprintf.m4: Fix obvious typo.
4521
4522 2006-05-11  Jim Meyering  <jim@meyering.net>
4523
4524         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
4525         James Lemley.
4526
4527 2006-05-10  Simon Josefsson  <jas@extundo.com>
4528
4529         * lib/md4.c: Typo fix, update copyright years.
4530         (K1, K2): Don't use L because it turn computations into 64-bit on
4531         64-bit platforms.
4532
4533 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
4534
4535         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
4536         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
4537         unwanted sign propagation, e.g., on hosts with 64-bit int.
4538         There still are some problems with reeelly weird theoretical hosts
4539         (e.g., 33-bit int) but it's not worth worrying about now.
4540         * lib/sha1.c (rol): Likewise.
4541         (K1, K2, K3, K4): Remove unnecessary L suffix.
4542
4543 2006-05-10  Bruno Haible  <bruno@clisp.org>
4544
4545         * lib/des.c: Cast to avoid warnings.
4546
4547 2006-05-09  Bruno Haible  <bruno@clisp.org>
4548
4549         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
4550         (Depends-on): Depend also on xsize, stdarg.
4551         (configure.ac): Add gl_XVASPRINTF.
4552
4553 2006-05-09  Bruno Haible  <bruno@clisp.org>
4554
4555         * m4/xvasprintf.m4: New file.
4556
4557 2006-05-09  Bruno Haible  <bruno@clisp.org>
4558
4559         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
4560         (EOVERFLOW): Define fallback value.
4561         (xstrcat): New function.
4562         (xvasprintf): Recognize the special case of a string concatenation.
4563
4564 2006-05-08  Eric Blake  <ebb9@byu.net>
4565
4566         * gnulib-tool (func_version): Base copyright year on CVS date.
4567         (func_emit_copyright_notice): New function.
4568         (func_emit_lib_Makefile_am): Use it.
4569         (func_emit_tests_Makefile_am): Likewise.
4570         (func_import): Likewise.
4571
4572 2006-05-08  Bruno Haible  <bruno@clisp.org>
4573
4574         * modules/stdarg: New file.
4575         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
4576
4577 2006-05-08  Bruno Haible  <bruno@clisp.org>
4578
4579         * m4/stdarg.m4: New file, from GNU gettext.
4580
4581 2006-05-08  Bruno Haible  <bruno@clisp.org>
4582
4583         * config/srclist.txt (build-aux/config.rpath): different from latest
4584         release.
4585
4586 2006-05-08  Bruno Haible  <bruno@clisp.org>
4587
4588         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
4589
4590 2006-05-05  Jim Meyering  <jim@meyering.net>
4591
4592         * m4/warning.m4: New file, derived from bison's file by the same name.
4593
4594 2006-05-03  Bruno Haible  <bruno@clisp.org>
4595
4596         * lib/stdint_.h: Shorter URL.
4597         * lib/inttypes.h: Likewise.
4598
4599 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
4600
4601         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
4602
4603 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
4604
4605         * lib/verify.h: Document the internals better.  Most of this change
4606         was written by Bruno Haible.
4607
4608 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
4609
4610         * doc/verify.texi: New file, partly based on a proposal by
4611         Bruno Haible.
4612
4613 2006-05-02  Bruno Haible  <bruno@clisp.org>
4614
4615         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
4616         test from here...
4617         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
4618
4619 2006-04-29  Bruno Haible  <bruno@clisp.org>
4620
4621         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
4622         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
4623
4624 2006-04-29  Bruno Haible  <bruno@clisp.org>
4625
4626         * gnulib-tool: Make --update option actually work.
4627
4628 2006-04-29  Bruno Haible  <bruno@clisp.org>
4629
4630         * doc/gcd.texi: New file.
4631         * doc/gnulib.texi: Include it.
4632
4633 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
4634
4635         * lib/getdate.y (get_date): When adding relative date, start with the
4636         initial time, not with the result of the first mktime call.
4637
4638 2006-04-25  Bruno Haible  <bruno@clisp.org>
4639
4640         * gnulib-tool (func_import): Output the include directives in three
4641         blocks, sorted separately.
4642         Reported by Ben Pfaff <blp@cs.stanford.edu>.
4643
4644 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
4645
4646         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
4647         to define main with arguments, for C++.  Reported by Eric Blake.
4648         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
4649         Prefer 'int main ()' to 'int main (void)', for C++.
4650         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
4651         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
4652         for 'main', for C99 and C++.
4653
4654 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
4655
4656         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
4657         Don't assume that exit status -1 is valid.
4658         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
4659         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
4660         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
4661         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
4662         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
4663         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
4664         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
4665         functions can be used without declaring them, or that you can
4666         exit with status -1.
4667         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
4668
4669 2006-04-24  Karl Berry  <karl@gnu.org>
4670
4671         * config/srclist.txt (longdouble.m4): sync lost.
4672
4673 2006-04-24  Eric Blake  <ebb9@byu.net>
4674
4675         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
4676
4677 2006-04-24  Bruno Haible  <bruno@clisp.org>
4678
4679         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
4680         poll() implementation in AIX.
4681         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
4682
4683 2006-04-24  Bruno Haible  <bruno@clisp.org>
4684
4685         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
4686         assigned exactly once.
4687
4688 2006-04-23  Claudio Fontana  <claudio@gnu.org>
4689             Bruno Haible  <bruno@clisp.org>
4690
4691         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
4692         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
4693         for AM_CPPFLAGS.
4694
4695 2006-04-23  Bruno Haible  <bruno@clisp.org>
4696
4697         * modules/copy-file: Depend on unistd.
4698         * modules/execute: Likewise.
4699         * modules/fatal-signal: Likewise.
4700         * modules/findprog: Likewise.
4701         * modules/mkdtemp : Likewise.
4702         * modules/pipe: Likewise.
4703         * modules/wait-process: Likewise.
4704
4705 2006-04-23  Bruno Haible  <bruno@clisp.org>
4706
4707         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
4708         condition was already detected.
4709         Reported by Ben Pfaff <blp@cs.stanford.edu>.
4710
4711 2006-04-23  Bruno Haible  <bruno@clisp.org>
4712
4713         * lib/copy-file.c: Include <unistd.h> unconditionally.
4714         * lib/execute.c: Likewise.
4715         * lib/fatal-signal.c: Likewise.
4716         * lib/findprog.c: Likewise.
4717         * lib/mkdtemp.c: Likewise.
4718         * lib/pipe.h: Likewise.
4719         * lib/pipe.c: Likewise.
4720         * lib/wait-process.h: Likewise.
4721
4722 2006-04-23  Bruno Haible  <bruno@clisp.org>
4723
4724         * gnulib-tool (func_usage): Fix --import description. Document
4725         --update.
4726         (func_import): Create temporary file in a temporary directory, if
4727         --dry-run is specified. Silence errors from 'grep' when there are no
4728         m4 files in $m4dir.
4729         (func_create_testdir): Silence errors from 'grep' when there are no
4730         m4 files in $m4dir.
4731         Reported by Karl Berry <karl@freefriends.org>.
4732
4733 2006-04-20  Bruno Haible  <bruno@clisp.org>
4734
4735         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
4736         one argument, so that the code will be portable to Autoconf 2.60.
4737         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
4738         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
4739         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
4740
4741 2006-04-19  Derek Price  <derek@ximbiot.com>
4742             Eric Blake  <ebb9@byu.net>
4743
4744         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
4745         rather than "/full/path.h".  Update comment to match.  Shorten &
4746         generalize m4_translit call via AS_TR_CPP.
4747
4748 2006-04-19  Derek Price  <derek@ximbiot.com>
4749             Eric Blake  <ebb9@byu.net>
4750
4751         * lib/inttypes.h: Correct grammar in comment.
4752
4753 2006-04-18  Derek Price  <derek@ximbiot.com>
4754             Paul Eggert  <eggert@cs.ucla.edu>
4755
4756         * modules/inttypes: New file.
4757         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
4758
4759 2006-04-18  Derek Price  <derek@ximbiot.com>
4760             Paul Eggert  <eggert@cs.ucla.edu>
4761
4762         * m4/_inttypes_h.m4, full-header-path.m4, include_next: New files.
4763
4764 2006-04-18  Derek Price  <derek@ximbiot.com>
4765             Paul Eggert  <eggert@cs.ucla.edu>
4766
4767         * lib/inttypes.h: New file.
4768         * lib/strtoimax.c: Assume <inttypes.h>.
4769
4770 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
4771
4772         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
4773         isn't mounted.  Problem reported by Kir Kolyshkin.
4774
4775 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
4776
4777         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
4778         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
4779         Derek R. Price.
4780         * lib/regex.h (RE_DUP_MAX): Update comment to match current
4781         implementation.
4782
4783 2006-04-12  Eric Blake  <ebb9@byu.net>
4784
4785         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
4786         is now done automatically by the corresponding Autoconf macro.
4787
4788 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
4789
4790         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
4791         time_r.h.
4792
4793 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
4794
4795         Merge regex changes from libc, removing some of our
4796         POSIX-conformance changes that were rejected and redoing them in a
4797         less-intrusive way.
4798
4799         * lib/regcomp.c (re_compile_internal, init_dfa):
4800         Length arg is now size_t, not Idx.  All uses changed.
4801         (peek_token): Forward decl now says internal_function.
4802         (__re_error_msgid, __re_error_msgid_idx):
4803         Now static rather than extern with attribute_hidden.
4804         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
4805         For some reason libc prefers K&R style defns for external functions.
4806         (regerror) [!defined _LIBC]: Likewise.
4807         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
4808         (seek_collating_symbol_entry, lookup_collation_sequence_value):
4809         (build_range_exp, build_collating_symbol):
4810         Use K&R-style defn.
4811         (re_compile_fastmap): Use '\0' to memset, not 0.
4812         (utf8_sb_map): Make the calculations more obvious.
4813         (init_dfa, parse_bracket_exp, build_charclass_op):
4814         Call calloc and cast result, as glibc does.
4815         (init_word_char, fetch_token, peek_token, peek_token_bracket):
4816         (build_range_exp, build_collating_symbol):
4817         Now internal functions.
4818
4819         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
4820
4821         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
4822         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
4823         Don't depend on VMS; depend on __VMS instead, for POSIX
4824         namespace cleanness.
4825         (regoff_t): Define to ssize_t, not long int.
4826
4827         Remove the REG_ macros named below.  Instead, make the old names
4828         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
4829         __USE_GNU_REGEX.
4830         (REG_BACKSLASH_ESCAPE_IN_LISTS):
4831         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
4832         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
4833         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
4834         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
4835         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
4836         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
4837         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
4838         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
4839         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
4840         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
4841         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
4842         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
4843         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
4844         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
4845         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
4846         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
4847         (REG_NREGS):
4848         Remove.  All uses replaced by the old RE_* names.
4849         (RE_BACKSLASH_ESCAPE_IN_LISTS):
4850         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
4851         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
4852         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
4853         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
4854         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
4855         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
4856         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
4857         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
4858         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
4859         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
4860         Don't bother having these macros be independent of each others'
4861         values, since they no longer exist in the POSIX name space.
4862
4863         Rename the following member names back to their old names,
4864         unless !__USE_GNU_REGEX.  All uses changed back.
4865         (buffer): Renamed from re_buffer.
4866         (allocated): Renamed from re_allocated.
4867         (used): Renamed from re_used.
4868         (syntax): Renamed from re_syntax.
4869         (fastmap): Renamed from re_fastmap.
4870         (translate): Renamed from re_translate.
4871         (can_be_null): Renamed from re_can_be_null.
4872         (regs_allocated): Renamed from re_regs_allocated.
4873         (fastmap_accurate): Renamed from re_fastmap_accurate.
4874         (no_sub): Renamed from re_no_sub.
4875         (not_bol): Renamed from re_not_bol.
4876         (not_eol): Renamed from re_not_eol.
4877         (newline_anchor): Renamed from re_newline_anchor.
4878         (num_regs): Renamed from rm_num_regs.
4879         (start): Renamed from rm_start.
4880         (end): Renamed from rm_end.
4881
4882         (free_state): Move up a bit.
4883
4884         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
4885         #define to be empty.
4886         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
4887         when that is what is intended.
4888         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
4889         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
4890         (MAX): New macro.
4891         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
4892         All uses changed back to re_malloc, etc.  It's now the caller's
4893         responsibility to check for overflow; all callers changed.
4894         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
4895         (re_x2nrealloc): Remove.
4896         (free_state): Remove decl.
4897
4898         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
4899         (re_set_registers, re_exec):
4900         Use K&R-style defn.
4901
4902         2006-01-31  Roland McGrath  <roland@redhat.com>
4903
4904         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
4905         Reported by Mike Frysinger <vapier@gentoo.org>.
4906
4907         2006-01-15  Andreas Jaeger  <aj@suse.de>
4908
4909         [BZ #1950]
4910         * lib/regex_internal.c (re_string_reconstruct): Adjust for
4911         build_wcs_upper_buffer change.
4912         (build_wcs_upper_buffer): Change return type.
4913
4914         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
4915
4916         * lib/regex_internal.h: Include <stdint.h> if available.
4917
4918         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
4919
4920         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
4921
4922         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
4923
4924         * lib/regcomp.c: Adjust for changed secondary hash function.
4925
4926         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
4927
4928         * lib/regex.h: Pretty printing.
4929         Clean up namespace a bit.
4930
4931         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
4932
4933         * lib/regexec.c (update_cur_sifted_state, check_arrival,
4934         check_arrival_add_next_nodes): Avoid using uninitialized variable.
4935
4936         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
4937                     Ulrich Drepper  <drepper@redhat.com>
4938
4939         [BZ #1302]
4940         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
4941         changed.
4942         (bitset_word_t): Renamed from bitset_word.  All uses changed.
4943
4944         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
4945
4946         [BZ #281]
4947         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
4948         * lib/regcomp.c: Remove unnecessary uses of
4949         unsigned RE_TRANSLATE_TYPE.
4950         * lib/regex_internal.h: Likewise.
4951         * lib/regex_internal.c: Likewise.
4952         * lib/regexec.c: Likewise.
4953         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
4954
4955         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
4956
4957         * lib/regexec.c (find_recover_state): Remove unnecessary
4958         initialization.
4959         (transit_state_bkref): Make DFA a const pointer.
4960         (get_subexp): Likewise.
4961         (check_arrival): Likewise.
4962         (update_cur_sifted_state): Likewise.
4963         (re_search_internal): Likewise.
4964         (prune_impossible_nodes): Likewise.
4965         (acquire_init_state_context): Likewise.
4966         (proceed_next_node): Likewise.
4967         (set_regs): Likewise.
4968         (free_fail_stack_return): Likewise.
4969         (check_arrival_expand_ecl): Mark DFA parameter as const.
4970         (check_arrival_expand_ecl_sub): Likewise.
4971         (check_subexp_limits): Likewise.
4972         (sub_epsilon_src_nodes):  Likewise.
4973         (add_epsilon_src_nodes):  Likewise.
4974         (merge_state_array): Likewise.
4975         (update_regs): Likewise.
4976         (build_trtable): Likewise.
4977         (sift_states_backward): Mark MCTX parameter as const.
4978         (build_sifted_states): Likewise.
4979         (update_cur_sifted_state): Likewise.
4980         (sift_states_mkref): Likewise.
4981         (check_arrival_expand_ecl): Mark eclosure as const.
4982         (check_dst_limits_calc_pos_1): Likewise.
4983         * lib/regex_internal.h (re_match_context_t): Make dfa a const
4984         pointer.
4985
4986         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
4987
4988         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
4989         (transit_state_sb): Likewise.
4990         (transit_state_mb): Likewise.
4991         (sift_states_iter_mb): Likewise.
4992         (check_arrival_add_next_nodes): Likewise.
4993         (check_node_accept_bytes): Change first parameter to pointer-to-const.
4994         [_LIBC] (re_search_2_stub): Use mempcpy.
4995
4996         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
4997         mbrtowc for very simple UTF-8 case.
4998
4999         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
5000         a pointer-to-const.
5001         (re_acquire_state_context): Likewise.
5002         * lib/regex_internal.h: Adjust prototypes.
5003
5004         * lib/regex.c: Prevent using C++ compilers.
5005
5006         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
5007         (re_acquire_state_context): Likewise.
5008
5009 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
5010
5011         * modules/regex (Depends-on): Add ssize_t.
5012
5013 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
5014
5015         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
5016         translation table.
5017
5018 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
5019
5020         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
5021
5022 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
5023             Bruno Haible  <bruno@clisp.org>
5024
5025         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
5026         <sys/types.h> and <inttypes.h>.
5027
5028 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5029
5030         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
5031         `__error_t_defined', so argp.h will not typedef the former.
5032
5033 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
5034
5035         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
5036         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
5037         glibc names.  Even if glibc is changed to conform to POSIX, the
5038         traditional names will be available anyway, since regex depends on
5039         the extensions module.  Also, fix a longstanding typo in the
5040         implementation of Spencer ERE test #75 from grep 2.3.  Problems
5041         reported by Emanuele Giaquinta.  Also, change sense of cached
5042         variable, so that the message makes sense.
5043
5044 2006-03-24  Simon Josefsson  <jas@extundo.com>
5045
5046         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
5047         including some doc fixes.
5048         (base64_encode_alloc): Fix +1 bug on allocation failures.
5049
5050 2006-03-24  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5051
5052         * lib/base64.c (base64_encode): Do not read past end of array with
5053         unsanitized input on systems with CHAR_BIT > 8.
5054
5055 2006-03-24  Eric Blake  <ebb9@byu.net>
5056
5057         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
5058
5059 2006-03-22  Karl Berry  <karl@gnu.org>
5060
5061         * config/srclist.txt (*setenv.[ch]): get from coreutils.
5062         * config/srclistvars.sh (COREUTILS): new var.
5063
5064 2006-03-17  Jim Meyering  <jim@meyering.net>
5065
5066         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
5067         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
5068
5069 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5070
5071         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
5072         no longer needs it.  Instead, check that regoff_t is as least
5073         as wide as ptrdiff_t.
5074
5075         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
5076         so that our regex.h stays compatible with the installed regex.
5077         This is helpful for installers who configure --without-included-regex.
5078         Problem reported by Emanuele Giaquinta.
5079
5080 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5081
5082         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
5083         Typedef to long int, not to off_, as POSIX will likely change
5084         in that direction.
5085
5086 2006-03-15  Eric Blake  <ebb9@byu.net>
5087
5088         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
5089
5090 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
5091
5092         * lib/argp-help.c (validate_uparams): Fix typo
5093         * lib/argp-parse.c (argp_default_options): Consistently begin help
5094         messages with a lowercase letter.
5095
5096 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
5097
5098         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
5099         overrun buffers and shouldn't be used (much as gets shouldn't be
5100         used).
5101         * lib/time_r.c (asctime_r, ctime_r): Likewise.
5102
5103 2006-03-08  Simon Josefsson  <jas@extundo.com>
5104
5105         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
5106         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5107
5108 2006-03-08  Simon Josefsson  <jas@extundo.com>
5109
5110         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
5111         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5112
5113 2006-03-08  Simon Josefsson  <jas@extundo.com>
5114
5115         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
5116         signal that configure disabled the device.
5117
5118 2006-03-08  Simon Josefsson  <jas@extundo.com>
5119
5120         * build-aux/maint.mk: Fix refresh-po, to handle no translated
5121         languages.
5122
5123 2006-03-07  Simon Josefsson  <jas@extundo.com>
5124
5125         * modules/getopt (Depends-on): Add unistd.
5126
5127         * modules/unistd: New file.
5128
5129 2006-03-07  Simon Josefsson  <jas@extundo.com>
5130
5131         * modules/gc-random: New file.
5132
5133 2006-03-07  Simon Josefsson  <jas@extundo.com>
5134
5135         * m4/unistd_h.m4: New file.
5136
5137 2006-03-07  Simon Josefsson  <jas@extundo.com>
5138
5139         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
5140         test to be side-effect free by storing the result in the cache
5141         variable gl_cv_lib_readline, and moving the assignment of
5142         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
5143         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5144
5145 2006-03-07  Simon Josefsson  <jas@extundo.com>
5146
5147         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
5148         error on missing devices (the functions will return an error).
5149
5150         * m4/gc.m4: Move random stuff to gc-random.m4
5151
5152 2006-03-07  Simon Josefsson  <jas@extundo.com>
5153
5154         * lib/unistd_.h: New file.
5155
5156 2006-03-07  Simon Josefsson  <jas@extundo.com>
5157
5158         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
5159
5160 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
5161
5162         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
5163         Problem reported by Juan Manuel Guerrero.
5164
5165 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
5166
5167         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
5168         the unistd module.
5169         * lib/getlogin_r.c: Likewise.
5170         * lib/getlogin_r.h: Likewise.
5171         * lib/glob.c: Likewise.
5172         * lib/pagealign_alloc.c: Likewise.
5173         * lib/unistd_.h: Remove; no longer needed.
5174
5175 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
5176
5177         * MODULES.html.sh (Support for systems lacking POSIX:2001):
5178         Add unistd.
5179         * modules/c-stack (Depends-on): Add unistd.
5180         * modules/getlogin_r: Likewise.
5181         * modules/glob: Likewise.
5182         * modules/pagealign_alloc: Likewise.
5183         * modules/unistd (Files): Remove lib/unistd_.h.
5184         (EXTRA_DIST): Remove.
5185         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
5186         need unistd_.h.
5187         (MOSTLYCLEANFILES): Remove unistd.h-t.
5188
5189 2006-03-03  Simon Josefsson  <jas@extundo.com>
5190
5191         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
5192
5193 2006-03-03  Simon Josefsson  <jas@extundo.com>
5194
5195         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
5196         libidn and bison.
5197
5198 2006-03-03  Simon Josefsson  <jas@extundo.com>
5199
5200         * build-aux/maint.mk: Add indent target.
5201
5202 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
5203
5204         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
5205         our replacement poll.h in any case, to avoid a differing
5206         declaration from a system header.  Seen on AIX.
5207
5208 2006-03-01  Simon Josefsson  <jas@extundo.com>
5209
5210         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
5211         <kasal@ucw.cz>.
5212
5213 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
5214
5215         * modules/gettime (Depends-on): Add extensions module.
5216         * modules/nanosleep (Depends-on): Likewise.
5217         * modules/settime (Depends-on): Likewise.
5218
5219 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
5220
5221         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
5222         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
5223         pedantically.
5224         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
5225         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
5226
5227         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
5228         not "==".  Reported by Ralf Wildenhues.
5229
5230 2006-03-01  Karl Berry  <karl@gnu.org>
5231
5232         * doc/Copyright/request-*: new files, synced from gnuorg.
5233
5234 2006-03-01  Karl Berry  <karl@gnu.org>
5235
5236         * config/srclist.txt (Copyright/*): new entries.
5237
5238 2006-02-28  Simon Josefsson  <jas@extundo.com>
5239
5240         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
5241
5242 2006-02-27  Simon Josefsson  <jas@extundo.com>
5243
5244         * lib/base64.h: Indent #define's.  From Jim Meyering
5245         <jim@meyering.net>.
5246
5247 2006-02-27  Jim Meyering  <jim@meyering.net>
5248
5249         Revert the change of 2006-02-24, so these files can continue
5250         to be sync'd from gettext.
5251         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
5252         of `config.h'.
5253
5254 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
5255
5256         * modules/intprops: New file.
5257         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
5258         Add intprops.
5259         * modules/getloadavg (Files): Remove lib/intprops.h.
5260         (Depends-on): Add intprops.
5261         * modules/human: Likewise.
5262         * modules/inttostr: Likewise.
5263         * modules/openat: Likewise.
5264         * modules/sig2str: Likewise.
5265         * modules/userspec: Likewise.
5266         * modules/utimecmp: Likewise.
5267         * modules/xnanosleep: Likewise.
5268         * modules/xstrtol: Likewise.
5269
5270 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
5271
5272         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
5273         * modules/lock-tests (TESTS): Use $(EXEEXT).
5274         * modules/tls-tests: Likewise.
5275         * modules/argp-tests: Likewise.
5276         (check_PROGRAMS): New var, replacing...
5277         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
5278
5279 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5280
5281         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
5282         `config.h'.
5283
5284 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
5285
5286         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
5287
5288 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5289
5290         Sync from coreutils.
5291         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
5292         gl_CHDIR_SAFER.
5293
5294 2006-02-22  Jim Meyering  <jim@meyering.net>
5295
5296         Sync from coreutils.
5297         * m4/chdir-safer.m4: New file.
5298
5299 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
5300
5301         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
5302         AT_FDCWD exceeds INT_MAX.
5303         * lib/openat.h (AT_FDCWD): Likewise.
5304
5305 2006-02-17  Eric Blake  <address@hidden>
5306
5307         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
5308
5309 2006-02-16  Simon Josefsson  <jas@extundo.com>
5310
5311         * modules/getaddrinfo (Depends-on): Add sys_socket.
5312
5313 2006-02-15  Simon Josefsson  <jas@extundo.com>
5314
5315         * build-aux/maint.mk: Add dsyntax-check rule.
5316
5317 2006-02-15  Eric Blake  <ebb9@byu.net>
5318
5319         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
5320         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
5321         'present but cannot compile' warnings on cygwin.
5322         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
5323         use ws2tcpip.h if sys/socket.h works.
5324         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
5325         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
5326
5327 2006-02-14  Simon Josefsson  <jas@extundo.com>
5328
5329         * modules/maintainer-makefile (Files): Rename.
5330
5331         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
5332         and (the local) Makefile.cfg to maint-cfg.mk.
5333
5334         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
5335         to the latter.
5336
5337         * modules/maintainer-makefile: New module.
5338
5339         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
5340         severaly stripped to make it possible to build it up from scratch
5341         with reliable tests.
5342
5343         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
5344         fixes to permit overriding the default actions when configure and
5345         makefile are not available.
5346
5347 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
5348
5349         Sync from coreutils.
5350         * modules/lstat (Depends-on): Don't depend on xalloc.
5351         (License): Change from GPL to LGPL, since this is now simply a
5352         replacement for a libc function.
5353
5354 2006-02-14  Jim Meyering  <jim@meyering.net>
5355
5356         Sync from coreutils.
5357
5358         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
5359         failure on deficient systems, and simplify gnulib lgpl dependencies.
5360         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
5361         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
5362
5363         * lib/xalloc-die.c: Remove unused definition of N_.
5364
5365 2006-02-14  Jim Meyering  <jim@meyering.net>
5366
5367         Sync from coreutils.
5368         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
5369         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
5370         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
5371         double-quote uses of that variable, to accommodate the rare case in
5372         which getmntent is available in none of the libraries checked.  This
5373         happens at least on FreeBSD 5.0.
5374
5375 2006-02-13  Simon Josefsson  <jas@extundo.com>
5376
5377         * gnulib-tool (Usage): Fix --import, from
5378         karl@freefriends.org (Karl Berry).
5379
5380 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
5381
5382         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
5383
5384 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
5385
5386         * lib/argp-namefrob.h: Restore changes accidentally lost during the
5387         "autoupdate" on 2005-12-12.
5388
5389 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
5390
5391         * modules/closeout (Depends-on): Remove atexit.
5392
5393 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
5394
5395         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
5396         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
5397
5398 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
5399
5400         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
5401         __EXTENSIONS__ if this causes compilation to fail.  Problem
5402         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
5403         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
5404
5405 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
5406
5407         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
5408         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
5409         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
5410         All uses changed.
5411
5412 2006-01-26  Simon Josefsson  <jas@extundo.com>
5413
5414         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
5415         prototype is visible on mingw32.
5416
5417         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
5418         for mingw32.
5419
5420         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
5421         mingw32).
5422
5423 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
5424
5425         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
5426         attempt to open for write; this always fails, at least on POSIX
5427         hosts.  This reinstates the 2006-01-09 change, which was
5428         inadvertently removed.
5429
5430 2006-01-26  Bruno Haible  <bruno@clisp.org>
5431
5432         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
5433         Reported by Paul Eggert.
5434
5435 2006-01-26  Bruno Haible  <bruno@clisp.org>
5436             Paul Eggert  <eggert@cs.ucla.edu>
5437
5438         * lib/stdbool_.h (_Bool)
5439         [(! (defined __cplusplus || defined __BEOS__)
5440           && !defined __GNUC__
5441           && !(defined __HP_cc || defined __xlc__
5442                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
5443                || defined __sgi))]:
5444         #define to signed char in these cases too; this simplifies
5445         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
5446         etc., separately) and makes it more conservative.
5447
5448 2006-01-25  Simon Josefsson  <jas@extundo.com>
5449
5450         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
5451         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
5452         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
5453
5454 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
5455
5456         * lib/argp-namefrob.h: Bugfix. Remove stray #
5457
5458 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
5459
5460         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
5461         so that we test the test.
5462         Check for yet another HP-UX cc bug involving *bool |= bool.
5463
5464 2006-01-25  Karl Berry  <karl@gnu.org>
5465
5466         * config/srclist.txt (vasnprintf.c): sync lost.
5467
5468 2006-01-25  Jim Meyering  <jim@meyering.net>
5469
5470         Sync from the stable (b5) branch of coreutils:
5471
5472         * lib/fts.c (fts_children): Don't let close() clobber errno from
5473         failed fchdir().
5474
5475         * lib/fts.c (fts_stat): When following a symlink-to-directory,
5476         don't necessarily interpret stat-fails+lstat-succeeds as indicating
5477         a dangling symlink.  That can also happen at least for ELOOP.
5478         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
5479         FYI, this bug predates the inclusion of fts.c in coreutils.
5480
5481         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
5482         in their own block, so pre-c99 compilers don't object.
5483
5484         Avoid the double-free (first in fts_read, second in fts_close) that
5485         would occur when an `active' directory is made inaccessible (e.g.,
5486         via chmod a-x) during a traversal.
5487         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
5488         before returning.  Reproduce this failure by
5489         mkdir -p a/b; cd a; chmod a-x . b
5490         Reported by Stavros Passas.
5491
5492 2006-01-25  Jim Meyering  <jim@meyering.net>
5493
5494         * lib/fileblocks.c: Remove more useless parentheses.
5495         * lib/readutmp.h: Likewise.
5496
5497 2006-01-25  Bruno Haible  <bruno@clisp.org>
5498
5499         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
5500         warnings.
5501         Reported by Paul Eggert.
5502
5503 2006-01-25  Bruno Haible  <bruno@clisp.org>
5504
5505         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
5506         rid of a trap command. For Solaris sh.
5507         Reported by Mark D. Baushke <mdb@gnu.org>.
5508
5509 2006-01-24  Simon Josefsson  <jas@extundo.com>
5510
5511         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
5512         Bruno.
5513
5514 2006-01-24  Karl Berry  <karl@gnu.org>
5515
5516         * config/srclist.txt (argp-namefrob.h): sync lost.
5517
5518 2006-01-24  Jim Meyering  <jim@meyering.net>
5519
5520         * modules/openat (Files): Add lib/intprops.h.
5521         From Mark D. Baushke.
5522
5523 2006-01-24  Jim Meyering  <jim@meyering.net>
5524
5525         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
5526         Reported by Mark D. Baushke.
5527
5528 2006-01-24  Jim Meyering  <jim@meyering.net>
5529
5530         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
5531
5532 2006-01-24  Bruno Haible  <bruno@clisp.org>
5533
5534         * modules/strnlen (Maintainer): Change from glibc to all.
5535
5536 2006-01-24  Bruno Haible  <bruno@clisp.org>
5537
5538         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
5539         Patch by Paul Eggert.
5540
5541 2006-01-24  Bruno Haible  <bruno@clisp.org>
5542
5543         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
5544         already has it.
5545         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
5546         2005-11-26.
5547
5548         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
5549         'signed char' to avoid problems with the built-in _Bool type.
5550         Reported by Paul Eggert on 2005-11-26.
5551
5552 2006-01-24  Bruno Haible  <bruno@clisp.org>
5553
5554         * gnulib-tool (func_import): Avoid constructing complicated sed
5555         expressions inside backquote.
5556         Report and solution by Mark D. Baushke <mdb@gnu.org>.
5557
5558 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
5559
5560         These changes imported from libc.
5561         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
5562         test and two separate function calls.
5563         * lib/strndup.c (__strndup): Add libc_hidden_def.
5564
5565 2006-01-23  Simon Josefsson  <jas@extundo.com>
5566
5567         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
5568         Remove the test_*_SOURCES variable: automake infers it by default.
5569         * modules/tls-tests: Likewise.
5570
5571 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
5572
5573         Work around porting bugs reported by Dieter in
5574         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
5575         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
5576         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
5577         Include "getopt.h" first, to check interface.
5578         (getenv): Declare only if defined HAVE_DECL_GETENV &&
5579         !HAVE_DECL_GETENV.
5580         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
5581         (__strndup): Revert to K&R-style function dfns, the glibc style.
5582         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
5583         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
5584         Include strnlen.h first, to get prototype properly.
5585         (strnlen): Renamed from __strnlen.
5586         Remove weak alias.
5587
5588 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
5589
5590         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
5591
5592 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
5593
5594         * config/srclist.txt: Adjust to reflect glibc reorganization.
5595         This affects only comments.
5596
5597 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
5598
5599          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
5600          Reported by Bruce Korb <bkorb@gnu.org>.
5601
5602 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
5603
5604         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
5605         to pacify gcc -Wswitch-default.
5606
5607 2006-01-22  Bruno Haible  <bruno@clisp.org>
5608
5609         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
5610         temporary buffer for sprintf, take into account the precision also
5611         for 'd', 'i', 'u', 'o', 'x', 'X'.
5612
5613 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
5614
5615         * modules/argp-tests: New module
5616         * tests/test-argp.c: New file
5617         * tests/test-argp-2.sh: New file
5618
5619 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
5620
5621         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
5622         (__argp_base_name): Removed
5623         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
5624         typo.
5625         (__argp_base_name): Provide macro definition or extern declaration
5626         depending on the configuration
5627
5628 2006-01-20  Simon Josefsson  <jas@extundo.com>
5629
5630         * modules/inet_ntop (Depends-on): Depend on sys_socket.
5631
5632 2006-01-20  Simon Josefsson  <jas@extundo.com>
5633
5634         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
5635
5636 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
5637
5638         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
5639         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
5640         Suggested by Bruno Haible.
5641
5642 2006-01-20  Karl Berry  <karl@gnu.org>
5643
5644         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
5645         until changes propagate, I guess.
5646
5647 2006-01-19  Simon Josefsson  <jas@extundo.com>
5648
5649         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
5650
5651 2006-01-19  Simon Josefsson  <jas@extundo.com>
5652
5653         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
5654
5655 2006-01-19  Simon Josefsson  <jas@extundo.com>
5656
5657         * gnulib-tool: Set check_PROGRAMS.
5658
5659         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
5660         modules/des-tests, modules/gc-arcfour-tests,
5661         modules/gc-arctwo-tests, modules/gc-des-tests,
5662         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
5663         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
5664         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
5665         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
5666         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
5667         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
5668         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
5669         test_*_SOURCES.
5670
5671 2006-01-18  Simon Josefsson  <jas@extundo.com>
5672
5673         * modules/socklen (Depends-on): Depend on sys_socket.
5674
5675 2006-01-18  Simon Josefsson  <jas@extundo.com>
5676
5677         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
5678         modules/des-tests, modules/gc-arcfour-tests,
5679         modules/gc-arctwo-tests, modules/gc-des-tests,
5680         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
5681         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
5682         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
5683         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
5684         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
5685         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
5686         $(EXEEXT) to automake TESTS variable, for mingw32.
5687
5688 2006-01-17  Simon Josefsson  <jas@extundo.com>
5689
5690         * modules/socklen (Include): Need sys/socket.h.
5691
5692 2006-01-17  Bruno Haible  <bruno@clisp.org>
5693
5694         * modules/ssize_t (Include): Add <sys/types.h>.
5695
5696 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
5697
5698         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
5699         it's not portable and it doesn't work with cross-compiles.
5700         Problem reported by Bruno Haible.  Fix missing-$ typo in
5701         'test "gl_cv_ignore_unused_libraries" ...' that prevented
5702         -zignore from being used with Sun's C compiler.
5703
5704 2006-01-12  Simon Josefsson  <jas@extundo.com>
5705
5706         * lib/base64.c: Fix warning, reported by Bruno Haible
5707         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
5708
5709 2006-01-12  Bruno Haible  <bruno@clisp.org>
5710
5711         * modules/ldd: New file.
5712         * build-aux/ldd.sh.in: New file.
5713         * MODULES.html.sh (Support for building libraries and executables): Add
5714         ldd.
5715
5716 2006-01-12  Bruno Haible  <bruno@clisp.org>
5717
5718         * m4/ldd.m4: New file.
5719
5720 2006-01-12  Bruno Haible  <bruno@clisp.org>
5721
5722         * gnulib-tool (func_import, func_create_testdir): Don't go into an
5723         endless loop while replacing $auxdir with build-aux.
5724
5725 2006-01-11  Simon Josefsson  <jas@extundo.com>
5726
5727         * lib/stdint_.h (SIZE_MAX): Add missing (.
5728
5729 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
5730
5731         Sync from coreutils.
5732         * lib/md5.c: Fix commentary typos.
5733         (alignof, UNALIGNED_P): No need for a GCC-specific version.
5734         * lib/md5.h (__attribute__): Remove; unused.
5735         * lib/sha1.c: Fix commentary to match md5 better.
5736         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
5737         so that we don't need to worry about alignment.  All uses changed.
5738         This merges the 2005-10-28 md5 change into sha1.
5739
5740 2006-01-11  Jim Meyering  <jim@meyering.net>
5741
5742         Sync from coreutils.
5743         * lib/md5.c (OP): Fix spacing.
5744
5745 2006-01-11  Bruno Haible  <bruno@clisp.org>
5746
5747         Ensure automatic ordering between gl_LOCK and gl_ARGP.
5748         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
5749         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
5750
5751 2006-01-11  Bruno Haible  <bruno@clisp.org>
5752
5753         Ensure automatic ordering between gl_LOCK and gl_ARGP.
5754         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
5755         the "early" section as well.
5756
5757 2006-01-11  Bruno Haible  <bruno@clisp.org>
5758
5759         Avoid "ar: no archive members specified" error on MacOS X.
5760         * gnulib-tool (func_modules_add_dummy): New function.
5761         (func_import, func_create_testdir): Invoke it.
5762
5763 2006-01-11  Bruno Haible  <bruno@clisp.org>
5764
5765         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
5766         with $auxdir in AC_CONFIG_FILES statements.
5767
5768 2006-01-11  Bruno Haible  <bruno@clisp.org>
5769
5770         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5771         Initialize also noinst_HEADERS to empty.
5772
5773 2006-01-11  Bruno Haible  <bruno@clisp.org>
5774
5775         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
5776         variables.
5777         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
5778         autoreconf.
5779
5780 2006-01-11  Bruno Haible  <bruno@clisp.org>
5781
5782         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
5783         overridable by the user.
5784         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5785
5786 2006-01-10  Simon Josefsson  <jas@extundo.com>
5787
5788         * modules/sys_socket: New file.
5789
5790 2006-01-10  Simon Josefsson  <jas@extundo.com>
5791
5792         * m4/sys_socket_h.m4: New file.
5793
5794 2006-01-10  Simon Josefsson  <jas@extundo.com>
5795
5796         * lib/socket_.h: New file.
5797
5798 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
5799
5800         * modules/readutmp (Maintainer): Add myself.
5801
5802 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
5803
5804         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
5805         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
5806         People who are still concerned with buggy memcmp implementations
5807         can invoke gl_FUNC_MEMCMP themselves.
5808
5809 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
5810
5811         * lib/regex_internal.h (BITSET_WORD_BITS):
5812         Work around a bug in 64-bit PGC (before version 6.1-2), where the
5813         preprocessor mishandles large unsigned values as if they were signed.
5814         Problem reported by Claudio Fontana in
5815         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
5816
5817 2006-01-10  Jim Meyering  <jim@meyering.net>
5818
5819         Avoid the double-free (first in fts_read, second in fts_close) that
5820         would occur when an `active' directory is made inaccessible (e.g.,
5821         via chmod a-x) during a traversal.
5822         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
5823         before returning.  Reproduce this failure by
5824         mkdir -p a/b; cd a; chmod a-x . b
5825         Reported by Stavros Passas.
5826
5827         Sync from coreutils.
5828         * lib/sha1.c: Tweak grammar in a comment.
5829
5830 2006-01-10  Jim Meyering  <jim@meyering.net>
5831
5832         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
5833         Patch by Joerg Sonnenberger.
5834
5835 2006-01-10  Bruno Haible  <bruno@clisp.org>
5836
5837         * modules/readutmp: Depend on module free.
5838         * modules/strtok_r: Depend on module restrict.
5839
5840 2006-01-10  Bruno Haible  <bruno@clisp.org>
5841
5842         * modules/gettext (configure.ac): Add an invocation of
5843         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
5844
5845 2006-01-10  Bruno Haible  <bruno@clisp.org>
5846
5847         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
5848         Reported by Werner Lemberg <wl@gnu.org>.
5849
5850 2006-01-10  Bruno Haible  <bruno@clisp.org>
5851
5852         * lib/localcharset.c: Update from GNU gettext.
5853
5854 2006-01-10  Bruno Haible  <bruno@clisp.org>
5855
5856         * lib/argp.h (__const): Remove macro. Use const instead.
5857         * lib/argp-fmtstream.h (__const): Likewise.
5858         * lib/glob_.h (__const): Remove macro.
5859         * lib/glob-libc.h: Use const instead of __const.
5860
5861 2006-01-10  Bruno Haible  <bruno@clisp.org>
5862
5863         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
5864         variable.
5865         Needed to avoid an automake error regarding the 'gettext' module.
5866
5867 2006-01-09  Simon Josefsson  <jas@extundo.com>
5868
5869         * modules/inet_ntop (Depends-on): Add restrict.
5870
5871 2006-01-09  Simon Josefsson  <jas@extundo.com>
5872
5873         * modules/gc-rijndael-tests (License): Put under LGPL.
5874
5875         * modules/gc-des-tests (License): Likewise.
5876
5877         * modules/gc-arcfour-tests (License): Likewise.
5878
5879         * modules/gc-arctwo-tests (License): Likewise.
5880
5881         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
5882
5883         * modules/gc-hmac-sha1-tests (Files): Likewise.
5884
5885         * modules/gc-hmac-md5-tests (License): Likewise.
5886
5887         * modules/gc-sha1-tests (License): Likewise.
5888
5889         * modules/gc-md5-tests (License): Likewise.
5890
5891         * modules/gc-md4-tests (License): Likewise.
5892
5893         * modules/gc-md2-tests (License): Likewise.
5894
5895         * modules/gc-tests (License): Likewise.
5896
5897         * modules/des-tests (License): Likewise.
5898
5899         * modules/md4-tests (License): Likewise.
5900
5901         * modules/md2-tests (License): Likewise.
5902
5903 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
5904
5905         Sync from coreutils:
5906
5907         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
5908         * modules/lib-ignore: New file.
5909         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
5910         chdir-safer.m4, lchmod.m4.
5911         * modules/openat: Add mkdirat.c, openat-priv.h.
5912
5913 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
5914
5915         Sync from coreutils.
5916         * m4/lib-ignore.m4: New file.
5917         * m4/lchmod.m4: New file.
5918
5919 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
5920
5921         Sync from coreutils.
5922         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
5923         for write access: POSIX says that must fail.
5924         * lib/fts.c (diropen): Likewise.
5925         * lib/save-cwd.c (save_cwd): Likewise.
5926         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
5927         well, for minor improvements on hosts that lack O_DIRECTORY.
5928         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
5929         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
5930         Fall back on chown if open failed with EACCES.
5931
5932         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
5933         Report an error at compile-time if only a 1-second nominal clock
5934         resolution is found.
5935
5936         * lib/lchmod.h: New file.
5937         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
5938         (make_dir_parents): Use lchown rather than chown, and
5939         lchmod rather than chmod.
5940
5941         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
5942         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
5943         "proc" reported by n0dalus.
5944
5945         * lib/mountlist.c: Include <limits.h>.
5946         (dev_from_mount_options)
5947         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
5948         New function.  It no longer assumes "dev=" has the System V meaning
5949         on Linux (since it doesn't).  It also parses "dev=" more carefully.
5950         (read_file_system_list)
5951         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
5952         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
5953         dev= in that case.
5954
5955         * lib/posixtm.h (PDS_PRE_2000): New macro.
5956         * lib/posixtm.c (year): Arg is now syntax_bits rather than
5957         allow_century.  All usages changed.  Reject dates outside the range
5958         1969-1999 if PDS_PRE_2000 is used.
5959
5960 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
5961
5962         Sync from coreutils.
5963         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
5964         (Time of day items): Mention the possibility of leap seconds.
5965         Problem reported by Dr. David Alan Gilbert.
5966
5967 2006-01-09  Jim Meyering  <jim@meyering.net>
5968
5969         Sync from coreutils.
5970
5971         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
5972
5973         * lib/chdir-safer.h, chdir-safer.c: New files.
5974
5975         * lib/modechange.c (mode_compile): Reject an invalid mode string
5976         that starts with an octal digit.  From Andreas Gruenbacher.
5977
5978         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
5979         and dup to open_safer and dup_safer, respectively.
5980         (openat_permissive): Fix typo in comment.
5981
5982         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
5983         "gettext.h"; either no longer needed or are guaranteed by openat.h.
5984         (_): Remove; no longer needed.
5985         (openat): Renamed from rpl_openat; no need for rpl_openat
5986         since openat.h renames openat for us.
5987         Replace most of the body with a call to openat_permissive,
5988         to avoid duplicate code.
5989         Port to (probably hypothetical) environments were mode_t is
5990         wider than int.
5991         (openat_permissive): Require mode arg, so that we can check
5992         types better.  Put it just after flags.  Change cwd failure
5993         indicator from pointer-to-bool to pointer-to-errno-value.
5994         All callers changed.
5995         Invoke openat_save_fail and/or openat_restore_fail if
5996         cwd_errno is null, so that openat can call us.
5997         (openat_permissive, fdopendir, fstatat, unlinkat):
5998         Simplify errno handling to avoid some duplicate code,
5999         as it's OK to set errno on success.
6000         * lib/openat.h: Revamp code so that function macros depend on
6001         __OPENAT_PREFIX only, not also on AT_FDCWD.
6002         (openat_ro): Remove.  Caller changed to use openat_permissive.
6003         (openat_permissive): Now a macro, if not a function.
6004         (openat_restore_fail, openat_save_fail): Now always functions,
6005         since mkdirat needs them even if __OPENAT_PREFIX is defined.
6006
6007         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
6008         and openat.c.
6009         * lib/mkdirat.c: Include openat-priv.h.
6010         Remove definitions of macros defined therein.
6011         * lib/openat.c: Likewise.
6012
6013         * lib/mkdirat.c (mkdirat): New file and function.
6014         * lib/openat.h (mkdirat): Declare.
6015
6016         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
6017
6018         * lib/openat.h (openat_permissive): Declare.
6019         (openat_ro): Define.
6020
6021         * lib/openat.c (EXPECTED_ERRNO): New macro.
6022         (openat_permissive): New function -- used in remove.c rewrite.
6023         (all functions): Set errno just before returning, only if there
6024         was an actual failure.
6025         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
6026
6027         Emulate openat-family functions using Linux's procfs, if possible.
6028         Idea and some code based on Ulrich Drepper's glibc changes.
6029
6030         * lib/openat.c: (BUILD_PROC_NAME): New macro.
6031         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
6032         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
6033         before falling back on save_cwd and restore_cwd.
6034         (fdopendir, fstatat, unlinkat): Likewise.
6035
6036         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
6037         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
6038
6039         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
6040         as second argument to va_arg.  Otherwise, some versions of gcc
6041         warn that `if this code is reached, the program will abort'.
6042
6043 2006-01-09  Jim Meyering  <jim@meyering.net>
6044
6045         Sync from coreutils.
6046         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
6047         Require openat-priv.h.
6048
6049 2006-01-09  Bruno Haible  <bruno@clisp.org>
6050
6051         * modules/strnlen (Include): Use strnlen.h.
6052
6053 2006-01-09  Bruno Haible  <bruno@clisp.org>
6054
6055         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
6056
6057 2006-01-09  Bruno Haible  <bruno@clisp.org>
6058
6059         * lib/sysexit_.h (EX_OK): New macro.
6060         Suggested by Martin Lambers <marlam@marlam.de>.
6061
6062 2006-01-09  Bruno Haible  <bruno@clisp.org>
6063
6064         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
6065         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
6066
6067 2006-01-09  Bruno Haible  <bruno@clisp.org>
6068
6069         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
6070         numbers.
6071
6072 2006-01-09  Bruno Haible  <bruno@clisp.org>
6073
6074         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
6075         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
6076         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
6077         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
6078
6079 2006-01-09  Bruno Haible  <bruno@clisp.org>
6080
6081         * build-aux/javacomp.sh.in: New file, moved from lib/.
6082         * modules/javacomp-script (Files): Update.
6083         (configure.ac): Add AC_CONFIG_FILES invocation.
6084         (EXTRA_DIST): Remove variable.
6085
6086         * build-aux/javaexec.sh.in: New file, moved from lib/.
6087         * modules/javaexec (Files): Update.
6088         (configure.ac): Add AC_CONFIG_FILES invocation.
6089         (EXTRA_DIST): Remove javaexec.sh.in.
6090
6091         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
6092         * modules/csharpcomp-script (Files): Update.
6093         (configure.ac): Add AC_CONFIG_FILES invocation.
6094         (EXTRA_DIST): Remove variable.
6095
6096         * build-aux/csharpexec.sh.in: New file, moved from lib/.
6097         * modules/csharpexec (Files): Update.
6098         (configure.ac): Add AC_CONFIG_FILES invocation.
6099         (EXTRA_DIST): Remove csharpexec.sh.in.
6100
6101 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
6102
6103         Sync from coreutils.
6104
6105         Add POSIX ACL support
6106         * lib/acl.h (copy_acl, set_acl): Add declarations.
6107         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
6108         systems other than Linux.
6109         (chmod_or_fchmod): New function: use fchmod when possible,
6110         and chmod otherwise.
6111         (file_has_acl): Add a POSIX ACL implementation, with a
6112         Linux-specific subcase.
6113         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
6114         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
6115         acls are unsupported.
6116         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
6117         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
6118         are unsupported.
6119
6120 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
6121
6122         Sync from coreutils.
6123         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
6124
6125 2006-01-07  Bruno Haible  <bruno@clisp.org>
6126
6127         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
6128         gl_EARLY.
6129
6130 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
6131
6132         * lib/strftime.c (tzname): Don't declare if it is already #defined.
6133         Problem reported for Mingw by Mark Junker.
6134
6135 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
6136
6137         * README: Gnulib normally doesn't generate a tarball.
6138
6139 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
6140
6141         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
6142         long int, not int, for nanosecond counts, so that people who are
6143         used to POSIX struct timespec won't be surprised.  Reported by Jim
6144         Meyering.
6145
6146 2005-12-28  Bruno Haible  <bruno@clisp.org>
6147
6148         * build-aux/config.rpath: Update from GNU gettext.
6149
6150 2005-12-16  Jim Meyering  <jim@meyering.net>
6151
6152         * modules/fprintftime: New module.
6153         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
6154
6155 2005-12-16  Jim Meyering  <jim@meyering.net>
6156
6157         * m4/fprintftime.m4: New file.
6158
6159 2005-12-16  Jim Meyering  <jim@meyering.net>
6160
6161         * lib/fprintftime.c, fprintftime.h: New files.
6162
6163 2005-12-15  Simon Josefsson  <jas@extundo.com>
6164
6165         * modules/socklen (configure.ac): Fix M4 macro name, to align with
6166         new m4/socklen.m4.
6167
6168 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
6169
6170         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
6171         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
6172
6173 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
6174
6175         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
6176         * lib/argp-help.c (fill_in_uparams): Check if the constructed
6177         struct uparams is valid. Fall back to the default values if it is
6178         not.
6179
6180 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
6181
6182         * modules/argp (Files): Add argp-pin.c
6183         (Depends-on): dirname
6184         (lib_SOURCES): Add argp-pin.c
6185
6186 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
6187
6188         * m4/argp.m4:  Check if program_invocation_name and
6189         program_invocation_short_name are declared and define appropriate
6190         macros if they are not.
6191
6192 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
6193
6194         * lib/argp-help.c (__argp_base_name): New function
6195         (__argp_short_program_name): Rewrite using __argp_base_name
6196         * lib/argp-namefrob.h: Define program_invocation_name and
6197         program_invocation_short_name if requested
6198         (__argp_base_name): Add prototype
6199         * lib/argp-parse.c (argp_def): Use gettext wrappers
6200         (argp_default_parser): Use __argp_base_name
6201         * lib/argp-pin.c: New file. Defines program_invocation_name and
6202         program_invocation_short_name on systems that lack them.
6203
6204 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
6205
6206         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
6207         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
6208         porting problem reported by Georg Schwarz in
6209         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
6210
6211 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
6212
6213         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
6214         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
6215         porting problem reported by Georg Schwarz in
6216         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
6217
6218 2005-12-05  Bruno Haible  <bruno@clisp.org>
6219
6220         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
6221         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
6222         Reported by Mark Junker <mjscod@gmx.de>.
6223
6224 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
6225
6226         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
6227         Use implementation from Albert Chin, with some
6228         comments/corrections by Stepan Kasal and myself.
6229
6230 2005-12-02  Bruno Haible  <bruno@clisp.org>
6231
6232         * gnulib-tool (func_import): Accept GPLed build tool modules when
6233         --lgpl is given.
6234         * modules/csharpcomp-script: New file.
6235         * modules/csharpcomp: Depend on it.
6236         * modules/javacomp-script: New file.
6237         * modules/javacomp: Depend on it.
6238         Suggested by Simon Josefsson.
6239
6240 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
6241
6242         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
6243         statement, to work around an HP-UX 10.20 compiler bug reported by
6244         Peter O'Gorman.
6245
6246 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
6247
6248         * modules/savedir (Depends-on): Add openat.
6249
6250 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
6251
6252         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
6253         (uintmax_t) [defined uintmax_t]: Do not declare.
6254         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
6255         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
6256         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
6257         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
6258         sake of portability to weird hosts that C allows (though we don't
6259         know of any practical examples).
6260
6261         * lib/savedir.h (fdsavedir): New decl.
6262         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
6263         contains most of the former guts of savedir.
6264         (savedir): Use savedirstream.
6265         Include "openat.h".
6266
6267 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
6268
6269         * modules/obstack (Files): Add m4/ulonglong.m4.
6270         Problem reported by Davide Angelocola.
6271
6272 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
6273
6274         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
6275         coreutils no longer futzes with rounding modes.
6276
6277 2005-11-14  Jim Meyering  <jim@meyering.net>
6278
6279         * lib/mkstemp-safer.c: Include <config.h>, required for possible
6280         replacement of mkstemp.
6281
6282 2005-11-10  Simon Josefsson  <jas@extundo.com>
6283
6284         * lib/readline.c: Remove EOL.
6285
6286 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
6287
6288         * modules/gethrxtime (Depends-on): Add gettime.
6289
6290 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
6291
6292         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
6293         or gettimeofday; no longer needed.
6294
6295 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
6296
6297         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
6298         time business.
6299         (gethrxtime) [! (HAVE_NANOUPTIME
6300         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
6301         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
6302         our own approximation.
6303
6304 2005-11-08  Eric Blake  <ebb9@byu.net>
6305
6306         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
6307
6308 2005-11-08  Eric Blake  <ebb9@byu.net>
6309
6310         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
6311
6312 2005-11-04  Bruno Haible  <bruno@clisp.org>
6313
6314         * gnulib-tool: Implement --update mode.
6315
6316 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
6317
6318         Fix porting problem reported by Theodoros V. Kalamatianos.
6319         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
6320         Don't assume that futimes failing means we must fail.
6321
6322 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
6323
6324         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
6325         variables to suggest the intended function of the PATH_MAX check.
6326
6327 2005-10-30  Kean Johnston  <jkj@sco.com>
6328
6329         Trivial changes to support SCO systems.
6330         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
6331         as PATH_MAX.
6332         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
6333         where __ptr is null when no I/O is pending.
6334
6335 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
6336
6337         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
6338         leave errno alone.  Problem reported by Dmitry V. Levin.
6339
6340 2005-10-28  Simon Josefsson  <jas@extundo.com>
6341
6342         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
6343         Test more.
6344
6345         * tests/test-gc-md2.c, tests/test-md2.c: New files.
6346
6347         * modules/md2, modules/md2-tests: New files.
6348
6349 2005-10-28  Simon Josefsson  <jas@extundo.com>
6350
6351         * m4/inet_ntop.m4: More tests.
6352
6353         * m4/gc-md2.m4, md2.m4: New file.
6354
6355 2005-10-28  Simon Josefsson  <jas@extundo.com>
6356
6357         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
6358         "restrict" keywords, as per POSIX.  Protect the function
6359         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
6360         Don't use K&R prototypes.  Check the sprintf return values.
6361         Re-define EAFNOSUPPORT if not present.  Indent.
6362
6363         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
6364         suggested by Bruno Haible <bruno@clisp.org>.
6365
6366         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
6367
6368         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
6369
6370         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
6371         libgcrypt).
6372
6373         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
6374
6375         * lib/md2.h, md2.c: New files.
6376
6377 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
6378
6379         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
6380         errno alone.  Problem reported by Frederic Jolliton.
6381
6382 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
6383
6384         * modules/verify (License): Change from GPL to LGPL.  This is a
6385         tiny module and there are apparently near-equivalents that are
6386         under the BSD license.
6387
6388 2005-10-24  Simon Josefsson  <jas@extundo.com>
6389
6390         * modules/sha1: Relicense to LGPL.
6391
6392 2005-10-24  Simon Josefsson  <jas@extundo.com>
6393
6394         * lib/md4.h: Shrink buffer size, now that we changed the type.
6395
6396 2005-10-23  Simon Josefsson  <jas@extundo.com>
6397
6398         * gnulib-tool (func_import): Fix --tests-base.
6399
6400 2005-10-22  Simon Josefsson  <jas@extundo.com>
6401
6402         * modules/arcfour (Depends-on): Need stdint.
6403
6404 2005-10-22  Simon Josefsson  <jas@extundo.com>
6405
6406         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
6407         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
6408
6409 2005-10-22  Simon Josefsson  <jas@extundo.com>
6410
6411         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
6412         suggested by Bruno Haible <bruno@clisp.org>.
6413
6414 2005-10-22  Simon Josefsson  <jas@extundo.com>
6415
6416         * lib/crc.h: Include stddef.h, for size_t.
6417
6418 2005-10-22  Simon Josefsson  <jas@extundo.com>
6419
6420         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
6421         arcfour_context struct (simplify test vector testing in GNU
6422         Shishi).
6423
6424 2005-10-21  Simon Josefsson  <jas@extundo.com>
6425
6426         * modules/des, modules/des-tests: New files.
6427
6428         * modules/gc-des, modules/gc-des-tests: New files.
6429
6430         * tests/test-des.c, tests/test-gc-des.c: New file.
6431
6432 2005-10-21  Simon Josefsson  <jas@extundo.com>
6433
6434         * modules/arctwo, modules/arctwo-tests: New files.
6435
6436         * tests/test-arctwo.c: New file.
6437
6438         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
6439
6440         * tests/test-gc-arctwo.c: New file.
6441
6442 2005-10-21  Simon Josefsson  <jas@extundo.com>
6443
6444         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
6445         Bruno Haible <bruno@clisp.org>.
6446
6447         * m4/gc-des.m4: New file.
6448
6449 2005-10-21  Simon Josefsson  <jas@extundo.com>
6450
6451         * m4/arctwo.m4: New file.
6452
6453         * m4/gc-arctwo.m4: New file.
6454
6455 2005-10-21  Simon Josefsson  <jas@extundo.com>
6456
6457         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
6458         block.
6459
6460 2005-10-21  Simon Josefsson  <jas@extundo.com>
6461
6462         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
6463         <bruno@clisp.org>.
6464
6465         * lib/hmac-sha1.c (hmac_sha1): Likewise.
6466
6467         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
6468         Bruno Haible <bruno@clisp.org>.
6469
6470         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
6471         <bruno@clisp.org>.
6472
6473 2005-10-21  Simon Josefsson  <jas@extundo.com>
6474
6475         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
6476
6477 2005-10-21  Simon Josefsson  <jas@extundo.com>
6478
6479         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
6480
6481 2005-10-21  Simon Josefsson  <jas@extundo.com>
6482
6483         * lib/des.h, des.c: New files.
6484
6485         * lib/gc-gnulib.c: Support DES.c
6486
6487 2005-10-21  Simon Josefsson  <jas@extundo.com>
6488
6489         * lib/arctwo.h, arctwo.c: New files.
6490
6491         * lib/gc-gnulib.c: Support ARCTWO.
6492
6493 2005-10-21  Simon Josefsson  <jas@extundo.com>
6494
6495         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
6496         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6497
6498 2005-10-21  Simon Josefsson  <jas@extundo.com>
6499
6500         * gnulib-tool (func_import, func_create_testdir): Define automake
6501         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
6502         Makefile.am snippet),
6503         suggested by Bruno Haible <bruno@clisp.org>.
6504
6505         * modules/gc (Makefile.am): Use it.
6506
6507 2005-10-21  Bruno Haible  <bruno@clisp.org>
6508
6509         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
6510         patch.
6511
6512 2005-10-19  Simon Josefsson  <jas@extundo.com>
6513
6514         * tests/test-gc-rijndael.c: New file.
6515
6516         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
6517
6518 2005-10-19  Simon Josefsson  <jas@extundo.com>
6519
6520         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
6521         interface too.
6522
6523 2005-10-19  Simon Josefsson  <jas@extundo.com>
6524
6525         * tests/test-gc-arcfour.c: New file.
6526
6527         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
6528
6529 2005-10-19  Simon Josefsson  <jas@extundo.com>
6530
6531         * modules/gc-md4, modules/gc-md4-tests: New file.
6532
6533         * tests/test-gc-md4.c: New file.
6534
6535 2005-10-19  Simon Josefsson  <jas@extundo.com>
6536
6537         * m4/gc-md4.m4: New file.
6538
6539 2005-10-19  Simon Josefsson  <jas@extundo.com>
6540
6541         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
6542         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
6543         <kasal@ucw.cz>.
6544
6545 2005-10-19  Simon Josefsson  <jas@extundo.com>
6546
6547         * m4/gc-arcfour.m4: New file.
6548
6549         * m4/gc-rijndael.m4: New file.
6550
6551 2005-10-19  Simon Josefsson  <jas@extundo.com>
6552
6553         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
6554
6555 2005-10-19  Simon Josefsson  <jas@extundo.com>
6556
6557         * lib/gc-gnulib.c: Support ARCFOUR.
6558
6559 2005-10-19  Simon Josefsson  <jas@extundo.com>
6560
6561         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
6562         support.
6563
6564         * lib/gc.h: Add ECB enum type.
6565
6566         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
6567
6568 2005-10-18  Simon Josefsson  <jas@extundo.com>
6569
6570         * tests/test-md5.c: New file.
6571
6572         * modules/md5-tests: New file.
6573
6574 2005-10-18  Simon Josefsson  <jas@extundo.com>
6575
6576         * tests/test-md4.c: New file.
6577
6578         * modules/md4, modules/md4-tests: New files.
6579
6580 2005-10-18  Simon Josefsson  <jas@extundo.com>
6581
6582         * m4/md4.m4: New file.
6583
6584 2005-10-18  Simon Josefsson  <jas@extundo.com>
6585
6586         * lib/md4.h, md4.c: New files, based on md5.?.
6587
6588 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
6589
6590         * gnulib-tool (func_create_testdir): Omit the second check whether
6591         BUILT_SOURCES in nonempty.
6592
6593 2005-10-17  Simon Josefsson  <jas@extundo.com>
6594
6595         * tests/test-rijndael.c: New file.
6596
6597 2005-10-17  Simon Josefsson  <jas@extundo.com>
6598
6599         * modules/sha1: Depend on stdint instead of md5.
6600
6601         * modules/md5: Depend on stdint, remove uint32_t.
6602
6603 2005-10-17  Simon Josefsson  <jas@extundo.com>
6604
6605         * modules/gc-sha1-tests: New file.
6606
6607         * tests/test-gc-sha1.c: New file.
6608
6609 2005-10-17  Simon Josefsson  <jas@extundo.com>
6610
6611         * m4/md5.m4: Remove call to uint32_t.m4.
6612
6613 2005-10-17  Simon Josefsson  <jas@extundo.com>
6614
6615         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
6616
6617         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
6618         md5.h.
6619
6620         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
6621
6622         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
6623
6624 2005-10-17  Simon Josefsson  <jas@extundo.com>
6625
6626         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
6627
6628 2005-10-17  Simon Josefsson  <jas@extundo.com>
6629
6630         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
6631
6632 2005-10-17  Simon Josefsson  <jas@extundo.com>
6633
6634         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
6635
6636         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
6637
6638 2005-10-17  Bruno Haible  <bruno@clisp.org>
6639
6640         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
6641         that it can also be used in a test.
6642
6643 2005-10-16  Bruno Haible  <bruno@clisp.org>
6644
6645         * gnulib-tool (func_emit_tests_Makefile_am): Also define
6646         TESTS_ENVIRONMENT, so that individual tests can augment it.
6647
6648         * gnulib-tool (func_create_testdir): Use an intermediate target for
6649         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
6650         macros, like $(ALLOCA_H), which cannot be passed through the command
6651         line.
6652
6653 2005-10-15  Simon Josefsson  <jas@extundo.com>
6654
6655         * modules/rijndael-tests: New file.
6656
6657         * modules/rijndael: New file.
6658
6659 2005-10-15  Simon Josefsson  <jas@extundo.com>
6660
6661         * m4/rijndael.m4: New file.
6662
6663 2005-10-15  Simon Josefsson  <jas@extundo.com>
6664
6665         * lib/rijndael-api-fst.h, rijndael-api-fst.c: New files.
6666
6667         * lib/rijndael-alg-fst.h, rijndael-alg-fst.c: New files.
6668
6669 2005-10-14  Simon Josefsson  <jas@extundo.com>
6670
6671         * tests/test-arcfour.c: New file.
6672
6673         * modules/arcfour, modules/arcfour-tests: New files.
6674
6675 2005-10-14  Simon Josefsson  <jas@extundo.com>
6676
6677         * m4/arcfour.m4: New file.
6678
6679 2005-10-14  Simon Josefsson  <jas@extundo.com>
6680
6681         * lib/arcfour.h, arcfour.c: New files.
6682
6683 2005-10-14  Roland McGrath  <roland@redhat.com>
6684
6685         Import from libc.  [BZ #1331]
6686         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
6687         macro argument.
6688         Reported by Matej Vela <vela@debian.org>.
6689
6690 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
6691
6692         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
6693         include <wchar.h>; no longer needed.
6694
6695 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
6696
6697         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
6698
6699 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
6700         and  Ulrich Drepper  <drepper@redhat.com>
6701
6702         Import from libc.
6703         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
6704         instead of inline stream orientation test and two separate
6705         function calls.  Pay no attention to USE_IN_LIBIO.
6706
6707 2005-10-13  Simon Josefsson  <jas@extundo.com>
6708
6709         * modules/gc-hmac-md5-tests: New file.
6710
6711         * tests/test-gc-hmac-sha1.c: New file.
6712
6713         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
6714
6715         * modules/gc-hmac-md5-tests: New file.
6716
6717         * tests/test-gc-md5.c: New file.
6718
6719         * modules/gc-md5-tests: New file.
6720
6721 2005-10-13  Simon Josefsson  <jas@extundo.com>
6722
6723         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
6724         Move memory allocation outside of loop.
6725
6726 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
6727
6728         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
6729         intermediate directory is in a read-only file system.  Problem
6730         reported by Eric Blake.
6731
6732 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
6733
6734         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
6735
6736 2005-10-12  Simon Josefsson  <jas@extundo.com>
6737
6738         * tests/test-hmac-sha1.c: New file.
6739
6740         * modules/hmac-sha1-tests: New file.
6741
6742         * modules/hmac-sha1: New file.
6743
6744 2005-10-12  Simon Josefsson  <jas@extundo.com>
6745
6746         * modules/gc-sha1: New file.
6747
6748 2005-10-12  Simon Josefsson  <jas@extundo.com>
6749
6750         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
6751
6752         * tests/test-gc-pbkdf2-sha1.c: New file.
6753
6754 2005-10-12  Simon Josefsson  <jas@extundo.com>
6755
6756         * modules/gc-md5, modules/gc-hmac-md5: New files.
6757
6758         * modules/gc (Files): Remove md5, memxor and hmac files.
6759
6760 2005-10-12  Simon Josefsson  <jas@extundo.com>
6761
6762         * m4/gc-pbkdf2-sha1.m4: New file.
6763
6764         * m4/gc-hmac-sha1.m4: New file.
6765
6766         * m4/gc-sha1: New file.
6767
6768         * m4/hmac-sha1.m4: New file.
6769
6770 2005-10-12  Simon Josefsson  <jas@extundo.com>
6771
6772         * m4/gc-md5.m4, gc-hmac-md5: New files.
6773
6774         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
6775
6776 2005-10-12  Simon Josefsson  <jas@extundo.com>
6777
6778         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
6779         suggested by Bruno Haible <bruno@clisp.org>.
6780
6781 2005-10-12  Simon Josefsson  <jas@extundo.com>
6782
6783         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
6784
6785 2005-10-12  Simon Josefsson  <jas@extundo.com>
6786
6787         * lib/gc-pbkdf2-sha1.c: New file.
6788
6789         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
6790
6791 2005-10-12  Simon Josefsson  <jas@extundo.com>
6792
6793         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
6794
6795         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
6796
6797 2005-10-12  Simon Josefsson  <jas@extundo.com>
6798
6799         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
6800         GC_USE_HMAC_MD5, respectively.
6801
6802         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
6803         (gc_md5): Fix typo.
6804
6805         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
6806
6807         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
6808
6809         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
6810
6811 2005-10-12  Bruno Haible  <bruno@clisp.org>
6812
6813         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
6814         Reported by Stepan Kasal <kasal@ucw.cz>.
6815
6816 2005-10-11  Simon Josefsson  <jas@extundo.com>
6817
6818         * tests/test-crc.c: New file.
6819
6820         * modules/crc, modules/crc-tests: New files.
6821
6822 2005-10-11  Simon Josefsson  <jas@extundo.com>
6823
6824         * m4/crc.m4: New file.
6825
6826 2005-10-11  Simon Josefsson  <jas@extundo.com>
6827
6828         * lib/gc.h: Add gc_hash and gc_hash_buffer.
6829
6830         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
6831
6832         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
6833
6834 2005-10-11  Simon Josefsson  <jas@extundo.com>
6835
6836         * lib/crc.h, crc.c: New files.
6837
6838         * lib/gc.h (gc_hash_buffer): Add doc.
6839
6840 2005-10-11  Bruno Haible  <bruno@clisp.org>
6841
6842         * modules/c-strcasestr: New file.
6843         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
6844
6845 2005-10-11  Bruno Haible  <bruno@clisp.org>
6846
6847         * modules/c-strcase: New file.
6848         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
6849
6850 2005-10-11  Bruno Haible  <bruno@clisp.org>
6851
6852         * lib/strcasecmp.c: Include limits.h.
6853         (strcasecmp): Avoid integer overflow on exotic platforms.
6854         * lib/strncasecmp.c: Include limits.h.
6855         (strncasecmp): Avoid integer overflow on exotic platforms.
6856         Reported by Paul Eggert.
6857
6858 2005-10-11  Bruno Haible  <bruno@clisp.org>
6859
6860         * lib/c-strcasestr.h: New file, from GNU gettext.
6861         * lib/c-strcasestr.c: New file, from GNU gettext.
6862
6863 2005-10-11  Bruno Haible  <bruno@clisp.org>
6864
6865         * lib/c-strcase.h: New file, from GNU gettext.
6866         * lib/c-strcasecmp.c: New file, from GNU gettext.
6867         * lib/c-strncasecmp.c: New file, from GNU gettext.
6868
6869 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
6870
6871         * modules/mempcpy (License): GPL -> LGPL.
6872         * modules/strchrnul (License): Likewise.
6873         * modules/sysexits (License): Likewise.
6874
6875 2005-10-08  Simon Josefsson  <jas@extundo.com>
6876
6877         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
6878
6879 2005-10-07  Simon Josefsson  <jas@extundo.com>
6880
6881         * m4/memxor.m4: Remove gl_C_RESTRICT call.
6882
6883 2005-10-06  Simon Josefsson  <jas@extundo.com>
6884
6885         * tests/test-hmac-md5.c: New file.
6886
6887         * modules/hmac-md5-tests: New file.
6888
6889         * modules/hmac-md5: New file.
6890
6891 2005-10-06  Simon Josefsson  <jas@extundo.com>
6892
6893         * m4/hmac-md5.m4: New file.
6894
6895         * m4/memxor.m4: Require gl_C_RESTRICT.
6896
6897 2005-10-06  Simon Josefsson  <jas@extundo.com>
6898
6899         * lib/memxor.c (memxor): Avoid casts and warnings.
6900
6901 2005-10-06  Simon Josefsson  <jas@extundo.com>
6902
6903         * lib/hmac-md5.c: New file.
6904
6905         * lib/hmac.h: New file.
6906
6907 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
6908
6909         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
6910         promotes to int, not unsigned int, to catch the AIX 5.3
6911         compiler bug.
6912
6913 2005-10-05  Simon Josefsson  <jas@extundo.com>
6914
6915         * modules/memxor: New file.
6916
6917         * modules/iconv (Files): Move config.rpath to havelib, it is used
6918         there.
6919
6920         * modules/havelib (Files): Add config.rpath.
6921
6922 2005-10-05  Simon Josefsson  <jas@extundo.com>
6923
6924         * m4/memxor.m4: New file.
6925
6926 2005-10-05  Simon Josefsson  <jas@extundo.com>
6927
6928         * lib/memxor.c (memxor): Fix compiler error.
6929
6930         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
6931         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
6932
6933         * lib/memxor.h, memxor.c: New files.
6934
6935         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
6936         we assume all systems have it, suggested by Jim Meyering
6937         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
6938         any systems lack sys/socket.h; mingw32 is known to lack it, but we
6939         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
6940         same reasons.
6941
6942 2005-10-05  Simon Josefsson  <jas@extundo.com>
6943
6944         * config/srclist.txt: Add glibc bug 1423 for md5.h.
6945
6946 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
6947
6948         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
6949         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
6950         needed, since the source code now assumes these .h files.
6951
6952 2005-10-05  Derek Price  <derek@ximbiot.com>
6953
6954         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
6955
6956 2005-10-05  Bruno Haible  <bruno@clisp.org>
6957
6958         * modules/stdint (License): Change to LGPL.
6959
6960 2005-10-04  Simon Josefsson  <jas@extundo.com>
6961
6962         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
6963         D. Baushke" <mdb@gnu.org>.
6964
6965 2005-10-04  Bruno Haible  <bruno@clisp.org>
6966
6967         * lib/verify.h (verify_true): Provide alternative definition for C++.
6968
6969 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
6970
6971         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
6972         (SSIZE_MAX): New macro, if not already defined.
6973         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
6974         than 2 GiB.
6975
6976 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
6977
6978         Sync from coreutils.
6979         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
6980         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
6981         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
6982         ULLONG_MAX doesn't work with 2.7.2.1.
6983
6984 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
6985
6986         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
6987         From Ben Pfaff.
6988
6989         * modules/exclude (Depends-on): Depend on verify.
6990         * modules/strtoimax (Depends-on): Likewise.
6991         * modules/utimecmp (Depends-on): Likewise.
6992
6993 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
6994
6995         * lib/exclude.c: Include verify.h.
6996         (verify): Remove.  All callers changed to use verify.h's version.
6997         * lib/strtoimax.c: Likewise.
6998         * lib/utimecmp.c: Likewis.e
6999
7000         Sync from coreutils.
7001         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
7002         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
7003         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
7004         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
7005         bother returning ENOSYS if settimeofday or stime fails; just let
7006         them return whatever errno they want to return.
7007         * lib/utimens.c: Include unistd.h, for dup2.
7008         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
7009         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
7010
7011 2005-10-02  Jim Meyering  <jim@meyering.net>
7012
7013         Sync from coreutils.
7014         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
7015         from glibc-2.2.5 that fails for read-only files.
7016
7017 2005-10-02  Jim Meyering  <jim@meyering.net>
7018
7019         Sync from coreutils.
7020         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
7021         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
7022         `#if HAVE_CONFIG_H'.
7023         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
7024         Remove AT_FDCWD test.
7025         Do not consume the fd unless successful.
7026         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
7027         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
7028         block, so that we don't even try to compile it if settimeofday is
7029         available.  This works around a compilation failure on OSF1 V5.1,
7030         due to stime requiring a `long int*' while tv_sec is `int'.
7031
7032 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
7033
7034         Sync from coreutils.
7035         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
7036         against `yes', rather than just testing for nonempty.
7037
7038 2005-10-01  Simon Josefsson  <jas@extundo.com>
7039
7040         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
7041         and Darwin.
7042
7043         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
7044         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
7045         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
7046         freeaddrinfo and gai_strerror are declared by the POSIX headers.
7047         Check if struct addrinfo is declared.
7048
7049 2005-10-01  Simon Josefsson  <jas@extundo.com>
7050
7051         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
7052         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
7053         AI_* and EAI_* definitions.  Protect function declarations.
7054
7055 2005-10-01  Jim Meyering  <jim@meyering.net>
7056
7057         Sync from coreutils.
7058
7059         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
7060         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
7061         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
7062         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
7063         in the inet and nsl libraries.  Required on Solaris 5.7.
7064
7065 2005-10-01  Jim Meyering  <jim@meyering.net>
7066
7067         Sync from coreutils.
7068         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
7069         in the inet and nsl libraries.  Required on Solaris 5.7.
7070
7071 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
7072
7073         * lib/getdelim.c (getdelim): Remove unused variables.
7074
7075 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
7076
7077         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
7078         so that the code works even with ancient cpp.  Portability problem
7079         with GCC 2.7.2.1 reported by Thomas M.Ott.
7080
7081 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
7082
7083         * modules/regex (Depends-on): Add strcase.
7084
7085         * modules/gethostname (Licence): Change from GPL to LGPL, since
7086         gethostname.c is a trivial implementation of a standard library
7087         function.
7088         * modules/poll (License): Change from GPL to LGPL, since it's
7089         derived from LGPL code.
7090
7091 2005-09-27  Jim Meyering  <jim@meyering.net>
7092
7093         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
7094         HAVE_CONFIG_H.
7095
7096         * lib/intprops.h (signed_type_or_expr__): Define.
7097         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
7098         for unsigned types.
7099
7100 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
7101
7102         * lib/verify.h (verify_expr): Remove, replacing with:
7103         (verify_true): New macro that returns true instead of void.
7104         (verify_type__): Remove.
7105         (verify): Use verify_true rather than verify_type__.
7106
7107 2005-09-26  Bruno Haible  <bruno@clisp.org>
7108
7109         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
7110         is necessary.
7111         (lib_SOURCES): Remove mbchar.c.
7112         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
7113         (Files): Add m4/mbrtowc.m4.
7114         * modules/mbiter: Likewise.
7115         * modules/mbuiter: Likewise.
7116
7117 2005-09-26  Bruno Haible  <bruno@clisp.org>
7118
7119         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
7120         compile mbchar.c if they are not both present.
7121         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
7122         * m4/mbiter.m4 (gl_MBITER): Likewise.
7123         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
7124         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
7125         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
7126
7127 2005-09-25  Jim Meyering  <jim@meyering.net>
7128
7129         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
7130         also uses socklen_t.
7131
7132 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
7133
7134         * lib/utimens.c (ENOSYS): Define if not already defined.
7135         (futimens): Support having a null PATH if the file descriptor
7136         is nonnegative.
7137
7138         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
7139         Remove.
7140         (__attribute): Define to empty unless GCC 3.1 or later.
7141         This works around a core dump on OpenBSD 3.4, which has GCC
7142         2.95.3, which dumps core when given __attribute__(()).  It also
7143         simplifies other tests, since we really don't want to bother with
7144         worrying about which ancient version of GCC supported what.
7145         Original problem reported by Yoann Vandoorselaere, with part of
7146         the fix suggested by Derek Price.
7147
7148 2005-09-24  Jim Meyering  <jim@meyering.net>
7149
7150         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
7151         so we can once again use a positive bitfield width of 1 -- now we
7152         don't have to explain why we were using a bitfield width of 2.
7153
7154 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
7155
7156         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
7157         and similarly for the other external symbols.  Problem reported
7158         by James Gallager.
7159
7160         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
7161         bug reported by Jim Meyering.
7162
7163         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
7164         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
7165         not needed, since socklen is a prerequisite module.
7166
7167 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
7168
7169         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
7170         Problem reported by Eric Blake.
7171         (getaddrinfo): Initialize se so that it's not garbage.
7172         Redo internal storage allocation so that it doesn't make unportable
7173         assumptions about alignment.
7174         Fix a memory leak.
7175
7176         * lib/utimens.c (futimens): Use futimesat if available.
7177         Prefer it to futimes since it doesn't have the futimes bug.
7178
7179         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
7180         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
7181         Instead, declare a function that returns a pointer to an array,
7182         and use verify_type__ to declare the size of the array.
7183         Problem and germ of a solution reported by Bruno Haible.
7184         (verify_type__): Use 2, not 1, for bitfield size, to avoid
7185         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
7186
7187 2005-09-23  Jim Meyering  <jim@meyering.net>
7188
7189         Sync from coreutils.
7190         Correct build failure (socklen_t not defined) on at least
7191         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
7192         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
7193
7194 2005-09-23  Jim Meyering  <jim@meyering.net>
7195
7196         * modules/getaddrinfo (Depends-on): Add socklen.
7197
7198 2005-09-23  Bruno Haible  <bruno@clisp.org>
7199
7200         * tests/test-verify.c: New file.
7201
7202 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
7203
7204         Sync from coreutils.
7205
7206         * modules/argmatch (Depends-on): Add verify.
7207         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
7208         unistd-safer.
7209         * modules/save-cwd (Depends-on): Likewise.
7210
7211         * modules/openat (Files): Add lib/openat-die.c.
7212         (Depends-on): Remove error, exitfail.
7213         Add dirname.
7214
7215         * modules/verify: New file.
7216         * MODULES.html.sh (Diagnostics <assert.h>): New section,
7217         with "verify" module.
7218
7219 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
7220
7221         Sync from coreutils.
7222
7223         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
7224         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
7225         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
7226         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
7227         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
7228         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
7229         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
7230         Don't bother checking for string.h, stdlib.h, unistd.h.
7231         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
7232         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
7233         module's job.
7234         * m4/jm-macros.m4 (gl_MACROS): Likewise.
7235         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
7236
7237         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
7238         (gl_GETDATE): Use it.
7239
7240         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
7241
7242 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
7243
7244         Sync from coreutils.
7245
7246         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
7247         stat-time.h.
7248         * lib/argmatch.h: Include verify.h
7249         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
7250         (ARGMATCH_ASSERT): Remove; unused.
7251         * lib/canonicalize.c: Assume STDC_HEADERS.
7252         * lib/exclude.c: Include "strcase.h".
7253         * lib/regex_internal.h [!defined _LIBC]: Likewise.
7254         * lib/getusershell.c: Include stdio--.h rather than stdio.h
7255         and stdio-safer.h.
7256         (getusershell): Call fopen, not fopen_safer.
7257         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
7258         Do not include unistd-safer.h.
7259         (save_cwd): Don't call fd_safer; no longer needed
7260         now that we include fcntl--.h.
7261
7262         * lib/getdate.y (relative_time): New type.
7263         (RELATIVE_TIME_0): New constant.
7264         (parser_control): Use relative_time instead of doing it ourselves.
7265         (%union): Add new relative_time rel member.
7266         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
7267         Now typeless.
7268         (relunit, relunit_snumber): Now of type rel.
7269         (zone, rel, relunit, get_date): Adjust to above changes.
7270
7271         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
7272         Do not include unistd-safer.h.
7273         (getloadavg): Don't call fd_safer; no longer needed
7274         now that we include fcntl--.h.
7275
7276         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
7277         (make_dir_parents): Treat ENOSYS like EEXIST.
7278
7279         Improve quality of diagnostics on restore_cwd failure.
7280         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
7281         (make_dir_parents): Last arg is now int * (for errno), not bool *.
7282         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
7283         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
7284         each time through the loop.  Do not diagnose restore_cwd failure;
7285         that is the caller's job (and perhaps the caller does not care).
7286
7287         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
7288         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
7289         If the file already exists but is not a directory, don't bother
7290         to try to make its parents.
7291         Close potential file descriptor leak if we can't chdir("/") (!).
7292         Don't always return true if chdir($PWD) fails; return true only
7293         if the requested action was done successfully (except for the
7294         chdir($PWD)).
7295         Don't log final directory unless we actually made it.
7296         Refactor to avoid duplicate code to fix up permissions.
7297         Don't attempt to fix up parent permissions if chdir($PWD) fails.
7298
7299         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
7300         to make it a bit faster and (I hope) clearer.
7301         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
7302         Fix bug in formats like %2N.
7303
7304         * lib/verify.h: New file.
7305
7306 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
7307
7308         Sync from coreutils.
7309         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
7310
7311 2005-09-22  Jim Meyering  <jim@meyering.net>
7312
7313         Sync from coreutils.
7314
7315         * m4/lstat.m4 (gl_FUNC_LSTAT):
7316         Use AC_LIBSOURCES to require lstat.c and lstat.h.
7317         Remove obsolete comment.
7318         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
7319         * m4/xstrtod.m4: Likewise.
7320
7321         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
7322
7323 2005-09-22  Jim Meyering  <jim@meyering.net>
7324
7325         Sync from coreutils.
7326
7327         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
7328
7329         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
7330         the .tm_year member, since otherwise gcc-4.0 would now warn about
7331         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
7332
7333         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
7334         order to avoid an unsuppressible warning from gcc on 64-bit systems.
7335
7336         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
7337         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
7338         when run in a time zone for which daylight savings time is in effect
7339         for the starting date.
7340
7341         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
7342         stop us from restricting permissions of just-created absolute-named
7343         directories.
7344         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
7345         to restore initial working directory.
7346         * lib/mkdir-p.c (make_dir_parents): New parameter:
7347         different_working_dir, to tell caller if/when we change the working
7348         directory and are unable to return to the initial one.
7349         * lib/mkdir-p.h (make_dir_parents): Update prototype.
7350         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
7351         `return false'.  This fixes a bug introduced on 2004-07-30.
7352
7353         * lib/openat.c (fdopendir): Be sure to close the supplied
7354         file descriptor before returning.  This makes our replacement
7355         implementation a little closer to Solaris's, where fdopendir
7356         ties the file descriptor to the returned DIR* pointer.
7357         * lib/openat.c (unlinkat): New function.
7358         * lib/openat.h (unlinkat): Add prototype.
7359         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
7360         (openat_restore_fail): Rename from openat_restore_die.
7361         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
7362
7363         Provide an alternative to exiting immediately upon save_cwd or
7364         restore_cwd failure.  Now, an application can arrange e.g.,
7365         to perform a longjump in that case.
7366         * lib/openat.c: Include dirname.h.
7367         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
7368         (rpl_openat, fdopendir, fstatat): Call openat_save_die
7369         and openat_restore_die rather than calling error directly.
7370         Don't include "error.h" or "exitfail.h"; they're no longer needed.
7371
7372         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
7373         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
7374         define.
7375
7376         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
7377         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
7378                             int utc, int nanoseconds);
7379         Background:
7380         date should not have to allocate a megabyte of virtual memory to
7381         handle a format argument like +%1048575T.  When implemented with
7382         strftime, it must allocate such a buffer, use strftime to fill it
7383         in, print it, then free it.
7384         With fprintftime, it simply prints everything and exits.
7385         With no need for memory allocation, that's one fewer way to fail.
7386         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
7387         optional field width, not before, so we accept %9:z, not %:9z.
7388         (my_strftime): Be sure to use L_('x') for literals.
7389
7390         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
7391         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
7392         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
7393         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
7394         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
7395         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
7396         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
7397         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
7398         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
7399         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
7400         * lib/xgethostname.c, lib/xreadlink.c:
7401         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
7402
7403         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
7404         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
7405         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
7406         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
7407         and don't include <sys/file.h>).
7408
7409 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
7410
7411         Sync from coreutils.
7412
7413         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
7414         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
7415         [!LDAV_DONE]: Avoid unused variable warning.
7416
7417 2005-09-21  Bruno Haible  <bruno@clisp.org>
7418
7419         * lib/unicodeio.h (unicode_to_mb): New declaration.
7420
7421 2005-09-20  Derek Price  <derek@ximbiot.com>
7422
7423         * lib/getaddrinfo.c: Don't include <netdb.h> included from
7424         getaddrinfo.h.
7425
7426 2005-09-20  Bruno Haible  <bruno@clisp.org>
7427
7428         * gnulib-tool: Remove trailing slashes from the values specified for
7429         --source-base, --m4-base, --tests-base, --aux-dir.
7430         Suggested by Simon Josefsson <jas@extundo.com>.
7431
7432 2005-09-20  Bruno Haible  <bruno@clisp.org>
7433
7434         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
7435         func_modules_to_filelist, func_import, func_create_testdir): Make all
7436         sorting results locale-independent, so that gnulib-cache.m4 doesn't
7437         change when gnulib-tool is invoked in a different locale.
7438
7439 2005-09-19  Simon Josefsson  <jas@extundo.com>
7440
7441         * m4/socklen.m4: Fix typo.
7442
7443 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7444
7445         Use a consistent style for including <config.h>.
7446         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
7447         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
7448         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
7449         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
7450         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
7451         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
7452         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
7453         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
7454         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
7455         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
7456         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
7457         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
7458         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
7459         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
7460         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
7461         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
7462         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
7463         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
7464         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
7465         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
7466         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
7467         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
7468         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
7469         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
7470         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
7471         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
7472         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
7473         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
7474         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
7475         lib/xstrtoumax.c, lib/yesno.c:
7476         Standardize inclusion of config.h.
7477         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
7478         lib/inttostr.h:  Removed inclusion of config.h from header files.
7479         * lib/inttostr.c:  Adjusted in-tree users.
7480         * lib/timespec.h: Remove superfluous warning to include config.h.
7481         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
7482         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
7483         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
7484         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
7485         config.h with HAVE_CONFIG_H.
7486
7487 2005-09-19  Jim Meyering  <jim@meyering.net>
7488
7489         * modules/pathmax (License): Change to LGPL.
7490
7491 2005-09-19  Derek Price  <derek@ximbiot.com>
7492
7493         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
7494
7495 2005-09-19  Bruno Haible  <bruno@clisp.org>
7496
7497         * gnulib-tool (import): Provide default for --tests-base.
7498
7499 2005-09-19  Bruno Haible  <bruno@clisp.org>
7500
7501         * doc/quote.texi: New file, extracted from gnulib.texi.
7502         * doc/ctime.texi: New file, extracted from gnulib.texi.
7503         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
7504         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
7505         * doc/gnulib.texi: Include them.
7506
7507 2005-09-18  Bruno Haible  <bruno@clisp.org>
7508
7509         Portability fix.
7510         * gnulib-tool (func_readlink): New function.
7511         (func_ln_if_changed): Use it.
7512
7513 2005-09-18  Bruno Haible  <bruno@clisp.org>
7514
7515         * gnulib-tool: Support --with-tests also with --import.
7516         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
7517         (func_import): Use variables $testsbase and $inctests. Emit a
7518         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
7519         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
7520         SUBDIRS += $testsdir.
7521         (func_create_testdir): Update.
7522
7523 2005-09-18  Bruno Haible  <bruno@clisp.org>
7524
7525         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
7526         instead of $dry_run.
7527         (func_cp_if_changed, func_mv_if_changed): Remove functions.
7528         (func_ln_if_changed): Don't handle dry-run here.
7529         (func_import): In dry-run mode, detect more precisely which actions
7530         would be performed, and don't use "...ing" verbs.
7531
7532 2005-09-18  Bruno Haible  <bruno@clisp.org>
7533
7534         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
7535         (func_import): Use join on two temporary files instead of three nested
7536         loops, in order to determine which files are new or old.
7537
7538 2005-09-18  Bruno Haible  <bruno@clisp.org>
7539
7540         * gnulib-tool (func_import): Comment out code that spits out the
7541         new files with --dry-run.
7542
7543 2005-09-18  Bruno Haible  <bruno@clisp.org>
7544
7545         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
7546
7547 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
7548
7549         * lib/stat-time.h: New file.
7550         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
7551         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
7552         in a different way.
7553         (timespec_cmp): New function.
7554         * lib/utimecmp.c: Include stat-time.h.
7555         (SYSCALL_RESOLUTION): Depend on whether various struct stat
7556         members exist, not on the obsolescent ST_MTIM_NSEC.
7557         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
7558
7559 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
7560
7561         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
7562
7563 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
7564
7565         * MODULES.html.sh (File system functions): Add stat-time.
7566         * modules/stat-time: New file.
7567         * modules/timespec (Files): Remove m4/st_mtim.m4; this
7568         is now done in a different way, by the stat-time module.
7569         * modules/utimecmp (Depends-on): Add stat-time.
7570
7571 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
7572
7573         * m4/st_mtim.m4: Remove.  Superseded by...
7574         * m4/stat-time.m4: New file.
7575         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
7576         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
7577
7578 2005-09-15  Derek Price  <derek@ximbiot.com>
7579
7580         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
7581
7582 2005-09-15  Derek Price  <derek@ximbiot.com>
7583
7584         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
7585         * lib/regex_internal.c: Ditto, using this...
7586         (__GNUC_PREREQ): ...new macro.
7587         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
7588         using...
7589         (__GNUC_PREREQ): ...this new macro.
7590
7591         * lib/strstr.h: Include string.h. Define strstr as a macro here.
7592
7593 2005-09-15  Derek Price  <derek@ximbiot.com>
7594             Paul Eggert  <eggert@cs.ucla.edu>
7595
7596         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
7597         changes, consolidating in...
7598         * lib/regex_internal.h: ...this file.
7599
7600 2005-09-13  Jim Meyering  <jim@meyering.net>
7601
7602         * lib/canon-host.c: Filter through gnu indent and reword comments
7603         slightly.
7604         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
7605
7606 2005-09-13  Derek Price  <derek@ximbiot.com>
7607
7608         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
7609         failure.
7610         Reported by Jim Meyering  <jim@meyering.net>.
7611
7612 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
7613
7614         * lib/base64.c: Typo.
7615         (base64_encode): Put b64str in initialized data section.
7616
7617 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
7618
7619         Merge glibc and coreutils changes into gnulib, plus a few
7620         extra fixes.
7621         * lib/md5.c: Use #error rather than a string.
7622         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
7623         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
7624         (__attribute__): Define to empty for non recent-GCC.
7625         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
7626         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
7627         Renamed from their non-__ counterparts, with new macros replacing
7628         them if not _LIBC.  Add __THROW attribute.
7629         (rol): Remove.
7630         (struct md5_ctx): Align buffer if using GCC.
7631         * lib/sha1.h (struct sha1_ctx): Likewise.
7632         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
7633         The old name was backwards.
7634         (NOTSWAP): Remove; not used.
7635         (rol): New macro, moved here from md5.h.
7636         (sha1_process_block): Remove a FIXME that doesn't make sense.
7637
7638 2005-09-12  Derek Price  <derek@ximbiot.com>
7639
7640         Return usable errors from canon-host.
7641         * lib/canon-host.h: New file.
7642         * lib/canon-host.c (canon_host): Wrap...
7643         (canon_host_r): ...this new function, which now relies exclusively on
7644         getaddrinfo.
7645         (ch_strerror): New function.
7646         (last_cherror): New global.
7647         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
7648         interface.
7649         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
7650         void *.
7651         (freeaddrinfo): Free ai->ai_canonname when set.
7652
7653 2005-09-12  Derek Price  <derek@ximbiot.com>
7654
7655         Make canon-host require getaddrinfo.
7656         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
7657         AC_LIBSOURCE canon-host.h.  Call...
7658         (gl_PREREQ_CANON_HOST): ...this new function, which requires
7659         gl_GETADDRINFO.
7660         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
7661
7662 2005-09-12  Derek Price  <derek@ximbiot.com>
7663
7664         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
7665         LGPL.
7666         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
7667
7668 2005-09-12  Derek Price  <derek@ximbiot.com>
7669
7670         * lib/gai_strerror.c: Include config.h when available.  Include
7671         getaddrinfo.h before other headers to test interface.
7672         Reported by Larry Jones <lawrence.jones@ugs.com>.
7673
7674 2005-09-12  Derek Price  <derek@ximbiot.com>
7675             Paul Eggert  <eggert@cs.ucla.edu>
7676
7677         * modules/glob (Files): Add glob-libc.h.
7678
7679 2005-09-12  Derek Price  <derek@ximbiot.com>
7680             Paul Eggert  <eggert@cs.ucla.edu>
7681
7682         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
7683         glob_.h, glob-libc.h.
7684         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
7685
7686 2005-09-12  Derek Price  <derek@ximbiot.com>
7687             Paul Eggert  <eggert@cs.ucla.edu>
7688
7689         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
7690         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
7691         protecting things that should be done only in gnulib contexts.
7692         * lib/glob_.h: New file, containing only the glob things needed for
7693         gnulib.
7694         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
7695         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
7696         (glob, globfree, glob_pattern_p): Now defined simply in terms of
7697         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
7698         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
7699         and to respect the namespace rules better.
7700
7701 2005-09-08  Simon Josefsson  <jas@extundo.com>
7702
7703         * modules/socklen: New file.
7704
7705 2005-09-08  Simon Josefsson  <jas@extundo.com>
7706
7707         * m4/socklen.m4: New file.
7708
7709 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
7710
7711         * modules/utimens (Files): Add m4/utimbuf.m4, since
7712         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
7713         Reported by Sergey Poznyakoff.
7714
7715 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
7716
7717         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
7718         definitions, since that's the preferred style in glibc.
7719         Fix a minor spacing issue, and update copyright notice to match
7720         glibc's.
7721
7722 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
7723
7724         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
7725
7726 2005-09-06  Simon Josefsson  <jas@extundo.com>
7727
7728         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
7729         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
7730
7731 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
7732
7733         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
7734         warning.
7735
7736 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
7737
7738         * config/srclist.txt: Add glibc bug 1302.
7739
7740 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
7741
7742         Change bitset word type from unsigned int to unsigned long int,
7743         as this has better performance on typical 64-bit hosts.
7744         Port bitset code to hosts with unusual word sizes.
7745         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
7746         (build_collating_symbol):
7747         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
7748         argument is a bitset.  This is merely a style issue, but it makes
7749         it clearer that an entire array is expected.
7750         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
7751         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
7752         Port to the case where bitset_word is not the same as unsigned int.
7753         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
7754         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
7755         Likewise.
7756         * lib/regexec.c (check_dst_limits_calc_pos_1,
7757         check_subexp_matching_top):
7758         (build_trtable, group_nodes_into_DFAstates):
7759         Likewise.
7760         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
7761         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
7762         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
7763         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
7764         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
7765         * lib/regcomp.c (optimize_subexps, lower_subexp):
7766         Work even if bitset_word has holes in its bitwise representation.
7767         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
7768         * lib/regexec.c (check_dst_limits_calc_pos_1,
7769         check_subexp_matching_top):
7770         Likewise.
7771         * lib/regex_internal.c (re_string_reconstruct):
7772         Don't assume UCHAR_MAX == 255.
7773         * lib/regex_internal.h (bitset_set_all): Likewise.
7774         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
7775         All uses changed.
7776         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
7777         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
7778         All uses changed.
7779         (BITSET_WORD_MAX): New macro.
7780         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
7781         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
7782         (bitset_empty, bitset_copy):
7783         Prefer sizeof (bitset) to multiplying it out ourselves.
7784         (bitset_not_merge): Remove; unused.
7785         (bitset_contain): Return bool, not unsigned int with one bit on.
7786         All callers changed.
7787         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
7788         alignment than re_node_set; do this by defining a new internal
7789         type struct dests_alloc and using it to allocate memory.
7790
7791 2005-09-05  Bruno Haible  <bruno@clisp.org>
7792
7793         * gnulib-tool (func_import): Fix comparison in handling of symbolic
7794         links.
7795
7796 2005-09-04  Martin Lambers <marlam@marlam.de>  (tiny change)
7797
7798         * modules/size_max (Makefile.am): Add size_max.h
7799
7800 2005-09-04  Derek Price  <derek@ximbiot.com>
7801
7802         * gnulib-tool (func_import): Fix reversed $symbolic logic.
7803
7804 2005-09-03  Simon Josefsson  <jas@extundo.com>
7805
7806         * gnulib-tool: Fix typo.
7807
7808 2005-09-03  Simon Josefsson  <jas@extundo.com>
7809
7810         * config/srclist.txt: Add glibc bug 1293.
7811
7812 2005-09-03  Derek Price  <derek@ximbiot.com>
7813
7814         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
7815         From Larry Jones <lawrence.jones@ugs.com>.
7816
7817 2005-09-02  Simon Josefsson  <jas@extundo.com>
7818
7819         * modules/socklen: New file.
7820
7821 2005-09-02  Simon Josefsson  <jas@extundo.com>
7822
7823         * modules/havelib: New module.
7824
7825         * modules/gettext, modules/iconv, modules/lock, modules/readline:
7826         Use havelib.
7827
7828 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
7829
7830         Check for arithmetic overflow when calculating sizes, to prevent
7831         some buffer-overflow issues.  These patches are conservative, in the
7832         sense that when I couldn't determine whether an overflow was possible,
7833         I inserted a run-time check.
7834         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
7835         macros.
7836         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
7837         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
7838         (re_xnrealloc, re_x2nrealloc): New inline functions.
7839         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
7840         parse_bracket_exp):
7841         (build_equiv_class, build_charclass): Check for arithmetic overflow
7842         in size expression calculations.
7843         * lib/regex_internal.c (re_string_realloc_buffers):
7844         (build_wcs_upper_buffer, re_node_set_add_intersect):
7845         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
7846         (re_dfa_add_node, register_state): Likewise.
7847         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
7848         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
7849         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
7850         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
7851
7852 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
7853
7854         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
7855         m4/ulonglong.m4.  Problem reported by Martin Lambers.
7856
7857 2005-09-02  Bruno Haible  <bruno@clisp.org>
7858
7859         Support for lib vs. lib64 distinction on biarch platforms.
7860         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
7861         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
7862         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
7863
7864 2005-09-02  Bruno Haible  <bruno@clisp.org>
7865
7866         * gnulib-tool (import): In the other first-use case, provide defaults
7867         as well.
7868
7869 2005-09-02  Bruno Haible  <bruno@clisp.org>
7870
7871         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
7872         patches not yet found in the latest gettext release.
7873
7874 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
7875
7876         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
7877         to avoid a collision with bits/local_lim.h in glibc.
7878         All uses changed.  Problem reported by Dmitry V. Levin in
7879         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
7880
7881         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
7882         bugs in int versus size_t comparisons.
7883         (re_string_context_at): Fix bug where the code assumed that
7884         Idx is signed.
7885
7886         Use bool where appropriate.
7887         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
7888         All callers changed.
7889         (calc_eclosure_iter): Likewise, for ROOT arg.
7890         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
7891         (build_charclass_op): Likewise, for NON_MATCH arg.
7892         * lib/regex_internal.c (re_string_allocate, re_string_construct):
7893         (re_string_construct_common): Likewise, for ICASE arg.
7894         * lib/regexec.c (re_search_2_stub, re_search_stub):
7895         Likewise, for RET_LEN arg.
7896         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
7897         (set_regs): Likewise, for FL_BACKTRACK arg.
7898         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
7899         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
7900         (calc_eclosure_iter, parse_bracket_exp):
7901         Use bool for internal variables that are booleans.
7902         * lib/regexec.c (re_search_internal, check_matching,
7903         proceed_next_node):
7904         (set_regs, build_sifted_states, sift_states_bkref):
7905         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
7906         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
7907         (find_collation_sequence_value):
7908         Likewise.
7909         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
7910         (re_node_set_compare):
7911         Return bool, not int. All callers changed.
7912         * lib/regexec.c (check_halt_node_context, check_dst_limits):
7913         (build_trtable, check_node_accept): Likewise.
7914         * lib/regex_internal.h: Include stdbool.h.
7915
7916         Fix bugs uncovered when converting to bool.
7917         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
7918         failure instead of charging ahead blindly.
7919         * lib/regex_internal.c (register_state): Likewise.
7920         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
7921         for freeing internal storage.
7922         (group_nodes_into_DFA_states): Use unsigned int, not int, for
7923         bitset pieces used as boolean, to avoid undefined behavior
7924         on hosts that do int overflow checking.
7925
7926 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
7927
7928         * config/srclist.txt: Add glibc bugs 1285-1287.
7929
7930 2005-09-01  Jim Meyering  <jim@meyering.net>
7931
7932         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
7933         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
7934         Require gl_STAT_MACROS, too.
7935
7936 2005-09-01  Bruno Haible  <bruno@clisp.org>
7937
7938         * gnulib-tool (import): In the first-use case, provide defaults.
7939
7940 2005-09-01  Bruno Haible  <bruno@clisp.org>
7941
7942         * gnulib-tool (func_import): Remove the .tmp files.
7943
7944 2005-09-01  Bruno Haible  <bruno@clisp.org>
7945
7946         * gnulib-tool (func_import): Fix handling of symbolic links.
7947
7948 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
7949
7950         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
7951         old glibc regex code mishandles strings longer than 2**31 bytes.
7952         This patch fixes this when the regex code is used in gnulib
7953         (i.e., outside glibc).
7954
7955         This patch should not affect the use of the regex code inside
7956         glibc.  No doubt this problem also needs to be handled for glibc
7957         as well, but the result will be an incompatible change to the
7958         glibc ABI, and the old ABI will have to be supported too.  That
7959         can be the the subject for another patch.
7960
7961         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
7962         governing whether the rest of this patch is active.  By default,
7963         the macro is disabled and the patch has no effect.
7964         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
7965         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
7966         (struct re_pattern_buffer, re_search, re_search_2, re_match):
7967         (re_match_2, re_set_registers): Use the new types.
7968         * lib/regex_internal.h (Idx, re_hashval_t): New types.
7969         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
7970         New macros.
7971         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
7972         (re_string_context_at, bin_tree_t, re_dfastate_t):
7973         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
7974         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
7975         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
7976         (re_string_char_size_at, re_string_wchar_at):
7977         (re_string_elem_size_at):
7978         Use the new types and macros to port to 64-bit hosts.
7979         Use unsigned types for internal values, so that the code
7980         mostly works even for arrays larger than SSIZE_MAX.
7981         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
7982         (search_duplicated_node, calc_eclosure_iter, fetch_number):
7983         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
7984         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
7985         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
7986         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
7987         (calc_inveclosure, parse_dup_op, build_range_exp):
7988         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
7989         (fetch_number, create_token_tree, mark_opt_subexp):
7990         Likewise.
7991         * lib/regex_internal.c (re_string_construct_common,
7992         create_ci_newstate):
7993         (create_cd_newstate, re_string_allocate, re_string_construct):
7994         (re_string_realloc_buffers, build_wcs_upper_buffer):
7995         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
7996         (re_string_reconstruct, re_string_peek_byte_case):
7997         (re_string_fetch_byte_case, re_string_context_at):
7998         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
7999         (re_node_set_init_copy, re_node_set_add_intersect):
8000         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
8001         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
8002         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
8003         (re_acquire_state, re_acquire_state_context, register_state):
8004         Likewise.
8005         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
8006         search_cur_bkref_entry):
8007         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
8008         (re_search_internal, re_search_2_stub, re_search_stub)
8009         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
8010         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
8011         (update_cur_sifted_state, check_dst_limits):
8012         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
8013         (check_subexp_limits, sift_states_bkref, merge_state_array):
8014         (check_subexp_matching_top, get_subexp, get_subexp_sub):
8015         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
8016         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
8017         (expand_bkref_cache, check_node_accept_bytes):
8018         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
8019         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
8020         (acquire_init_state_context, check_halt_node_context):
8021         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
8022         (sift_states_backward, clean_state_log_if_needed):
8023         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
8024         (find_recover_state, transit_state_sb, transit_state_mb):
8025         (transit_state_bkref, build_trtable, match_ctx_clean):
8026         Likewise.
8027         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
8028         to work around an assumption that REG_MISSING is negative.
8029
8030         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
8031         (seek_collating_symbol_entry) [defined _LIBC]:
8032         (lookup_collation_sequence_value) [defined _LIBC]:
8033         (build_range_exp, build_collating_symbol) [defined _LIBC]:
8034         Use prototypes rather than old-style function definitions.
8035         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
8036         (transit_state_sb) [0]:
8037         (find_collation_sequence_value) [defined _LIBC]: Likewise.
8038
8039         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
8040         rm_eo.
8041
8042         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
8043         (optimize_subexps, lower_subexp):
8044         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
8045         since the signed shift might overflow.  Use 1u<<31 instead.
8046         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
8047         Likewise.
8048         * lib/regexec.c (check_dst_limits_calc_pos_1,
8049         check_subexp_matching_top): Likewise.
8050
8051         * lib/regcomp.c (optimize_subexps, lower_subexp):
8052         Use CHAR_BIT rather than 8, for clarity.
8053         * lib/regexec.c (check_dst_limits_calc_pos_1):
8054         (check_subexp_matching_top): Likewise.
8055         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
8056         have to worry about portability issues when shifting it left.
8057         Remove no-longer-needed test for table_size > 0.
8058         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
8059         in a word, as the resulting behavior is undefined.
8060         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
8061         in one case, a <= should have been an <, and in another case the
8062         whole test was missing.
8063         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
8064         the standard name CHAR_BIT.
8065         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
8066         this is not true on one's complement and signed-magnitude hosts.
8067
8068         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
8069         next_last_offset.
8070         (struct re_dfa_t): Remove unused member states_alloc.
8071         * lib/regcomp.c (init_dfa): Don't initialize unused members.
8072
8073 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
8074
8075         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
8076         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
8077         and large-file glibc and in 32-bit large-file Solaris.
8078
8079 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
8080
8081         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
8082         lengths fit in regoff_t; this isn't true if regoff_t is the same
8083         width as size_t.
8084         * lib/regex.c (re_search_internal): 5th arg is LAST_START
8085         (= START + RANGE) instead of RANGE.  This avoids overflow
8086         problems when regoff_t is the same width as size_t.
8087         All callers changed.
8088         (re_search_2_stub): Check for overflow when adding the
8089         sizes of the two strings.
8090         (re_search_stub): Check for overflow when adding START
8091         to RANGE; if it occurs, substitute the extreme value.
8092
8093 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
8094
8095         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
8096
8097 2005-08-31  Jim Meyering  <jim@meyering.net>
8098
8099         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
8100         a pointer-to-const.
8101         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
8102         (register_state): Likewise.
8103         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
8104         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
8105         (group_nodes_into_DFAstates): Likewise.
8106
8107 2005-08-31  Jim Meyering  <jim@meyering.net>
8108
8109         * check-module: Add a FIXME comment.
8110
8111 2005-08-31  Eric Blake  <ebb9@byu.net>
8112
8113         * modules/unistd-safer (Files): Add unistd--.h.
8114         * modules/stdio-safer (Files): Add stdio--.h.
8115
8116 2005-08-31  Derek Price  <derek@ximbiot.com>
8117
8118         * lib/getdelim.c (getdelim): Return EOF on EOF.
8119         Reported by Larry Jones <lawrence.jones@ugs.com>.
8120
8121 2005-08-31  Bruno Haible  <bruno@clisp.org>
8122
8123         Avoid unnecessary diffs in the generated lib/Makefile.am.
8124         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
8125         the generated files.
8126         (func_import): Don't set cmd.
8127
8128 2005-08-31  Bruno Haible  <bruno@clisp.org>
8129
8130         * lib/strstr.c: Include <stddef.h>, for NULL.
8131         * lib/strcasestr.c: Likewise.
8132         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
8133
8134 2005-08-31  Bruno Haible  <bruno@clisp.org>
8135
8136         * gnulib-tool: New option --macro-prefix.
8137         (func_import): Use macro_prefix.
8138         (import): Handle option --macro-prefix.
8139
8140 2005-08-31  Bruno Haible  <bruno@clisp.org>
8141
8142         * gnulib-tool (import): Rename most ac_* variables to cached_*.
8143         Also use new variables cached_lgpl, cached_libtool.
8144
8145 2005-08-31  Bruno Haible  <bruno@clisp.org>
8146
8147         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
8148         always instantiating them.
8149
8150 2005-08-31  Bruno Haible  <bruno@clisp.org>
8151
8152         * gnulib-tool (func_import): Read the previous cached settings
8153         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
8154         earlier added by gnulib but are now dropped. Warn when a gnulib file
8155         overwrites a non-gnulib file.
8156
8157 2005-08-31  Bruno Haible  <bruno@clisp.org>
8158
8159         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
8160         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
8161         projects that don't keep autogenerated files in CVS. Put into
8162         actioncmd only the specified modules, not the transitive closure.
8163
8164 2005-08-31  Bruno Haible  <bruno@clisp.org>
8165
8166         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
8167         Create directories that shall be filled.
8168         (import): Don't look for gl_* macros in configure.ac. Recurse across
8169         all directories containing a gnulib-cache.m4 files, if meaningful.
8170
8171 2005-08-31  Bruno Haible  <bruno@clisp.org>
8172
8173         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
8174         (import): Set seen_libtool when we see gl_LIBTOOL.
8175
8176 2005-08-31  Bruno Haible  <bruno@clisp.org>
8177
8178         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
8179         declaration macro definitions from generated gnulib.m4.
8180
8181 2005-08-30  "Oskar Liljeblad" <oskar@osk.mine.nu>
8182
8183         * lib/iconvme.h: Add prototype for iconv_alloc.
8184
8185 2005-08-29  Simon Josefsson  <jas@extundo.com>
8186
8187         * lib/iconvme.c: Fix errno.
8188
8189 2005-08-29  Bruno Haible  <bruno@clisp.org>
8190
8191         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
8192         that it works when the directory contains spaces.
8193
8194 2005-08-29  Bruno Haible  <bruno@clisp.org>
8195
8196         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
8197
8198 2005-08-29  Bruno Haible  <bruno@clisp.org>
8199
8200         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
8201         Emit more advice.
8202
8203 2005-08-29  Bruno Haible  <bruno@clisp.org>
8204         and Stepan Kasal  <kasal@ucw.cz>
8205
8206         * check-module: If more parameters are given, check each of them
8207         separately; add more exceptions, as noted by Jim Meyering.
8208         (check_module): New procedure.
8209         (%exempt_header): Now contains all exceptions.
8210
8211 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
8212
8213         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
8214
8215 2005-08-29  "Oskar Liljeblad" <oskar@osk.mine.nu>
8216
8217         * lib/iconvme.c: Split iconv_string into iconv_alloc.
8218
8219 2005-08-28  Bruno Haible  <bruno@clisp.org>
8220
8221         * m4/gnulib-tool.m4: New file.
8222
8223 2005-08-27  Jim Meyering  <jim@meyering.net>
8224
8225         * modules/unistd-safer (Files): Add pipe-safer.c.
8226         * modules/fcntl-safer (Files): Add creat-safer.c.
8227
8228 2005-08-27  Jim Meyering  <jim@meyering.net>
8229
8230         * m4/stdlib-safer.m4: New file.  From coreutils.
8231         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
8232         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
8233         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
8234         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
8235         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
8236
8237 2005-08-27  Jim Meyering  <jim@meyering.net>
8238
8239         * lib/fopen-safer.c: Merge minor changes from coreutils.
8240         * lib/dup-safer.c: Likewise.
8241         * lib/fd-safer.c: Likewise.
8242
8243         Merge from coreutils.
8244         * lib/stdio--.h: New file.
8245         * lib/stdlib--.h: New file.
8246         * lib/mkstemp-safer.c: New file.
8247
8248         GNU tar needs these.
8249         * lib/pipe-safer.c: New file.
8250         * lib/creat-safer.c: New file.
8251         * lib/fcntl--.h (creat): Define to creat_safer.
8252         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
8253         * lib/unistd--.h (pipe): Define to pipe_safer.
8254         * lib/unistd-safer.h: Declare pipe_safer.
8255
8256 2005-08-26  Simon Josefsson  <jas@extundo.com>
8257
8258         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
8259         Haible <bruno@clisp.org>.
8260
8261 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
8262
8263         * lib/regex_internal.h: Remove all references to
8264         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
8265         or better.
8266         (bitset_not, bitset_merge, bitset_not_merge):
8267         (bitset_mask, re_string_allocate, re_string_construct):
8268         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
8269         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
8270         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
8271         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
8272         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
8273         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
8274         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
8275         (re_acquire_state_context):
8276         Remove unnecessary forward decls.
8277         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
8278         Put __attribute at function definition,
8279         now that the function decl has been removed.
8280         * lib/regex_internal.c (re_string_peek_byte_case):
8281         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
8282         Likewise.
8283
8284 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
8285
8286         * m4/regex.m4: Add AC_PREREQ(2.50).
8287         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
8288
8289 2005-08-25  Simon Josefsson  <jas@extundo.com>
8290
8291         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
8292         __fsetlocking.
8293
8294 2005-08-25  Simon Josefsson  <jas@extundo.com>
8295
8296         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
8297         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
8298         GLIBC specific code.
8299
8300 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
8301
8302         Make regex safe for g++.  This fixes one real bug (an "err"
8303         that should have been "*err").  g++ problem reported by
8304         Sam Steingold.
8305         * lib/regex_internal.h (re_calloc): New macro, consistent with
8306         re_malloc etc.  All callers of calloc changed to use re_calloc.
8307         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
8308         not int.  All callers changed.
8309         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
8310         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
8311         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
8312         (find_recover_state): Change "err" to "*err"; this fixes what
8313         appears to be a real bug.
8314         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
8315         versus int.
8316
8317 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
8318
8319         * modules/regex (Depends-on): Add malloc, since the code
8320         assumes that !malloc(0) means failure.
8321
8322 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
8323
8324         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
8325
8326         alloca modernization/simplification for regex.
8327         * lib/regex.c: Remove portability cruft for alloca.  This no longer
8328         needs to be at the start of the file, and can be moved into
8329         regex_internal.h and simplified.
8330         * lib/regex_internal.h: Include <alloca.h>.
8331         (__libc_use_alloca) [!defined _LIBC]: New macro.
8332         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
8333         now works outside glibc.
8334
8335 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
8336
8337         * config/srclist.txt: Add glibc bugs 1241, 1245.
8338
8339 2005-08-25  Jim Meyering  <jim@meyering.net>
8340
8341         * lib/open-safer.c: Include <config.h>.
8342         Otherwise, we'd lose LARGEFILE support in any file using
8343         e.g. "fcntl--.h"
8344
8345 2005-08-25  Bruno Haible  <bruno@clisp.org>
8346
8347         * m4/minmax.m4: Require autoconf 2.52.
8348         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
8349         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
8350         alternatives of translit over the alphabet.
8351         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
8352
8353 2005-08-24  Simon Josefsson  <jas@extundo.com>
8354
8355         * tests/test-getpass.c: New file.
8356
8357 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
8358
8359         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
8360         for GNU regex features.
8361
8362 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
8363
8364         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
8365         * lib/regex.h (regerror): Likewise.
8366
8367         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
8368         requires this.  (The code never needed it.)
8369
8370         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
8371         All uses of recently-renamed identifiers changed to use the new,
8372         POSIX-compliant names.  The code will build and run just fine
8373         without these changes, but it's better to eat our own dog food
8374         and use the standard-conforming names.
8375
8376         * lib/regex.h: Fix a multitude of POSIX name space violations.
8377         These changes have an effect only for programs that define
8378         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
8379         do not change anything for programs compiled in the normal way.
8380         Also, there is no effect on the ABI.
8381
8382         (_REGEX_SOURCE): New macro.
8383         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
8384         defined and _GNU_SOURCE is not; this fixes a name space violation.
8385
8386         Rename the following macros to obey POSIX requirements.
8387         The old names are still visible as macros if _REGEX_SOURCE is defined.
8388         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
8389         RE_BACKSLASH_ESCAPE_IN_LISTS.
8390         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
8391         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
8392         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
8393         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
8394         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
8395         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
8396         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
8397         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
8398         (REG_INTERVALS): renamed from RE_INTERVALS.
8399         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
8400         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
8401         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
8402         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
8403         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
8404         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
8405         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
8406         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
8407         RE_UNMATCHED_RIGHT_PAREN_ORD.
8408         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
8409         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
8410         (REG_DEBUG): renamed from RE_DEBUG.
8411         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
8412         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
8413         unusual, since we can't clash with the POSIX REG_ICASE.
8414         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
8415         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
8416         (REG_NO_SUB): renamed from RE_NO_SUB.
8417         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
8418         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
8419         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
8420         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
8421         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
8422         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
8423         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
8424         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
8425         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
8426         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
8427         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
8428         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
8429         RE_SYNTAX_POSIX_MINIMAL_BASIC.
8430         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
8431         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
8432         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
8433         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
8434         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
8435         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
8436         (REG_FIXED): Renamed from REGS_FIXED.
8437         (REG_NREGS): Renamed from RE_NREGS.
8438
8439         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
8440         of other REG_* macros, since POSIX says the user is allowed to
8441         #undef these macros selectively.
8442
8443         (reg_errcode_t): Update comment stating what other tables need
8444         to be consistent.
8445
8446         Rename the following enum values to obey POSIX requirements.
8447         The old names are still visible as macros.
8448         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
8449         is not defined, since GNU is supposed to be a superset of POSIX as
8450         much as possible, and since we want reg_errcode_t to be a signed
8451         type for implementation consistency.
8452         (_REG_NOERROR): Renamed from REG_NOERROR.
8453         (_REG_NOMATCH): Renamed from REG_NOMATCH.
8454         (_REG_BADPAT): Renamed from REG_BADPAT.
8455         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
8456         (_REG_ECTYPE): Renamed from REG_ECTYPE.
8457         (_REG_EESCAPE): Renamed from REG_EESCAPE.
8458         (_REG_ESUBREG): Renamed from REG_ESUBREG.
8459         (_REG_EBRACK): Renamed from REG_EBRACK.
8460         (_REG_EPAREN): Renamed from REG_EPAREN.
8461         (_REG_EBRACE): Renamed from REG_EBRACE.
8462         (_REG_BADBR): Renamed from REG_BADBR.
8463         (_REG_ERANGE): Renamed from REG_ERANGE.
8464         (_REG_ESPACE): Renamed from REG_ESPACE.
8465         (_REG_BADRPT): Renamed from REG_BADRPT.
8466         (_REG_EEND): Renamed from REG_EEND.
8467         (_REG_ESIZE): Renamed from REG_ESIZE.
8468         (_REG_ERPAREN): Renamed from REG_ERPAREN.
8469         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
8470         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
8471         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
8472         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
8473
8474         (_REG_RE_NAME, _REG_RM_NAME): New macros.
8475         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
8476         changed.  But support the old name if the new one is not defined
8477         and if _REGEX_SOURCE.
8478
8479         Change the following member names in struct re_pattern_buffer.
8480         The old names are still supported if !_REGEX_SOURCE.
8481         The new names are always supported, regardless of _REGEX_SOURCE.
8482         (re_buffer): Renamed from buffer.
8483         (re_allocated): Renamed from allocated.
8484         (re_used): Renamed from used.
8485         (re_syntax): Renamed from syntax.
8486         (re_fastmap): Renamed from fastmap.
8487         (re_translate): Renamed from translate.
8488         (re_can_be_null): Renamed from can_be_null.
8489         (re_regs_allocated): Renamed from regs_allocated.
8490         (re_fastmap_accurate): Renamed from fastmap_accurate.
8491         (re_no_sub): Renamed from no_sub.
8492         (re_not_bol): Renamed from not_bol.
8493         (re_not_eol): Renamed from not_eol.
8494         (re_newline_anchor): Renamed from newline_anchor.
8495
8496         Change the following member names in struct re_registers.
8497         The old names are still supported if !_REGEX_SOURCE.
8498         The new names are always supported, regardless of _REGEX_SOURCE.
8499         (rm_num_regs): Renamed from num_regs.
8500         (rm_start): Renamed from start.
8501         (rm_end): Renamed from end.
8502
8503         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
8504         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
8505         Prepend __ to parameter names.
8506
8507         Undo yesterday's changes.
8508
8509 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
8510
8511         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
8512         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
8513         lib/regex.c.
8514
8515 2005-08-24  Jim Meyering  <jim@meyering.net>
8516
8517         Sync from coreutils.
8518         * m4/fcntl-safer.m4: New file.
8519
8520         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
8521         and object files for this module.
8522
8523 2005-08-24  Jim Meyering  <jim@meyering.net>
8524
8525         Sync from coreutils.
8526         * lib/fcntl--.h, fcntl-safer.h, open-safer.c: New files.
8527
8528 2005-08-24  Jim Meyering  <jim@meyering.net>
8529
8530         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
8531         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
8532
8533 2005-08-24  Jim Meyering  <jim@meyering.net>
8534
8535         * modules/fcntl-safer: New module.
8536         * modules/fts (Depends-on): Add fcntl-safer.
8537         * MODULES.html.sh (File descriptor based Input/Output):
8538         Add fcntl-safer.
8539
8540 2005-08-24  Bruno Haible  <bruno@clisp.org>
8541
8542         Support for unit test modules.
8543         * modules/README: Mention tests modules.
8544         * modules/TEMPLATE-TESTS: New file.
8545         * gnulib-tool: New options --extract-tests-module, --with-tests and
8546         --tests-base (unused for the moment).
8547         (testsbase, inctests): New variables.
8548         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
8549         (func_verify_module): Exclude TEMPLATE-TESTS.
8550         (func_verify_nontests_module, func_verify_tests_module): New functions.
8551         (func_get_dependencies): Add implicit dependency for tests modules.
8552         (func_get_tests_module): New function.
8553         (func_modules_transitive_closure): When --with-tests was specified,
8554         include the unit tests as well, unless explicitly avoided.
8555         (func_emit_lib_Makefile_am): Ignore the tests modules here.
8556         (func_emit_tests_Makefile_am): New function.
8557         (func_create_testdir): When --with-tests was specified, emit a
8558         tests/ directory.
8559         * MODULES.html.sh (Future developments): Update.
8560
8561 2005-08-24  Bruno Haible  <bruno@clisp.org>
8562
8563         * modules/tls-tests: New file.
8564         * tests/test-tls.c: New file, from GNU gettext.
8565
8566 2005-08-24  Bruno Haible  <bruno@clisp.org>
8567
8568         * modules/lock-tests: New file.
8569         * tests/test-lock.c: New file, from GNU gettext.
8570
8571 2005-08-24  Bruno Haible  <bruno@clisp.org>
8572
8573         * lib/lock.h: Add multiple inclusion guard.
8574         * lib/tls.h: Add multiple inclusion guard.
8575
8576 2005-08-24  Bruno Haible  <bruno@clisp.org>
8577
8578         * gnulib-tool: Add support for the --aux-dir option to
8579         --create-testdir, --create-megatestdir, --test, --megatest.
8580         (func_create_testdir, func_create_megatestdir): Optionally emit a
8581         AC_CONFIG_AUX_DIR directive.
8582         (create-testdir, create-megatestdir, test, megatest): Provide a
8583         default value for $auxdir.
8584
8585 2005-08-24  Bruno Haible  <bruno@clisp.org>
8586
8587         * gnulib-tool (import): Use compound statement instead of subshell
8588         where possible.
8589
8590 2005-08-24  Bruno Haible  <bruno@clisp.org>
8591
8592         * gnulib-tool (import): Change --aux-dir default to "build-aux".
8593
8594 2005-08-24  Bruno Haible  <bruno@clisp.org>
8595
8596         * gnulib-tool (func_version): Update.
8597
8598 2005-08-24  Bruno Haible  <bruno@clisp.org>
8599
8600         * gnulib-tool (func_import, func_create_testdir,
8601         func_create_megatestdir): Quote all autoconf macro arguments.
8602
8603 2005-08-24  Bruno Haible  <bruno@clisp.org>
8604
8605         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
8606         option --force, because --force causes the aclocal.m4 of each
8607         subdirectory to be newer than the corresponding config.h.in.
8608
8609 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
8610
8611         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
8612         All contents moved to gl_REGEX.
8613         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
8614         assume that it does.
8615
8616 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
8617
8618         * lib/regex.h (REG_NOSYS)
8619         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
8620         Define, since POSIX requires it as of 2001.
8621         (_REG_ENOSYS)
8622         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
8623         New private symbol, used to keep the enum signed in all cases.
8624         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
8625         Youngman in
8626         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
8627
8628         * lib/regex_internal.c (re_string_skip_chars, register_state):
8629         (calc_state_hash):
8630         Remove forward decls; no longer needed now that we use prototypes.
8631         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
8632         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
8633         (clean_state_log_if_needed): Likewise.
8634
8635 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
8636
8637         * config/srclist.txt: Add glibc bugs 1231-1233.
8638
8639 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
8640
8641         Fix problems reported by Sam Steingold in
8642         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
8643         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
8644         assumed that reg_errcode_t is a signed type, which is not
8645         necessarily true if _XOPEN_SOURCE is not defined.
8646         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
8647         since some compilers warn about it otherwise.
8648
8649 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
8650
8651         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
8652         (init_word_char, create_initial_state, duplicate_node_closure):
8653         (fetch_token, peek_token_bracket, build_range_exp):
8654         (build_collating_symbol): Remove forward decls; no longer needed
8655         now that we use prototypes.
8656
8657         * lib/regcomp.c:
8658         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
8659         (re_compile_fastmap_iter, regcomp, regerror, regfree):
8660         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
8661         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
8662         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
8663         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
8664         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
8665         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
8666         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
8667         (build_range_exp, build_collating_symbol, parse_bracket_exp):
8668         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
8669         (build_charclass, build_charclass_op, fetch_number, create_tree):
8670         (create_token_tree, mark_opt_subexp, duplicate_tree):
8671         Use prototypes rather than old-style definitions.
8672
8673         * lib/regex_internal.c:
8674         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
8675         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
8676         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
8677         (re_string_reconstruct, re_string_peek_byte_case):
8678         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
8679         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
8680         (re_node_set_init_copy, re_node_set_add_intersect):
8681         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
8682         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
8683         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
8684         (re_acquire_state, re_acquire_state_context, register_state):
8685         (create_ci_newstate, create_cd_newstate, free_state):
8686         Likewise.
8687         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
8688         re_search_2):
8689         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
8690         (re_search_internal, prune_impossible_nodes):
8691         (acquire_init_state_context, check_matching, static):
8692         (check_halt_node_context, check_halt_state_context, proceed_next_node):
8693         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
8694         (update_regs, sift_states_backward, build_sifted_states):
8695         (clean_state_log_if_needed, merge_state_array):
8696         (update_cur_sifted_state, add_epsilon_src_nodes):
8697         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
8698         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
8699         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
8700         (find_recover_state, check_subexp_matching_top, transit_state_mb):
8701         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
8702         (check_arrival, check_arrival_add_next_nodes):
8703         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
8704         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
8705         (check_node_accept_bytes, check_node_accept, extend_buffers):
8706         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
8707         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
8708         (sift_ctx_init):
8709         Likewise.
8710
8711         * lib/regex_internal.h:
8712         (re_string_allocate, re_string_construct, re_string_reconstruct):
8713         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
8714         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
8715         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
8716         (re_string_context_at, re_string_peek_byte_case):
8717         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
8718         is defined, since we now use prototypes always.
8719
8720         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
8721         C89 or better.  All uses removed.
8722
8723 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
8724
8725         * config/srclist.txt: Add glibc bugs 1220-1227.
8726
8727 2005-08-20  Jim Meyering  <jim@meyering.net>
8728
8729         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
8730         of unused local, dfa.
8731
8732 2005-08-20  Bruno Haible  <bruno@clisp.org>
8733
8734         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
8735
8736 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
8737
8738         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
8739         (re_node_set_insert_last, re_dfa_add_node):
8740         Rename local variables to avoid GCC shadowing warnings.
8741
8742 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
8743
8744         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
8745         [defined lint]: Suppress bogus uninitialized-variable warnings.
8746
8747         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
8748         and let the caller return REG_ESPACE if out of space.  This
8749         removes an uninitialied-variable warning with GCC 4.0.1, and also
8750         avoids taking the address of a local variable.  All callers
8751         changed.
8752
8753 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
8754
8755         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
8756         $LIBCSRC/posix/regexec.c.
8757         Add glibc bug 1217 for regcomp.c.
8758
8759 2005-08-19  Jim Meyering  <jim@meyering.net>
8760
8761         * lib/regexec.c (proceed_next_node): Redo local variables to
8762         avoid GCC shadowing warnings.
8763
8764 2005-08-18  Bruno Haible  <bruno@clisp.org>
8765
8766         * lib/strstr.c (strstr): Fix return value in multibyte case.
8767         * lib/strcasestr.c (strcasestr): Likewise.
8768
8769 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
8770
8771         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
8772
8773 2005-08-17  Jim Meyering  <jim@meyering.net>
8774
8775         Make the %s format (seconds since the epoch) work for a negative
8776         number and when used with a zero-padded field width, e.g. %015s.
8777
8778         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
8779         label so that it precedes the code to set `digits'.  Otherwise,
8780         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
8781         print `00-22'.  Now, it prints `-0022', as it should.
8782
8783 2005-08-17  Bruno Haible  <bruno@clisp.org>
8784
8785         * modules/strstr (Files): Add m4/mbrtowc.m4.
8786         (Depends-on): Add mbuiter.
8787
8788 2005-08-17  Bruno Haible  <bruno@clisp.org>
8789
8790         * modules/strcasestr: New file.
8791         * MODULES.html.sh (String handling, based on ANSI C 89): Add
8792         strcasestr.
8793
8794 2005-08-17  Bruno Haible  <bruno@clisp.org>
8795
8796         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
8797
8798 2005-08-17  Bruno Haible  <bruno@clisp.org>
8799
8800         * modules/mbuiter: New file.
8801         * MODULES.html.sh (Extended multibyte and wide character utilities):
8802         Add mbuiter.
8803
8804 2005-08-17  Bruno Haible  <bruno@clisp.org>
8805
8806         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
8807         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
8808
8809 2005-08-17  Bruno Haible  <bruno@clisp.org>
8810
8811         * m4/strcasestr.m4: New file.
8812
8813 2005-08-17  Bruno Haible  <bruno@clisp.org>
8814
8815         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
8816         * lib/strstr.c: Completely rewritten, with multibyte locale support.
8817
8818 2005-08-17  Bruno Haible  <bruno@clisp.org>
8819
8820         * lib/strcasestr.h: New file.
8821         * lib/strcasestr.c: New file.
8822
8823 2005-08-17  Bruno Haible  <bruno@clisp.org>
8824
8825         * lib/strcasecmp.c: Use mbuiter.h.
8826
8827 2005-08-17  Bruno Haible  <bruno@clisp.org>
8828
8829         * lib/mbuiter.h: New file.
8830
8831 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
8832
8833         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
8834         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
8835         and gl_GETOPT are both invoked via different paths (as happens
8836         with GNU tar CVS because it uses both argp and getopt), the former
8837         wins.
8838
8839 2005-08-16  Bruno Haible  <bruno@clisp.org>
8840
8841         * modules/tls: New file.
8842         * MODULES.html.sh (Multithreading): Add tls.
8843
8844 2005-08-16  Bruno Haible  <bruno@clisp.org>
8845
8846         * modules/strnlen1: New file.
8847         * MODULES.html.sh (String handling): Add strnlen1.
8848
8849 2005-08-16  Bruno Haible  <bruno@clisp.org>
8850
8851         * modules/strcase (Files): Add m4/mbrtowc.m4.
8852         (Depends-on): Add strnlen1, mbchar.
8853
8854 2005-08-16  Bruno Haible  <bruno@clisp.org>
8855
8856         * modules/mbiter: New file.
8857         * MODULES.html.sh (Extended multibyte and wide character utilities):
8858         Add mbiter.
8859
8860 2005-08-16  Bruno Haible  <bruno@clisp.org>
8861
8862         * modules/mbfile: New file.
8863         * MODULES.html.sh (Extended multibyte and wide character utilities):
8864         Add mbfile.
8865
8866 2005-08-16  Bruno Haible  <bruno@clisp.org>
8867
8868         * modules/mbchar: New file.
8869         * MODULES.html.sh (Extended multibyte and wide character utilities):
8870         New section.
8871
8872 2005-08-16  Bruno Haible  <bruno@clisp.org>
8873
8874         * m4/tls.m4: New file, from GNU gettext.
8875
8876 2005-08-16  Bruno Haible  <bruno@clisp.org>
8877
8878         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
8879         always.
8880         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
8881
8882 2005-08-16  Bruno Haible  <bruno@clisp.org>
8883
8884         * m4/mbiter.m4: New file.
8885
8886 2005-08-16  Bruno Haible  <bruno@clisp.org>
8887
8888         * m4/mbfile.m4: New file.
8889
8890 2005-08-16  Bruno Haible  <bruno@clisp.org>
8891
8892         * m4/mbchar.m4: New file.
8893
8894 2005-08-16  Bruno Haible  <bruno@clisp.org>
8895
8896         * lib/tls.h: New file, from GNU gettext.
8897         * lib/tls.c: New file, from GNU gettext.
8898
8899 2005-08-16  Bruno Haible  <bruno@clisp.org>
8900
8901         * lib/strnlen1.h: New file.
8902         * lib/strnlen1.c: New file.
8903
8904 2005-08-16  Bruno Haible  <bruno@clisp.org>
8905
8906         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
8907         (mbi_init): Update.
8908         (mbi_avail, mbi_advance): Let the iteration end before the terminating
8909         NUL byte, not after it.
8910
8911 2005-08-16  Bruno Haible  <bruno@clisp.org>
8912
8913         * lib/strcase.h (strcasecmp): Add note in comments.
8914         * lib/strncasecmp.c: Use code from strcasecmp.c.
8915         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
8916         (strcasecmp): Work correctly in multibyte locales.
8917
8918 2005-08-16  Bruno Haible  <bruno@clisp.org>
8919
8920         * lib/mbiter.h: New file.
8921
8922 2005-08-16  Bruno Haible  <bruno@clisp.org>
8923
8924         * lib/mbfile.h: New file.
8925
8926 2005-08-16  Bruno Haible  <bruno@clisp.org>
8927
8928         * lib/mbchar.h: New file.
8929         * lib/mbchar.c: New file.
8930
8931 2005-08-16  Bruno Haible  <bruno@clisp.org>
8932
8933         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
8934         the valid ones. Makes the comparison operations transitive:
8935         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
8936         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
8937
8938 2005-08-15  Simon Josefsson  <jas@extundo.com>
8939
8940         * modules/ssize_t (License): Change to 'unlimited'.
8941
8942         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
8943
8944 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
8945
8946         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
8947         Add comments for each pending glibc patch.
8948
8949 2005-08-15  Bruno Haible  <bruno@clisp.org>
8950
8951         * lib/regex.h (__restrict_arr): Don't define to __restrict if
8952         __cplusplus is defined.
8953
8954 2005-08-14  Jim Meyering  <jim@meyering.net>
8955
8956         Sync from coreutils.
8957
8958         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
8959         Use the hash-table-based cycle-detection code not just when
8960         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
8961         Reported by James Youngman in
8962         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
8963         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
8964         FTS_TIGHT_CYCLE_CHECK.
8965         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
8966         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
8967         once again.
8968         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
8969         * lib/fts.c (fd_safer): Remove decl.
8970         Include fcntl--.h rather than unistd-safer.h
8971         (fts_safe_changedir): Don't call fd_safer; no longer needed
8972         now that we include fcntl--.h.
8973
8974 2005-08-12  Simon Josefsson  <jas@extundo.com>
8975
8976         * modules/getndelim2: Use ssize_t module.
8977         * modules/getnline: Likewise.
8978         * modules/safe-read: Likewise.
8979         * modules/xreadlink: Likewise.
8980
8981         * modules/ssize_t: New file.
8982
8983 2005-08-12  Simon Josefsson  <jas@extundo.com>
8984
8985         * m4/readline.m4: Look for termcap, curses or ncurses if required.
8986
8987 2005-08-12  Simon Josefsson  <jas@extundo.com>
8988
8989         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
8990         ssize_t.
8991
8992 2005-08-12  Simon Josefsson  <jas@extundo.com>
8993
8994         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
8995         readline, getdelim and check_version.
8996         (Support for systems lacking ISO C 99: Sizes of integer types):
8997         Add size_max.
8998
8999 2005-08-12  Bruno Haible  <bruno@clisp.org>
9000
9001         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
9002
9003 2005-08-11  Simon Josefsson  <jas@extundo.com>
9004
9005         * modules/readline: New file.
9006
9007         * modules/strnlen (Files): Add strnlen.h.
9008
9009 2005-08-11  Simon Josefsson  <jas@extundo.com>
9010
9011         * m4/readline.m4: New file.
9012
9013 2005-08-11  Simon Josefsson  <jas@extundo.com>
9014
9015         * lib/readline.h, readline.c: New file.
9016
9017 2005-08-11  Simon Josefsson  <jas@extundo.com>
9018
9019         * doc/gnulib.texi (Initial import, Finishing touches): Mention
9020         gl_AVOID.
9021
9022 2005-08-11  Bruno Haible  <bruno@clisp.org>
9023
9024         * lib/strnlen.h (strnlen): Change parameter name to match comment.
9025
9026 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
9027
9028         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
9029
9030 2005-08-10  Simon Josefsson  <jas@extundo.com>
9031
9032         * tests/test-iconvme.c: New file.
9033
9034 2005-08-10  Simon Josefsson  <jas@extundo.com>
9035
9036         * m4/strnlen.m4: New file.
9037
9038         * m4/strndup.m4: Don't check for strnlen declaration, done in
9039         strnlen.m4.
9040
9041 2005-08-10  Simon Josefsson  <jas@extundo.com>
9042
9043         * lib/strndup.c: Use strnlen.h.
9044
9045         * lib/strnlen.h: New file.
9046
9047 2005-08-08  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>  (tiny change)
9048
9049         * README: Typos.
9050
9051 2005-08-02  Simon Josefsson  <jas@extundo.com>
9052
9053         * modules/readline: New file.
9054
9055 2005-08-02  Simon Josefsson  <jas@extundo.com>
9056
9057         * modules/getdelim: New file.
9058
9059         * modules/getline: Rewrite, don't use getndelim2.
9060
9061 2005-08-02  Simon Josefsson  <jas@extundo.com>
9062
9063         * m4/getline.m4: Separate out getdelim stuff into separate module.
9064
9065         * m4/getdelim.m4: New file.
9066
9067 2005-08-02  Simon Josefsson  <jas@extundo.com>
9068
9069         * lib/getline.h, getline.c: Rewrite.
9070
9071         * lib/getdelim.h, getdelim.c: New files, ported from glibc.
9072
9073 2005-07-31  Bruno Haible  <bruno@clisp.org>
9074
9075         * lib/lock.h (gl_lock_initializer): New macro.
9076         (gl_lock_define_initialized): Use it.
9077         (gl_rwlock_initializer): New macro.
9078         (gl_rwlock_define_initialized): Use it.
9079         (gl_recursive_lock_initializer): New macro.
9080         (gl_recursive_lock_define_initialized): Use it.
9081
9082 2005-07-30  Karl Berry  <karl@gnu.org>
9083
9084         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
9085         Report from Ben Pfaff, regarding getopt.
9086
9087 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
9088
9089         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
9090         normal way.
9091         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
9092         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
9093         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
9094         (gl_GETOPT): Use the new macros.  Most of the implementation
9095         is moved to the new macros.  This is for programs like Emacs
9096         that don't want all the functionality of gl_GETOPT.
9097
9098 2005-07-26  Bruno Haible  <bruno@clisp.org>
9099
9100         * m4/lock.m4: Update from GNU gettext.
9101
9102 2005-07-26  Bruno Haible  <bruno@clisp.org>
9103
9104         * lib/lock.h: Update from GNU gettext.
9105         * lib/lock.c: Update from GNU gettext.
9106
9107 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
9108
9109         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
9110         obsolescent AC_TRY_RUN.  Include the default includes files, for
9111         'exit'.
9112
9113 2005-07-24  Bruno Haible  <bruno@clisp.org>
9114
9115         * modules/visibility: New file.
9116         * MODULES.html.sh (Misc): Add visibility.
9117
9118 2005-07-24  Bruno Haible  <bruno@clisp.org>
9119
9120         * m4/visibility.m4: New file.
9121
9122 2005-07-24  Bruno Haible  <bruno@clisp.org>
9123
9124         * doc/visibility.texi: New file.
9125
9126 2005-07-22  Bruno Haible  <bruno@clisp.org>
9127
9128         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
9129         $(ALLOCA_H), redundant through BUILT_SOURCES.
9130         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
9131         redundant through BUILT_SOURCES.
9132         * modules/byteswap (Makefile.am): Remove explicit dependency on
9133         $(BYTESWAP_H), redundant through BUILT_SOURCES.
9134         * modules/fnmatch (Makefile.am): Remove explicit dependency on
9135         $(FNMATCH_H), redundant through BUILT_SOURCES.
9136         * modules/getopt (Makefile.am): Remove explicit dependency on
9137         $(GETOPT_H), redundant through BUILT_SOURCES.
9138         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
9139         redundant through BUILT_SOURCES.
9140         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
9141         redundant through BUILT_SOURCES.
9142         * modules/stdbool (Makefile.am): Remove explicit dependency on
9143         $(STDBOOL_H), redundant through BUILT_SOURCES.
9144         * modules/stdint (Makefile.am): Remove explicit dependency on
9145         $(STDINT_H), redundant through BUILT_SOURCES.
9146         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
9147         Remove explicit dependency on $(SYSEXITS_H).
9148         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
9149
9150 2005-07-18  Simon Josefsson  <jas@extundo.com>
9151
9152         * lib/check-version.c (check_version): Accept identical versions too.
9153
9154 2005-07-18  Bruno Haible  <bruno@clisp.org>
9155
9156         * modules/lock: New file.
9157         * MODULES.html.sh (Multithreading): New section.
9158
9159 2005-07-18  Bruno Haible  <bruno@clisp.org>
9160
9161         * m4/lock.m4: New file, from GNU gettext.
9162
9163 2005-07-18  Bruno Haible  <bruno@clisp.org>
9164
9165         * lib/lock.h: New file, from GNU gettext.
9166         * lib/lock.c: New file, from GNU gettext.
9167
9168 2005-07-18  Bruno Haible  <bruno@clisp.org>
9169
9170         * lib/lock.h (gl_once_t): New type.
9171         (gl_once_define, gl_once): New macros.
9172         * lib/lock.c (fresh_once): New variable.
9173         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
9174         functions.
9175
9176 2005-07-16  Simon Josefsson  <jas@extundo.com>
9177
9178         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
9179         workaround, suggested by Bruno.
9180
9181 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
9182
9183         * modules/xalloc (Depends-on): Add xalloc-die.
9184         * modules/xvasprintf (Depends-on): Add xalloc-die.
9185
9186 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
9187
9188         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
9189         with a minor change.
9190
9191 2005-07-15  Bruno Haible  <bruno@clisp.org>
9192
9193         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
9194         When using lib/poll.c, define poll as rpl_poll.
9195
9196 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
9197
9198         * modules/argp (Depends-on): Remove unlocked-io.
9199
9200 2005-07-14  Derek Price  <derek@ximbiot.com>
9201
9202         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
9203         for glob symlink bug.
9204
9205 2005-07-14  Bruno Haible  <bruno@clisp.org>
9206
9207         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
9208         Instead, test for *_unlocked function declarations directly.
9209
9210 2005-07-11  Simon Josefsson  <jas@extundo.com>
9211
9212         * modules/size_max: New file.
9213
9214         * modules/xsize: Depend on size_max module for size_max.m4.
9215
9216 2005-07-11  Simon Josefsson  <jas@extundo.com>
9217
9218         * lib/size_max.h: New file.
9219
9220 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
9221
9222         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
9223         copyright symbol and the year.
9224         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
9225         (version_etc_va): Use parameterized copyright notice.
9226         Reword to conform to the current GNU coding standards.
9227
9228 2005-07-11  Karl Berry  <karl@gnu.org>
9229
9230         * doc/gnulib.texi (Quoting): new node.
9231         (Initial import): more info, from Patrice.
9232
9233 2005-07-11  Bruno Haible  <bruno@clisp.org>
9234
9235         * gnulib-tool (func_usage): Document option --avoid.
9236         (Command line options): Handle --avoid.
9237         (func_acceptable): New function.
9238         (func_modules_transitive_closure): Use it.
9239
9240 2005-07-11  Bruno Haible  <bruno@clisp.org>
9241
9242         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
9243         Reported by Jim Meyering.
9244
9245 2005-07-10  Bruno Haible  <bruno@clisp.org>
9246
9247         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
9248         Needed when size_t is smaller than 'unsigned int'.
9249         Reported by Paul Eggert.
9250
9251 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
9252
9253         * modules/argp (Depends-on): Add unlocked-io
9254
9255 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
9256
9257         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
9258         block of defines.
9259
9260 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
9261
9262         * config/srclist.txt: Comment out regcomp.c, since we have a porting
9263         fix now.
9264
9265 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
9266        and  Paul Eggert  <eggert@cs.ucla.edu>
9267
9268         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
9269         in wint_t, not wchar_t.  Remove now-unnecessary cast.
9270
9271 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
9272
9273         * modules/regex (Files): Add lib/regex_internal.c,
9274         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
9275         (Depends-on): Add extensions.
9276         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
9277
9278 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
9279
9280         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
9281         pathconf.
9282         * m4/same.m4 (gl_SAME): Likewise.
9283         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
9284
9285         * m4/regex.m4: Adjust to new libc regex implementation.
9286         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
9287         all the .c and .h parts of (the new) regex.
9288         Quote the m4 stuff better.
9289         Check for RE_ICASE bug of old gnulib.
9290         Check for REG_STARTEND of recent libc.
9291         Rename local variables from jm_* to gl_*.
9292         Quote operand of "test -f".
9293         Say "recent enough" version of libc, not "version 2".
9294         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
9295         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
9296         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
9297         Remove check for btowc, isascii.
9298         Require AM_LANGINFO_CODESET.
9299
9300 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
9301
9302         * lib/regex.c, regex.h: Sync from libc.
9303         * lib/regcomp.c, regexec_internal.c, regex_internal.h, regexec.c:
9304         New files, synced from libc, except that regex_internal.h
9305         currently has a small porting fix.
9306
9307 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
9308
9309         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
9310         regex_internal.c, regexec.c.
9311         Add regex_internal.h too, but as a comment, since the libc version
9312         is currently broken in gnulib mode.
9313
9314 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
9315
9316         Support programs like Emacs that use gnulib but not gettext.
9317         * MODULES.html.sh (Internationalization functions): Add gettext-h.
9318         * modules/gettext-h: New file.
9319         * modules/gettext (Files): Remove lib/gettext.h.
9320         (Depends-on): Add gettext-h.
9321         (Makefile.am): Remove lib_SOURCES.
9322         * modules/argmatch, modules/c-stack, modules/closeout:
9323         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
9324         * modules/execute, modules/file-type, modules/getaddrinfo:
9325         * modules/getopt, modules/human, modules/javacomp:
9326         * modules/javaexec, modules/mkdir-p, modules/obstack:
9327         * modules/openat, modules/pagealign_alloc, modules/pipe:
9328         * modules/quotearg, modules/regex, modules/rpmatch:
9329         * modules/unicodeio, modules/userspec, modules/version-etc:
9330         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
9331         * modules/xsetenv:
9332         Depend on gettext-h, not gettext.
9333
9334 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
9335
9336         * gnulib-tool (func_import): Add support for 'public domain' license.
9337         * modules/alloca, modules/atexit, modules/memmove:
9338         Now public domain, not GPL.
9339         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
9340         * modules/realloc, modules/strerror, modules/strtod:
9341         Now LGPL, not GPL.
9342
9343 2005-07-05  Bruno Haible  <bruno@clisp.org>
9344
9345         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
9346         autoconf CVS. Needed for mingw.
9347
9348 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
9349
9350         Remove the dependency of the strftime module on the tzset module.
9351         * modules/strftime (Depends-on): Remove dependency on tzset.
9352
9353 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
9354
9355         Remove the dependency of the strftime module on the tzset module.
9356         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
9357         gl_FUNC_TZSET_CLOBBER.
9358
9359 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
9360
9361         Remove the dependency of the strftime module on the tzset module.
9362         * lib/strftime.c (my_strftime)
9363         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
9364         Copy the input structure, to work around some of the bug with
9365         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
9366         Solaris releases, you should also use the tzset module, but we won't
9367         require it as a dependency any more since we don't want LGPLed code
9368         to depend on GPLed code.
9369
9370 2005-07-02  Jim Meyering  <jim@meyering.net>
9371
9372         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
9373         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
9374         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
9375         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
9376
9377 2005-07-02  Jim Meyering  <jim@meyering.net>
9378
9379         * lib/backupfile.c (backup_args): Change a `0' to NULL.
9380
9381 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
9382
9383         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
9384         declares only 'struct timespec;' (!).
9385
9386 2005-07-01  Jim Meyering  <jim@meyering.net>
9387
9388         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
9389         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
9390         * lib/save-cwd.c, tempname.c:
9391         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
9392         and don't include <sys/file.h>).
9393
9394 2005-06-29  Jim Meyering  <jim@meyering.net>
9395
9396         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
9397         type name.  Use the variable name instead.
9398         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
9399         Likewise.
9400
9401 2005-06-28  Simon Josefsson  <jas@extundo.com>
9402
9403         * modules/check-version (Files): Add check-version.m4.
9404
9405 2005-06-28  Simon Josefsson  <jas@extundo.com>
9406
9407         * m4/check-version.m4: New file, suggested by Jim Meyering
9408         <jim@meyering.net>.
9409
9410 2005-06-28  Simon Josefsson  <jas@extundo.com>
9411
9412         * lib/check-version.h, check-version.c: New files.
9413
9414 2005-06-28  Simon Josefsson  <jas@extundo.com>
9415
9416         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
9417         collision with global variable.  Better indentation.  Don't
9418         increment buffer pointer beyond buffer end.  Based on comments
9419         from Paul Eggert <eggert@cs.ucla.edu>.
9420
9421         * lib/base64.h: Indent.
9422
9423 2005-06-28  Simon Josefsson  <jas@extundo.com>
9424
9425         * doc/gnulib.texi (Library version handling): New section.
9426
9427 2005-06-28  Jim Meyering  <jim@meyering.net>
9428
9429         * check-module (find_included_lib_files): Hard-code another
9430         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
9431         but modules/fts-lgpl (correctly) does not list those files.
9432
9433         * modules/canonicalize (Files): Add lib/pathmax.h.
9434
9435 2005-06-25  Simon Josefsson  <jas@extundo.com>
9436
9437         * modules/check-version: New file.
9438
9439 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
9440
9441         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
9442         initializer of struct addrinfo, as an indication that we don't
9443         care how many members the structure has.
9444
9445 2005-06-24  Derek Price  <derek@ximbiot.com>
9446         and Bruno Haible  <bruno@clisp.org>
9447
9448         Remove stat module & update lstat.
9449         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
9450         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
9451         * m4/stat.m4: Remove this file.
9452
9453 2005-06-24  Derek Price  <derek@ximbiot.com>
9454         and Bruno Haible  <bruno@clisp.org>
9455
9456         Remove stat module & update lstat.
9457         * lib/stat.c: Remove this file...
9458         (slash_aware_lstat): ...moving this content and its support...
9459         * lib/lstat.c (rpl_lstat): ...into here.
9460         * lib/lstat.h: New file.
9461
9462 2005-06-24  Derek Price  <derek@ximbiot.com>
9463         and Bruno Haible  <bruno@clisp.org>
9464
9465         Remove stat module & update lstat.
9466         * config/srclist.txt (libc sources): Remove stat.
9467
9468 2005-06-24  Derek Price  <derek@ximbiot.com>
9469         and Bruno Haible  <bruno@clisp.org>
9470
9471         Remove stat module & update lstat.
9472         * MODULES.html.sh (stat): Remove.
9473         * MODULES.html: Regenerated.
9474         * modules/lstat (Description): Correct function name.
9475         (Files): Add "lstat.h".
9476         (Depends-on): Remove stat, add xalloc, stat-macros.
9477         * modules/stat: Remove this file.
9478         (Include): Add "lstat.h", remove <sys/stat.h>.
9479
9480 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
9481
9482         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
9483         (ranged_convert): Don't save conversion in a temporary struct.
9484         This causes a warning with GCC 4.0.0, and anyway in the typical
9485         case it's not worth the extra 100 bytes or so of code.
9486         (ranged_convert, __mktime_internal): When calling a function via a
9487         pointer P, use P () rather than (*P) (), as we now assume C89 or
9488         better.
9489
9490 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
9491
9492         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
9493         "who -r" failed to give output.  Problem reported by Tim Waugh.
9494
9495         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
9496         (xcalloc): Use it to avoid needless tests.
9497         Problem reported by Jim Meyering.
9498
9499 2005-06-20  Derek Price  <derek@ximbiot.com>
9500
9501         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
9502         unnecessary for Autoconfs > 2.59c.
9503
9504 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
9505
9506         * lib/argp.h (__option_is_short): Check upper limit of
9507         __key. Isprint() requires its argument to have the value
9508         of an unsigned char or EOF.
9509
9510 2005-06-16  Jim Meyering  <jim@meyering.net>
9511
9512         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
9513         when either N or S is zero.
9514
9515 2005-06-16  Derek Price  <derek@ximbiot.com>
9516
9517         * m4/bison.m4: Declare YACC & YFLAGS precious.
9518
9519 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
9520
9521         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
9522         multibyte string or pattern, fall back on unibyte matching.
9523         Problem reported by James Youngman.
9524
9525 2005-06-08  Bruno Haible  <bruno@clisp.org>
9526
9527         * modules/csharpcomp: New file.
9528         * MODULES.html.sh (C#): Add csharpcomp.
9529
9530 2005-06-08  Bruno Haible  <bruno@clisp.org>
9531
9532         * m4/csharpcomp.m4: New file, from GNU gettext.
9533
9534 2005-06-08  Bruno Haible  <bruno@clisp.org>
9535
9536         * lib/csharpcomp.h: New file, from GNU gettext.
9537         * lib/csharpcomp.c: New file, from GNU gettext.
9538         * lib/csharpcomp.sh.in: New file, from GNU gettext.
9539
9540 2005-06-08  Bruno Haible  <bruno@clisp.org>
9541
9542         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
9543         warning on mingw.
9544
9545 2005-06-07  Derek Price  <derek@ximbiot.com>
9546
9547         Sync from CVS.
9548         * lib/glob_.h: Indent nested #ifdef.
9549
9550 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
9551
9552         Sync from coreutils.
9553         Use "file name" when talking about file names, instead of "filename"
9554         or "path", as per the GNU coding standards.
9555         * lib/mkdir-p.c: Renamed from makepath.c.
9556         (make_dir_parents): Renamed from make_path.  All callers changed.
9557         * lib/mkdir-p.h: Likewise.  All includers changed.
9558         * lib/filenamecat.c: Renamed from path-concat.c.
9559         (file_name_concat): Renamed from path_concat.  All callers changed.
9560         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
9561         * lib/filenamecat.h: Likewise.  All includers changed.
9562         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
9563         in comments or local variable names.
9564         * lib/basename.c: Likewise.
9565         * lib/canonicalize.c, canonicalize.h: Likewise.
9566         * lib/dirname.c, dirname.h: Likewise.
9567         * lib/euidaccess.c: Likewise.
9568         * lib/exclude.c: Likewise
9569         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
9570         * lib/fsusage.c, fsuage.h: Likewise.
9571         * lib/fts.c, fts_.h: Likewise.
9572         * lib/getcwd.c: Likewise.
9573         * lib/getloadavg.c: Likewise.
9574         * lib/mkstemp.c: Likewise.
9575         * lib/mountlist.c, mountlist.h: Likewise.
9576         * lib/openat.c, openat.h: Likewise.
9577         * lib/readlink-stub.c: Likewise.
9578         * lib/readutmp.c, readutmp.h: Likewise.
9579         * lib/rename.c: Likewise.
9580         * lib/rmdir.c: Likewise.
9581         * lib/same.c: Likewise.
9582         * lib/savedir.c: Likewise.
9583         * lib/stripslash.c: Likewise.
9584         * lib/tempname.c: Likewise.
9585         * lib/xreadlink.c: Likewise.
9586         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
9587         All uses changed.
9588         * lib/exclude.h: Likewise.
9589
9590         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
9591         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
9592         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
9593         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
9594         * lib/pathmax.h: Include <limits.h> unconditionally, since other
9595         files have been getting away with it for years (MORE/BSD 4.3
9596         is extinct now).
9597         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
9598         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
9599
9600         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
9601         Define to 256, not 255, as per modern POSIX.
9602
9603 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
9604
9605         Sync from coreutils.
9606         Use "file name" when talking about file names, instead of "filename"
9607         or "path", as per the GNU coding standards.
9608         * MODULES.html.sh: mkdir-p renamed from makepath.
9609         filenamecat renamed from path-concat.
9610         * modules/filenamecat: Renamed from modules/path-concat.
9611         (Files): filenamecat.h and filenamecat.c renamed from
9612         path-concat.h and path-concat.c.
9613         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
9614         (Include): filenamecat.h, not path-concat.h.
9615         * modules/mkdir-p: Renamed from modules/makepath.
9616         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
9617         makepath.c.
9618         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
9619         (Include): mkdir-p.h, not makepath.h.
9620
9621 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
9622
9623         Sync from coreutils.
9624         * m4/mkdir-p.m4: Renamed from makepath.m4.
9625         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
9626         Rename files from makepath.c to mkdir-p.c, and from
9627         makepath.h to mkdir-p.h.
9628         * m4/filenamecat.m4: Renamed from path-concat.m4.
9629         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
9630         Rename files from path-concat.c to filenamecat.c,
9631         and from path-concat.h to filenamecat.h.
9632         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
9633         "file name" in local variables or comments.
9634         * m4/rename.m4: Likewise.
9635
9636 2005-06-01  Bruno Haible  <bruno@clisp.org>
9637
9638         * modules/csharpexec: New file.
9639         * MODULES.html.sh (C#): New section.
9640
9641 2005-06-01  Bruno Haible  <bruno@clisp.org>
9642
9643         * m4/csharp.m4: New file, from GNU gettext.
9644         * m4/csharpexec.m4: New file, from GNU gettext.
9645
9646 2005-06-01  Bruno Haible  <bruno@clisp.org>
9647
9648         * lib/csharpexec.h: New file, from GNU gettext.
9649         * lib/csharpexec.c: New file, from GNU gettext.
9650         * lib/csharpexec.sh.in: New file, from GNU gettext.
9651
9652 2005-05-31  Derek Price  <derek@ximbiot.com>
9653             Paul Eggert  <eggert@cs.ucla.edu>
9654
9655         Sync from cvs.
9656         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
9657
9658 2005-05-31  Derek Price  <derek@ximbiot.com>
9659             Paul Eggert  <eggert@cs.ucla.edu>
9660
9661         Sync from cvs.
9662         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
9663
9664 2005-05-29  Derek Price  <derek@ximbiot.com>
9665
9666         * config/srclist.txt (glob_.h, glob.c): Add these files.
9667
9668 2005-05-29  Derek Price  <derek@ximbiot.com>
9669
9670         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
9671         * modules/glob: New file.
9672         * modules/getlogin_r: Add link to POSIX spec in description.
9673
9674 2005-05-29  Derek Price  <derek@ximbiot.com>
9675             Paul Eggert  <eggert@cs.ucla.edu>
9676
9677         * m4/glob.m4: New file.
9678
9679 2005-05-29  Derek Price  <derek@ximbiot.com>
9680             Paul Eggert  <eggert@cs.ucla.edu>
9681
9682         * lib/glob_.h, glob.c: New files.
9683
9684 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
9685
9686         * modules/fts (Files): Remove m4/inttypes-pri.m4.
9687         * modules/fts-lgpl (Depends-on): Remove gettext.
9688
9689 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
9690
9691         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
9692         and don't require gt_INTTYPES_PRI.
9693
9694 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
9695
9696         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
9697
9698         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
9699         the configuration hassle isn't worth it.
9700         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
9701         (LONGEST_MODIFIER, PRIuMAX): Remove.
9702
9703 2005-05-27  Bruno Haible  <bruno@clisp.org>
9704
9705         * lib/getlogin_r.h: Remove second include of <stddef.h>.
9706
9707 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
9708
9709         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
9710         _POSIX_PTHREAD_SEMANTICS for Solaris.
9711
9712 2005-05-25  Derek Price  <derek@ximbiot.com>
9713
9714         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
9715
9716 2005-05-25  Derek Price  <derek@ximbiot.com>
9717             Paul Eggert  <eggert@cs.ucla.edu>
9718
9719         * modules/getlogin_r: New files.
9720
9721 2005-05-25  Derek Price  <derek@ximbiot.com>
9722             Paul Eggert  <eggert@cs.ucla.edu>
9723
9724         * m4/getlogin_r.m4: New files.
9725
9726 2005-05-25  Derek Price  <derek@ximbiot.com>
9727             Paul Eggert  <eggert@cs.ucla.edu>
9728
9729         * lib/getlogin_r.c, getlogin_r.h: New files.
9730
9731 2005-05-25  Bruno Haible  <bruno@clisp.org>
9732             Derek Price  <derek@ximbiot.com>
9733
9734         * lib/getlogin_r.h: Simplify API documentation.
9735
9736 2005-05-23  Derek Price  <derek@ximbiot.com>
9737
9738         * modules/minmax (Files): Add m4/minmax.m4.
9739         (configure.ac): Add gl_MINMAX.
9740
9741 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
9742
9743         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
9744         so that unistd-safer.h (GPL'ed code) need not be included.
9745
9746 2005-05-22  Bruno Haible  <bruno@clisp.org>
9747
9748         * m4/minmax.m4: New file.
9749         Based on a patch by Derek Price <derek@ximbiot.com>.
9750
9751 2005-05-22  Bruno Haible  <bruno@clisp.org>
9752
9753         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
9754         (INT64_MIN): Fix definition.
9755         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
9756
9757         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
9758         NEED_SIGNED_INT_TYPES.
9759
9760         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
9761         HAVE_SYSTEM_INTTYPES.
9762
9763 2005-05-22  Bruno Haible  <bruno@clisp.org>
9764
9765         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
9766         Also include <sys/param.h> if it defines MIN, MAX.
9767         Based on a patch by Derek Price <derek@ximbiot.com>.
9768
9769 2005-05-21  Jim Meyering  <jim@meyering.net>
9770
9771         * modules/fts (Files): Add m4/inttypes-pri.m4.
9772         (Depends-on): Add lstat and remove gettext.  Alphabetize.
9773
9774 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
9775
9776         New fts module.
9777         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
9778         (setup_dir, free_dir): New functions.
9779         (enter_dir, leave_dir): Define trivial
9780         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
9781         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
9782         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
9783         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
9784         Move to fts-cycle.c.
9785         (fts_open): Use setup_dir.
9786         (fts_close): Use free_dir.
9787         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
9788         This adds a label and some gotos, but the alternatives were messier.
9789         Check for memory allocation failure when entering a dir.
9790         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
9791         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
9792         (FTS): New member fts_cycle, that is a union that contains the
9793         old active_dir_ht and cycle_state.  All uses changed to mention
9794         fts_cycle.ht and fts_cycle.state.
9795         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
9796         fts.c, with the following changes:
9797         (setup_dir, free_dir): New functions.
9798         (enter_dir): Now returns bool.  Return true if successful, false
9799         if memory exhausted.  All callers changed.
9800         Do not bother partly cleaning up on
9801         memory allocation failure; that is free_dir's job.
9802         However, free ad if hash_insert fails, to avoid memory leak.
9803         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
9804         fts->fts_options to see which union member to use.
9805
9806 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
9807
9808         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
9809         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
9810
9811 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
9812
9813         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
9814
9815 2005-05-20  Jim Meyering  <jim@meyering.net>
9816
9817         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
9818         Now a macro, to pacify GCC.
9819
9820 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
9821
9822         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
9823         of -1.
9824
9825 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
9826
9827         * lib/chown.c (rpl_chown): Return -1 on failure.
9828
9829 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
9830
9831         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
9832         Don't check for stddef.h.
9833         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
9834         don't use its results.
9835         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
9836         since we include them unconditionally.  Don't require
9837         AM_STDBOOL_H, since stdbool is a prerequisite.
9838         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
9839         since we assume C89 or better.
9840         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
9841         as we don't use their results.
9842         Don't check for fchdir, memmove, memset, strrchr, as we use
9843         them unconditionally.
9844         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
9845         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
9846
9847 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
9848
9849         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
9850         Include <stddef.h> unconditionally, since we assume C89 now.
9851         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
9852         * lib/fts.c: Include fts_.h first, to check interface.
9853         Do not include intprops.h; no longer needed.
9854         Include cycle-check.h and hash.h, since fts_.h no longer does.
9855         Remove unnecessary casts of closedir to void.
9856         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
9857         decide whether to decrement nlinks.
9858         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
9859         (FTS): Use struct hash_table * instead of Hash_table, so that
9860         we no longer need to include hash.h here.
9861
9862 2005-05-18  Jim Meyering  <jim@meyering.net>
9863
9864         * modules/dirfd (License): Change to LGPL.  Most of the code
9865         is already in the public domain.
9866
9867 2005-05-18  Jim Meyering  <jim@meyering.net>
9868
9869         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
9870         Reported by Yoann Vandoorselaere.
9871
9872 2005-05-17  Jim Meyering  <jim@meyering.net>
9873
9874         * m4/fts.m4: New file, from coreutils.
9875
9876 2005-05-17  Jim Meyering  <jim@meyering.net>
9877
9878         * lib/fts.c, fts_.h: New files, from coreutils.
9879
9880 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
9881
9882         Sync from coreutils.
9883         * m4/unlinkdir.m4: New file.
9884
9885 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
9886
9887         Sync from coreutils.
9888         * lib/unlinkdir.c, unlinkdir.h: New files.
9889         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
9890         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
9891         White space changes only.
9892         * lib/makepath.c (make_path): Port to hosts where leading "//" is
9893         special.
9894         * lib/yesno.c: Include getline.h, not ctype.h.
9895         (yesno): Don't remove leading white space; POSIX doesn't allow it.
9896         Use getline to remove arbitrary restriction on response length.
9897
9898 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
9899
9900         * config/srclist-update: Spell out "Street" in FSF postal
9901         mail address; this is the style the FSF seems to prefer.
9902
9903         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
9904         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
9905         this updates FSF postal mail address.
9906
9907         Sync from coreutils.
9908         * modules/unlinkdir: New file.
9909         * modules/yesno (Depends-on): Add getline.
9910         * MODULES.html.sh (File system functions): Add unlinkdir.
9911
9912 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
9913
9914         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
9915         lib/strsep.h:
9916         Change the initial comment to refer to GPL, not LGPL.
9917         gnulib-tool will change it to LGPL as needed.
9918
9919         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
9920         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
9921         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
9922         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
9923         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
9924         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
9925         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
9926         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
9927         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
9928         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
9929         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
9930         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
9931         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
9932         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
9933         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
9934         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
9935         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
9936         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
9937         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
9938         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
9939         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
9940         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
9941         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
9942         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
9943         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
9944         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
9945         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
9946         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
9947         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
9948         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
9949         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
9950         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
9951         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
9952         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
9953         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
9954         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
9955         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
9956         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
9957         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
9958         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
9959         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
9960         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
9961         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
9962         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
9963         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
9964         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
9965         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
9966         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
9967         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
9968         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
9969         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
9970         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
9971         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
9972         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
9973         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
9974         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
9975         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
9976         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
9977         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
9978         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
9979         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
9980         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
9981         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
9982         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
9983         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
9984         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
9985         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
9986         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
9987         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
9988         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
9989         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
9990         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
9991         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
9992         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
9993         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
9994         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
9995         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
9996         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
9997         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
9998         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
9999         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
10000         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
10001         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
10002         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
10003         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
10004         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
10005         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
10006         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
10007         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
10008         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
10009         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
10010         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
10011         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
10012         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
10013         lib/yesno.c, lib/yesno.h:
10014         Update FSF postal mail address.
10015
10016 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
10017
10018         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
10019         tests/test-memmem.c, tests/test-stpncpy.c:
10020         Update FSF postal mail address.
10021
10022 2005-05-13  Bruno Haible  <bruno@clisp.org>
10023
10024         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
10025         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
10026         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
10027         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
10028         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
10029         Add support for 64-bit integers in the MSVC compiler.
10030
10031 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
10032
10033         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
10034
10035 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
10036
10037         * gnulib-tool (func_import): Sort and uniquify recommended includes.
10038
10039 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
10040
10041         * doc/getdate.texi (General date syntax): Don't say that date
10042         date --iso-8601=ns generates acceptable dates; it doesn't yet.
10043         Problem reported by Nic Ferrier.
10044
10045 2005-05-10  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
10046
10047         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
10048         specified in ai_socktype. Fix invalid ai_protocol
10049         check. ai_protocol is usually set to 0 or depending on
10050         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
10051         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
10052         ai_socktype / ai_protocol in the returned addrinfo structure.
10053
10054 2005-05-10  Simon Josefsson  <jas@extundo.com>
10055
10056         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
10057         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
10058
10059 2005-05-10  Karl Berry  <karl@gnu.org>
10060
10061         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
10062         (from http://www.gnu.org/licenses).
10063         * doc/COPYING.LIB: also rename to COPYING.LESSER.
10064         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
10065         fdl.texi suffices.
10066
10067 2005-05-10  Karl Berry  <karl@gnu.org>
10068
10069         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
10070         (COPYING.DOC): remove.
10071
10072         * config/srclist-update: new FSF address.
10073
10074 2005-05-10  Derek Price  <derek@ximbiot.com>
10075
10076         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
10077         possible.
10078
10079 2005-05-09  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
10080             Bruno Haible  <bruno@clisp.org>
10081
10082         * modules/inet_ntop: New file.
10083         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
10084         inet_ntop.
10085
10086 2005-05-09  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
10087             Bruno Haible  <bruno@clisp.org>
10088
10089         * m4/inet_ntop.m4: New file.
10090
10091 2005-05-09  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
10092             Bruno Haible  <bruno@clisp.org>
10093
10094         * lib/inet_ntop.h: New file.
10095         * lib/inet_ntop.c: New file, from glibc with modifications.
10096
10097 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
10098
10099         * modules/time_r (License): Change to LGPL.
10100         * modules/extensions (License): Change to LGPL.  Actually,
10101         the license is more permissive than that, but currently gnulib-tool
10102         doesn't know how to handle more-permissive licenses.
10103
10104         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
10105         Problem reported by Dave Love.
10106
10107 2005-05-08  Jim Meyering  <jim@meyering.net>
10108
10109         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
10110         blank.
10111
10112 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
10113
10114         * modules/argmatch (Depends-on): Add stdbool.
10115         * modules/backupfile (Depends-on): Likewise.
10116         * modules/chdir-long (Depends-on): Likewise.
10117         * modules/closeout (Depends-on): Likewise.
10118         * modules/cycle-check (Depends-on): Likewise.
10119         * modules/dirname (Depends-on): Likewise.
10120         * modules/fnmatch (Depends-on): Likewise.
10121         * modules/fsusage (Depends-on): Likewise.
10122         * modules/fwriteerror (Depends-on): Likewise.
10123         * modules/getcwd (Depends-on): Likewise.
10124         * modules/getloadavg (Depends-on): Likewise.
10125         * modules/hard-locale (Depends-on): Likewise.
10126         * modules/makepath (Depends-on): Likewise.
10127         * modules/mountlist (Depends-on): Likewise.
10128         * modules/nanosleep (Depends-on): Likewise.
10129         * modules/posixtm (Depends-on): Likewise.
10130         * modules/quotearg (Depends-on): Likewise.
10131         * modules/readtokens (Depends-on): Likewise.
10132         * modules/readtokens0 (Depends-on): Likewise.
10133         * modules/readutmp (Depends-on): Likewise.
10134         * modules/save-cwd (Depends-on): Likewise.
10135         * modules/strftime (Depends-on): Likewise.
10136         * modules/userspec (Depends-on): Likewise.
10137         * modules/utimecmp (Depends-on): Likewise.
10138         * modules/xgetcwd (Depends-on): Likewise.
10139         * modules/xnanosleep (Depends-on): Likewise.
10140         * modules/xstrtod (Depends-on): Likewise.
10141         * modules/yesno (Depends-on): Likewise.
10142
10143 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
10144
10145         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
10146         needless checks.
10147
10148 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
10149
10150         Merge from coreutils.  Among other things,
10151         add bulletproofing for cases where stdin, stdout, or stderr are closed.
10152         * lib/fd-safer.c: New file.
10153         * lib/fcntl-safer.h, open-safer.c: Remove.
10154         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
10155         * lib/dup-safer.c: Include unistd-safer.h first.
10156         Don't include errno.h.
10157         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
10158         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
10159         * lib/file-type.c: Rely on file-type.h change.
10160         * lib/getloadavg.c: Include unistd-safer.h.
10161         (getloadavg): Use safer open.
10162         * lib/getusershell.c: Include "stdio-safer.h".
10163         (getusershell): Use safer fopen.
10164         * lib/long-options.c (long_options): Use NULL rather than 0.
10165         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
10166         'free'.
10167         * lib/modechange.c: Likewise.
10168         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
10169         (MODE_DONE): New constant.
10170         (struct mode_change): Remove 'next' member.
10171         (make_node_op_equals): New function; like the old one of the
10172         same name, except it allocates an array.
10173         (mode_compile, mode_create_from_ref): Use it.
10174         (mode_compile): Allocate result as an array, not a linked list.
10175         Parse octal string ourself, so that we catch mistakes like "+0".
10176         (mode_adjust): Arg is an array, not a linked list.
10177         * lib/modechange.c: Include stat-macros.h, xalloc.h.
10178         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
10179         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
10180         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
10181         Remove.  This is now stat-macros.h's job.
10182         (talloc): Remove.  All callers replaced by xalloc, so that
10183         our invokers don't have to worry about reporting memory failures.
10184         (make_node_op_equals): Remove.
10185         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
10186         New constants.
10187         (struct mode_change): Moved here from modechange.h.
10188         (mode_append_entry): Remove.
10189         (mode_compile): Remove MASKED_OPS arg, since it encouraged
10190         apps to have incorrect behavior.  Use simpler algorithm for head
10191         and tail.  Don't futz with umask; that's now the job of mode_adjust.
10192         Detect more invalid usages rather than having somewhat-random behavior.
10193         Don't insert an "a=" action, as that leads to incorrect behavior.
10194         (mode_compile, mode_create_from_ref): Return NULL on error instead
10195         of an enum, since now there's only one way to have an error.  All
10196         callers changed.
10197         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
10198         at the correct time.  Simplify calculation of "+u" and its ilk.
10199         Don't mishandle "+X".
10200         (mode_free): Remove "register" and localize decls.
10201         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
10202         (struct mode_change): Move to modechange.c; callers don't
10203         need to see this stuff.
10204         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
10205         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
10206         (mode_change, mode_adjust): Reflect the new signatures noted above.
10207         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
10208         that might redefine system include files.
10209         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
10210         (my_usleep): Use NULL rather than (void *) 0.
10211         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
10212         Use siginterrupt to specify that system calls should be interrupted.
10213         (rpl_nanosleep): Move initialization of suspended closer to call of
10214         my_usleep.
10215         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
10216         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
10217         (desirable_utmp_entry): New function.
10218         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
10219         using x2nrealloc, to simplify logic.
10220         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
10221         size calculation.  Do not assume utmp file is a regular file.
10222         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
10223         (READ_UTMP_CHECK_PIDS): New constant.
10224         * lib/save-cwd.c: Include unistd-safer.h.
10225         (save_cwd): Use fd_safer.
10226         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
10227         [!_LIBC] Include "stat-macros.h" instead.
10228         * lib/unistd-safer.h (fd_safer): New decl.
10229
10230 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
10231
10232         * modules/getloadavg (Depends-on): Add unistd-safer.
10233         * modules/getusershell (Depends-on): Add stdio-safer.
10234         * modules/lstat (Depends-on): Remove xalloc.
10235         * modules/mkstemp (Depends-on): Add stat-macros.
10236         * modules/modechange (Depends-on): Remove xstrtol.
10237         Add stat-macros, xalloc.
10238         * modules/save-cwd (Depends-on): Add unistd-safer.
10239         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
10240         * modules/unistd-safer (Files): Add lib/fd-safer.c
10241         (Makefile.am): Remove lib_SOURCES.
10242
10243         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
10244         Remove fcntl-safer; unistd-safer supersedes it.
10245
10246 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
10247
10248         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
10249         AC_HEADER_STAT.
10250         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
10251         (gl_PREREQ_CHOWN): Remove.
10252         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
10253         it.  Don't require AC_HEADER_STAT.
10254         (gl_PREREQ_LSTAT): Remove.
10255         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
10256         Don't require AC_HEADER_STAT.
10257         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
10258         (gl_PREREQ_RMDIR): Remove.
10259         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
10260         mention stat-macros.h or AC_HEADER_STAT, since we'll make
10261         the stat-macros module a prerequisite.
10262         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
10263         * m4/filemode.m4 (gl_FILEMODE): Likewise.
10264         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
10265         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
10266         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
10267         variable names.
10268         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
10269         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
10270         variable prefixes.
10271         * m4/fcntl-safer.m4: Remove.
10272         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
10273         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
10274         Invoke gl_PREREQ_FD_SAFER.
10275         (gl_PREREQ_FD_SAFER): New macro.
10276         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
10277         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
10278         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
10279         Remove duplicate call to AC_LIBOBJ(readutmp).
10280         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
10281
10282         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
10283         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
10284
10285 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
10286
10287         * MODULES.html.sh (Misc): Add byteswap.
10288
10289 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
10290
10291         * modules/getcwd (Depends-on): Add extensions.
10292         * modules/openat (Depends-on): Likewise.
10293
10294 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
10295
10296         * modules/byteswap: New file.
10297
10298 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
10299
10300         * m4/byteswap.m4: New file.
10301
10302 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
10303
10304         * lib/byteswap_.h: New file.
10305
10306 2005-04-25  Karl Berry  <karl@gnu.org>
10307
10308         * m4/gettext.m4: Update from GNU gettext 0.14.4.
10309
10310 2005-04-25  Albert Chin  <china@thewrittenword.com>
10311
10312         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
10313         Toolkit C bug.
10314
10315 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
10316
10317         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
10318         (func_ln_if_changed) Remove forcibly for no error message
10319         in case file does not exist.
10320
10321 2005-04-19  Simon Josefsson  <jas@extundo.com>
10322
10323         * gnulib-tool (Options): Make --symlink mean --symbolic.
10324
10325 2005-04-18  Oskar Liljeblad <oskar@osk.mine.nu>
10326
10327         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
10328
10329 2005-04-16  Simon Josefsson  <jas@extundo.com>
10330
10331         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
10332
10333 2005-04-15  Simon Josefsson  <jas@extundo.com>
10334
10335         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
10336
10337 2005-04-15  Simon Josefsson  <jas@extundo.com>
10338
10339         * gnulib-tool: Rename --symlink to --symbolic.
10340
10341 2005-04-15  Oskar Liljeblad <oskar@osk.mine.nu>
10342
10343         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
10344         symbolic links to files instead of copying/moving.  Add --aux-dir,
10345         specifying directory relative --dir where auxiliary build tools
10346         are placed.
10347
10348 2005-04-14  Bruno Haible  <bruno@clisp.org>
10349
10350         * modules/allocsa (License): Change to LGPL.
10351         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
10352
10353 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
10354
10355         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
10356         that "UTC +1 second" continues to work.  Problem reported
10357         by Dmitry V. Levin.
10358         (relunit_snumber): New rule.
10359         (relunit): Use it.
10360
10361 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
10362
10363         * lib/getdate.y (universal_time_zone_table): New constant.
10364         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
10365         universal_time_zone_table.
10366         (lookup_zone): Prefer universal_time_zone_table to
10367         local_time_zone_table, so that "GMT" time stamps are allowed in
10368         London during the summer.  Problem reported by Ian Abbott.
10369
10370 2005-04-12  Jim Meyering  <jim@meyering.net>
10371
10372         * lib/human.c (humblock): Set *options even when returning due to
10373         xstrtoumax conversion failure.  Thanks to a used-uninitialized
10374         warning from gcc-4.
10375
10376 2005-04-09  Jim Meyering  <jim@meyering.net>
10377
10378         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
10379         -Wuninitialized: initialize tm0.tm_year.
10380
10381 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
10382
10383         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
10384         count, since there's no maximum.  All uses changed.
10385         Add member dsts_seen.
10386         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
10387         not being INT_MAX.
10388         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
10389         Use pc_rels_seen to decide whther a date is absolute.
10390
10391         * lib/getdate.y (number): Don't overwrite year.
10392         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
10393         check.
10394
10395 2005-04-02  Simon Josefsson  <jas@extundo.com>
10396
10397         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
10398         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
10399
10400 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
10401
10402         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
10403         where no absolute path name can be longer than PATH_MAX.
10404
10405 2005-03-27  Jim Meyering  <jim@meyering.net>
10406
10407         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
10408
10409 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
10410
10411         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
10412         "one's complement" -> "ones' complement" in comment, as per Knuth.
10413         "value of type" -> "type or expression" in comment.
10414         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
10415
10416 2005-03-26  Jim Meyering  <jim@meyering.net>
10417
10418         Comment nits.
10419         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
10420         Correct typos: s/or/of/.
10421
10422 2005-03-26  Jim Meyering  <jim@meyering.net>
10423
10424         * modules/check-include-files: Move to ../ and rename to...
10425         * check-module: ...this.
10426
10427 2005-03-25  Jim Meyering  <jim@meyering.net>
10428
10429         * modules/xvasprintf (Files): Add xalloc.h.
10430
10431 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
10432
10433         * modules/gettext (Files): config/config.rpath ->
10434         build-aux/config.rpath
10435         * modules/iconv (Files): Likewise.
10436         Problem reported by Oskar Liljeblad.
10437
10438 2005-03-23  Jim Meyering  <jim@meyering.net>
10439
10440         * modules/check-include-files: New script to check for
10441         missing dependencies, multiple includes, etc.
10442
10443         * modules/c-strtold (Depends-on): Add xalloc.
10444         * modules/c-strtod (Depends-on): Add xalloc.
10445         * modules/hash (Depends-on): Add xalloc.
10446         (Files): Remove lib/xalloc.h.
10447
10448         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
10449         * modules/userspec (Files): Add lib/inttostr.h.
10450
10451 2005-03-23  Jim Meyering  <jim@meyering.net>
10452
10453         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
10454
10455 2005-03-22  Jim Meyering  <jim@meyering.net>
10456
10457         * modules/stat-macros: New module.
10458         * modules/canonicalize, modules/euidaccess, modules/file-type,
10459         * modules/filemode, modules/lchown, modules/makepath,
10460         * modules/rmdir, modules/stat: Depend on new stat-macros module
10461         rather than listing lib/stat-macros.h manually.
10462         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
10463
10464 2005-03-22  Jim Meyering  <jim@meyering.net>
10465
10466         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
10467
10468 2005-03-22  Bruno Haible  <bruno@clisp.org>
10469
10470         * config/srclist.txt: Replace target directory 'config' with
10471         'build-aux'.
10472         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
10473         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
10474         ../build-aux/.
10475
10476 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
10477
10478         * modules/chdir-long (Depends-on): Add mempcpy.
10479
10480         * modules/acl, modules/backupfile, modules/c-strtod,
10481         modules/c-strtold, modules/canon-host, modules/canonicalize,
10482         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
10483         modules/exclude, modules/exitfail, modules/file-type,
10484         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
10485         modules/getdate, modules/getline, modules/getpagesize,
10486         modules/getpass, modules/getugroups, modules/group-member,
10487         modules/hard-locale, modules/hash, modules/human, modules/idcache,
10488         modules/inttostr, modules/long-options, modules/makepath,
10489         modules/md5, modules/memcasecmp, modules/memcoll,
10490         modules/modechange, modules/mountlist, modules/path-concat,
10491         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
10492         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
10493         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
10494         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
10495         modules/strftime, modules/strndup, modules/strverscmp,
10496         modules/timespec, modules/unlocked-io, modules/userspec,
10497         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
10498         modules/yesno:
10499         Remove lib_SOURCES line from Makefile.am section, as this is now
10500         done automatically by the corresponding Autoconf macro.
10501
10502 2005-03-21  Jim Meyering  <jim@meyering.net>
10503
10504         Changes imported from coreutils.
10505
10506         * lib/cycle-check.c: Don't include xalloc.h.
10507
10508         * lib/path-concat.c: Don't include assert.h.
10509         (path_concat): Remove assertion that would have triggered
10510         for ABASE starting with more than one slash.
10511         Reported by Andreas Schwab.
10512
10513         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
10514         properly when ABASE is an absolute file name.
10515         Correct the description of this function.
10516         Include <assert.h>.
10517         Add an assertion and a test driver.
10518         This fixes a bug introduced on 2004-07-02.
10519         Andreas Schwab reported the resulting failure of cp --parents:
10520         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
10521
10522 2005-03-21  Jim Meyering  <jim@meyering.net>
10523
10524         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
10525         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
10526
10527 2005-03-21  Jim Meyering  <jim@meyering.net>
10528         and  Paul Eggert  <eggert@cs.ucla.edu>
10529
10530         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
10531         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
10532         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
10533         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
10534         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
10535         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
10536         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
10537         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
10538         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
10539         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
10540         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
10541         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
10542         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
10543         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
10544         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
10545         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
10546         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
10547         for these modules.
10548
10549 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
10550
10551         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
10552         (which shouldn't happen), generate nothing instead of returning 0
10553         immediately, so that nstrftime (NULL, ...) doesn't return 0.
10554
10555 2005-03-16  Bruno Haible  <bruno@clisp.org>
10556
10557         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
10558         HAVE_LONGLONG_64BIT.
10559
10560 2005-03-16  Bruno Haible  <bruno@clisp.org>
10561
10562         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
10563         HAVE_LONGLONG_64BIT.
10564
10565 2005-03-16  Bruno Haible  <bruno@clisp.org>
10566
10567         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
10568         HAVE_LONGLONG_64BIT.
10569
10570 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
10571
10572         * lib/strftime.c (my_strftime): Prepend space to format so that we can
10573         reliably distinguish strftime failure from empty output on POSIX
10574         hosts.
10575
10576 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
10577
10578         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
10579         (iconv_string): Don't guess a size-zero buffer, as that might cause
10580         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
10581         result would be 'too large', where 'too large' is (heuristically)
10582         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
10583         overflow concerns.  This will prevent some unwanted malloc failures
10584         when the inputs are very large.
10585
10586 2005-03-15  Karl Berry  <karl@gnu.org>
10587
10588         * config/srclist.txt (config.rpath): from gettext.
10589         * config/config.rpath: update.
10590
10591 2005-03-15  Bruno Haible  <bruno@clisp.org>
10592
10593         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
10594         to 'negate'.
10595
10596         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
10597         variable.
10598
10599         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
10600         results.
10601
10602 2005-03-14  Simon Josefsson  <jas@extundo.com>
10603
10604         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
10605         <fx@gnu.org>.
10606
10607 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
10608
10609         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
10610         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
10611         intprops.h.
10612         * lib/strtol.c: Likewise.
10613
10614 2005-03-14  Jim Meyering  <jim@meyering.net>
10615
10616         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
10617         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
10618         to be nonzero so that we (and caller) can detect the difference
10619         between a valid zero-length expansion and an error return, even
10620         when the underlying strftime fails before writing anything into
10621         that location.
10622
10623 2005-03-14  Bruno Haible  <bruno@clisp.org>
10624
10625         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
10626         Update from GNU gettext 0.14.3.
10627
10628 2005-03-10  Jim Meyering  <jim@meyering.net>
10629
10630         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
10631
10632 2005-03-10  Jim Meyering  <jim@meyering.net>
10633
10634         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
10635         so that this module works on systems without fchdir.
10636
10637 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
10638
10639         Factor int-properties macros into a single file, except for
10640         glibc-related files.
10641         * lib/intprops.h: New file.
10642         * lib/getloadavg.c: Include it instead of limits.h.
10643         (INT_STRLEN_BOUND): Remove.
10644         * lib/human.c: Include intprops.h.
10645         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
10646         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
10647         302/1000.
10648         * lib/inttostr.h: Include intprops.h instead of limits.h.
10649         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
10650         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
10651         for consistency with intprops.h.
10652         (time_t_is_integer, twos_complement_arithmetic): Use them.
10653         * lib/sig2str.h: Include <signal.h>, intprops.h.
10654         (INT_STRLEN_BOUND): Remove.
10655         * lib/strftime.c (TYPE_SIGNED): Remove.
10656         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
10657         * lib/strtol.c: Adjust comments to match intprops.h.
10658         * lib/userspec.c: Include intprops.h.
10659         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
10660         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
10661         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
10662         instead of rolling our own expressions.
10663         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
10664
10665         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
10666         instead of int.
10667         (my_strftime): Do not mishandle years close to INT_MAX, by doing
10668         the right thing even if adding 1900 would overflow.  Similarly
10669         for tm_mon + 1 and tm_yday + 1.
10670         Make %Y always equivalent to %C%y, and similarly for %G and %g.
10671         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
10672         (DO_SIGNED_NUMBER): New macro.
10673         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
10674
10675 2005-03-07  Bruno Haible  <bruno@clisp.org>
10676
10677         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
10678
10679 2005-03-07  Bruno Haible  <bruno@clisp.org>
10680
10681         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
10682
10683 2005-03-04  Derek R. Price  <derek@ximbiot.com>
10684
10685         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
10686         (func_import): Only replace files via --import when they have actually
10687         changed.
10688
10689 2005-03-03  Derek R. Price  <derek@ximbiot.com>
10690
10691         * m4/mmap-anon.m4: New file.
10692         * m4/pagealign_alloc.m4: New file.
10693
10694 2005-03-03  Derek R. Price  <derek@ximbiot.com>
10695             Bruno Haible  <bruno@clisp.org>
10696
10697         * modules/pagealign_alloc: New file.
10698         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
10699
10700 2005-03-03  Derek R. Price  <derek@ximbiot.com>
10701             Bruno Haible  <bruno@clisp.org>
10702
10703         * lib/pagealign_alloc.h: New file.
10704         * lib/pagealign_alloc.c: New file.
10705
10706 2005-03-03  Bruno Haible  <bruno@clisp.org>
10707
10708         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
10709         Use an all-permissive copyright notice, recommended by RMS.
10710
10711 2005-03-02  Bruno Haible  <bruno@clisp.org>
10712
10713         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
10714         of AIX, the replacement has to be done only after <string.h> is
10715         included, therefore not in config.h. stpncpy.h does the replacement,
10716         and stpncpy.c uses it.
10717
10718 2005-03-02  Bruno Haible  <bruno@clisp.org>
10719
10720         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
10721         stpncpy.c uses it.
10722
10723 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
10724
10725         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
10726         The workaround isn't strictly needed for POSIX conformance, and
10727         it's too much of a pain to configure and maintain.  We'll ask
10728         people to fix their kernels instead.
10729         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
10730         (NANOSLEEP_BUG_WORKAROUND): Remove.
10731         (xnanosleep): Remove the workaround.
10732
10733 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
10734
10735         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
10736         Reported by Derek Price.
10737         (Include): Add "timespec.h".
10738
10739         * modules/xnanosleep (Depends-on): Remove gethrxtime.
10740
10741 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
10742
10743         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
10744         to detect nanosleep bug.
10745
10746 2005-03-01  Bruno Haible  <bruno@clisp.org>
10747
10748         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
10749
10750 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
10751
10752         * modules/gethrxtime: New file.
10753         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
10754         (Depends-on): Add gethrxtime.
10755         (configure.ac): Add gl_XNANOSLEEP.
10756         (Makefile.am): Remove lib_SOURCES line.
10757
10758 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
10759
10760         * m4/gethrxtime.m4, xnanosleep.m4: New files.
10761         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
10762
10763 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
10764
10765         * lib/gethrxtime.h, gethrxtime.c, xtime.h: New files.
10766         * lib/timespec.h (gettime): Return void, since it always
10767         succeeds now.  All uses changed.
10768         * lib/gettime.c (gettime) Likewise.
10769         [HAVE_NANOTIME]: Prefer nanotime.
10770         Assume gettimeofday succeeds, as POSIX requires.
10771         Assime time () succeeds, since other code already does.
10772         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
10773         (timespec_subtract): Remove.
10774         (NANOSLEEP_BUG_WORKAROUND): New constant.
10775         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
10776         things considerably.  Use it only on GNU/Linux hosts, since the
10777         workaround shouldn't be needed elsewhere.
10778
10779 2005-02-24  Bruno Haible  <bruno@clisp.org>
10780
10781         * modules/gettext (Files): Add m4/glibc2.m4.
10782
10783 2005-02-24  Bruno Haible  <bruno@clisp.org>
10784
10785         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
10786         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
10787         * m4/progtest.m4:
10788         Update from GNU gettext 0.14.2.
10789         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
10790
10791 2005-02-24  Bruno Haible  <bruno@clisp.org>
10792
10793         * lib/localcharset.c: Update from GNU gettext 0.14.2.
10794         * lib/config.charset: Update from GNU gettext 0.14.2.
10795
10796 2005-02-24  Bruno Haible  <bruno@clisp.org>
10797
10798         * lib/gettext.h: Update from GNU gettext 0.14.2.
10799
10800 2005-02-23  Simon Josefsson  <jas@extundo.com>
10801
10802         * m4/iconvme.m4: New file.
10803
10804 2005-02-23  Jim Meyering  <jim@meyering.net>
10805
10806         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
10807         change.
10808         Thanks to Bruno Haible for catching it.
10809
10810 2005-02-22  Simon Josefsson  <jas@extundo.com>
10811
10812         * modules/iconvme: New file.
10813
10814         * MODULES.html.sh: Add iconvme.
10815
10816 2005-02-22  Simon Josefsson  <jas@extundo.com>
10817
10818         * lib/iconvme.h, iconvme.c: New files, from libc.
10819
10820 2005-02-22  Simon Josefsson  <jas@extundo.com>
10821
10822         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
10823
10824 2005-02-22  Jim Meyering  <jim@meyering.net>
10825
10826         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
10827         s/ifndef/ifdef/.
10828
10829 2005-02-20  Neil Conway  <neilc@samurai.com>
10830
10831         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
10832         returned by OSX/Darwin if the specified buffer is not large
10833         enough for the hostname.
10834
10835 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
10836
10837         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
10838         pass it to _help, otherwise the latter coredumps trying to
10839         dereference state.root_argp.
10840
10841 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
10842
10843         * modules/chdir-long (Depends-on): Add memrchr.
10844         * modules/memrchr (Files): Add lib/memrchr.h.
10845         (Include): "memrchr.h".
10846
10847 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
10848
10849         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
10850
10851 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
10852
10853         * lib/memrchr.h: New file.
10854         * lib/chdir-long.c: Include it.
10855         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
10856         Don't bother including stddef.h.
10857
10858 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
10859
10860         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
10861         inclusion.
10862         Include <sys/types.h>, for dev_t.
10863         (ME_DUMMY, ME_REMOTE): Move from here....
10864         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
10865         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
10866         Dmitry V. Levin.
10867         Include mountlist.h first, to test the interface.
10868
10869 2005-01-29  Bruno Haible  <bruno@clisp.org>
10870
10871         * lib/progname.c (program_name): Initialize.
10872         Needed when linking statically on MacOS X.
10873
10874 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
10875
10876         Sync from coreutils.
10877         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
10878         (Depends-on): Add c-strtod.
10879         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
10880
10881 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
10882
10883         Sync from coreutils.
10884         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
10885
10886         Remove files that are specific to coreutils.
10887         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
10888
10889 2005-01-28  Bruno Haible  <bruno@clisp.org>
10890
10891         * modules/javacomp: New file.
10892         * MODULES.html.sh (Java): Add javacomp.
10893
10894 2005-01-28  Bruno Haible  <bruno@clisp.org>
10895
10896         * m4/javacomp.m4: New file, from GNU gettext.
10897
10898 2005-01-28  Bruno Haible  <bruno@clisp.org>
10899
10900         * lib/javacomp.sh.in: New file, from GNU gettext.
10901         * lib/javacomp.h: New file, from GNU gettext.
10902         * lib/javacomp.c: New file, from GNU gettext.
10903
10904 2005-01-26  Simon Josefsson  <jas@extundo.com>
10905
10906         * lib/gai_strerror.c: Use GPL in header.
10907
10908 2005-01-26  Bruno Haible  <bruno@clisp.org>
10909
10910         * modules/javaexec: New file.
10911         * MODULES.html.sh (Java): Add javaexec.
10912
10913 2005-01-26  Bruno Haible  <bruno@clisp.org>
10914
10915         * m4/javaexec.m4: New file, from GNU gettext.
10916
10917 2005-01-26  Bruno Haible  <bruno@clisp.org>
10918
10919         * lib/javaexec.sh.in: New file, from GNU gettext.
10920         * lib/javaexec.h: New file, from GNU gettext.
10921         * lib/javaexec.c: New file, from GNU gettext.
10922
10923 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
10924
10925         * modules/lchown (Depends-on): Remove lchown.h
10926
10927 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
10928
10929         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
10930         must be defined if the header file was not found, in order
10931         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
10932
10933 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
10934
10935         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
10936         initializers for struct pentry_state.
10937         (__argp_error): Check return value of __asprintf
10938         (__argp_failure): Translate error message
10939
10940         * lib/argp-parse.c: Removed braces around the expansion of N_()
10941
10942 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
10943
10944         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
10945         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
10946         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
10947         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
10948         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
10949         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
10950         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
10951         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
10952         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
10953         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
10954         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
10955         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
10956         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
10957         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
10958         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
10959         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
10960         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
10961         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
10962         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
10963         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
10964         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
10965         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
10966         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
10967         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
10968         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
10969         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
10970         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
10971         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
10972         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
10973         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
10974         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
10975         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
10976         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
10977         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
10978         xstrtol.m4, xstrtoumax.m4, yesno.m4:
10979         Use an all-permissive copyright notice, recommended by RMS.
10980
10981 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
10982
10983         * modules/chdir-long (Depends-on): Remove mempcpy.
10984
10985 2005-01-21  Jim Meyering  <jim@meyering.net>
10986
10987         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
10988         same value as for Solaris 9.
10989
10990         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
10991         component length.  This included changing the parameter to be
10992         of type `char *' rather than `char const *'.
10993         * lib/chdir-long.h (chdir_long): Update prototype.
10994
10995         * lib/openat.c (fdopendir, fstatat): New functions.
10996         * lib/openat.h: Include headers required for use of DIR and struct
10997         stat.
10998         [AT_SYMLINK_NOFOLLOW]: Define.
10999         (fdopendir, fstatat): Add prototypes.
11000
11001 2005-01-21  Bruno Haible  <bruno@clisp.org>
11002
11003         * modules/classpath: New file.
11004         * MODULES.html.sh (Java): Add classpath.
11005
11006 2005-01-21  Bruno Haible  <bruno@clisp.org>
11007
11008         * lib/classpath.h: New file, from GNU gettext.
11009         * lib/classpath.c: New file, from GNU gettext.
11010
11011 2005-01-20  Simon Josefsson  <jas@extundo.com>
11012
11013         * modules/version-etc-fsf: New file.
11014
11015 2005-01-20  Simon Josefsson  <jas@extundo.com>
11016
11017         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
11018         * lib/version-etc.c: Remove version_etc_copyright.
11019         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
11020         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
11021
11022 2005-01-20  Simon Josefsson  <jas@extundo.com>
11023
11024         * lib/base64.h (isbase64): Add.
11025
11026         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
11027         using a unsigned prototype, don't inline.
11028         (base64_decode): Use it.
11029
11030 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
11031
11032         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
11033         it.
11034
11035 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
11036
11037         * lib/save-cwd.c (save_cwd): Remove code to support the case
11038         where fchdir is missing or flaky.
11039
11040 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
11041
11042         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
11043
11044 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
11045
11046         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
11047         AC_LIBSOURCES now does this.
11048         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
11049         with new ullong_max module.
11050
11051 2005-01-19  Bruno Haible  <bruno@clisp.org>
11052
11053         * modules/sh-quote: New file.
11054         * MODULES.html.sh (Executing programs): Add sh-quote.
11055
11056 2005-01-19  Bruno Haible  <bruno@clisp.org>
11057
11058         * lib/sh-quote.h: New file, from GNU gettext.
11059         * lib/sh-quote.c: New file, from GNU gettext.
11060
11061 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
11062
11063         Merge from coreutils.
11064         * m4/ullong_max.m4: New file.
11065         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
11066         (gl_MACROS): Assume localeconv exists.
11067
11068 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
11069
11070         Merge changes from coreutils, as described below in several
11071         changelogs dated today.
11072
11073         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
11074         (O_DIRECTORY): Remove; not needed here, since "." must be
11075         a directory.  All uses removed.
11076         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
11077         universal on Suns, and we also need to test for IRIX.
11078         Revamp code to use 'if' rather than '#if'.
11079         Avoid unnecessary comparison of cwd->desc to 0.
11080
11081         * lib/utimens.c (futimens): Robustify the previous patch, by checking
11082         for known valid error numbers rather than observed invalid ones.
11083
11084 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
11085
11086         * modules/ullong_max: New file.
11087
11088         * modules/chdir-long, modules/openat: New files.
11089         * modules/save-cwd (Depends-on): Depend on chdir-long.
11090         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
11091
11092 2005-01-18  Jim Meyering  <jim@meyering.net>
11093
11094         Merge from coreutils.
11095         * m4/chdir-long.m4, openat.m4: New files.
11096         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
11097         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
11098         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
11099         is sane and DOES follow symlinks.  Besides, testing 20 different
11100         systems found no broken chown implementations.
11101         Prompted by a change in rsync's copy of this macro.
11102         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
11103
11104         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
11105
11106         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
11107         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
11108         NULL-means-set-to-current-time semantics.
11109         Remove temporary file immediately, rather than waiting
11110         for configure's at-exit trap code to do it.
11111
11112 2005-01-18  Jim Meyering  <jim@meyering.net>
11113
11114         * lib/version-etc.c (version_etc_copyright): Update copyright date.
11115
11116         * lib/utimens.c (futimens): Account for the fact that futimes
11117         can also fail with errno == ENOSYS or errno == ENOENT.
11118         Patch from Dmitry V. Levin.
11119
11120         Change the name of the robust chdir function from chdir to chdir_long.
11121         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
11122         (restore_cwd): Use chdir_long, not chdir.
11123         * lib/chdir-long.c: Renamed from chdir.c.
11124         * lib/chdir-long.h: Renamed from chdir.h.
11125         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
11126         Hurd.
11127
11128 2005-01-18  Bruno Haible  <bruno@clisp.org>
11129
11130         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
11131         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
11132         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
11133         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
11134         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
11135         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
11136         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
11137         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
11138         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
11139         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
11140         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
11141         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
11142         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
11143         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
11144         Use an all-permissive copyright notice, recommended by RMS.
11145
11146 2005-01-18  Bob Proulx  <bob@proulx.com>
11147
11148         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
11149         simplify offsetof() macro construct to avoid compile failure with
11150         native HP-UX 11.0 ANSI C compiler.
11151
11152 2005-01-17  Bruno Haible  <bruno@clisp.org>
11153
11154         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
11155         redundant because stpncpy.m4 takes care of it.
11156
11157 2005-01-17  Bruno Haible  <bruno@clisp.org>
11158
11159         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
11160
11161 2005-01-17  Bruno Haible  <bruno@clisp.org>
11162
11163         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
11164         used.
11165
11166 2005-01-17  Bruno Haible  <bruno@clisp.org>
11167
11168         * lib/fwriteerror.h (fwriteerror): Change specification to include
11169         fclose.
11170         * lib/fwriteerror.c: Include <stdbool.h>.
11171         (fwriteerror): At the end, close the file stream. Record whether
11172         stdout was already closed.
11173
11174 2005-01-17  Bruno Haible  <bruno@clisp.org>
11175
11176         * lib/execute.c (environ): Declare if needed.
11177         * lib/pipe.c (environ): Likewise.
11178         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
11179
11180 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
11181
11182         * modules/argp: Depend on vsnprintf
11183
11184 2005-01-10  Jim Meyering  <jim@meyering.net>
11185
11186         * modules/closeout (Depends-on): Add atexit.
11187
11188 2005-01-06  Bruno Haible  <bruno@clisp.org>
11189
11190         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
11191
11192 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
11193
11194         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
11195         definitions to be after all include files, to avoid collisions.
11196         Problem reported by Bob Proulx.
11197
11198 2005-01-04  Jim Meyering  <jim@meyering.net>
11199
11200         Changes imported from coreutils.
11201         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
11202         as the mkstemp template, use a temporary directory and an
11203         8.3-friendly template to avoid trouble on systems like DJGPP.
11204         Reported by Juan M. Guerrero via Stepan Kasal.
11205         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
11206         close. Remove the temporary directory right away, rather than waiting
11207         for configure's at-exit trap code to do it.
11208         Suggestion from Stepan Kasal.
11209
11210 2005-01-01  Simon Josefsson  <jas@extundo.com>
11211
11212         * gnulib-tool: Print #include directives when --import'ing.
11213
11214 2004-12-28  Simon Josefsson  <jas@extundo.com>
11215
11216         * tests/test-base64.c: Include required header files.  Remove
11217         unused variables.
11218
11219 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
11220
11221         * modules/error (Depends-on): Remove gettext.
11222
11223 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
11224
11225         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
11226         not needed.  This removes a dependency on the gettext module.
11227         [defined _LIBC]: Do not include <libintl.h>; not needed.
11228
11229 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
11230
11231         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
11232         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
11233
11234 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
11235
11236         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
11237         HAVE_DECL_STRTOLD.
11238
11239 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
11240
11241         * modules/getdate (Depends-on): Remove alloca-opt.
11242
11243 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
11244
11245         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
11246
11247 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
11248
11249         * lib/argp-parse.c: Include <stddef.h>.
11250         (alignof, alignto): New macros.
11251         (parser_init): Don't assume that void * is aligned sufficiently
11252         for struct option.
11253
11254         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
11255         need to extend the stack.
11256         (YYINITDEPTH): New macro, so that the initial stack isn't overly
11257         large.
11258
11259 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
11260
11261         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
11262
11263 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
11264
11265         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
11266         (2004-10-24) change.  Apparently this was a false alarm.
11267
11268         * modules/getdate: Depend on alloca-opt, not alloca.
11269
11270 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
11271
11272         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
11273         Remove now-obsolete comment about AIX.
11274         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
11275         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
11276         (YYMAXDEPTH): New macro.
11277
11278 2004-12-18  Simon Josefsson  <jas@extundo.com>
11279
11280         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
11281
11282 2004-12-18  Bruno Haible  <bruno@clisp.org>
11283
11284         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
11285
11286 2004-12-18  Bruno Haible  <bruno@clisp.org>
11287
11288         * lib/fatal-signal.c (fatal_signals): Make non-const.
11289         (init_fatal_signals): New function.
11290         (uninstall_handlers, install_handlers): Ignore signals that were set to
11291         SIG_IGN.
11292         (at_fatal_signal): Call init_fatal_signals.
11293         (init_fatal_signal_set): Likewise. Ignore signals that were set to
11294         SIG_IGN.
11295         Reported by Paul Eggert.
11296
11297 2004-12-18  Bruno Haible  <bruno@clisp.org>
11298
11299         * doc/alloca.texi: New file.
11300         * doc/alloca-opt.texi: New file.
11301
11302 2004-12-17  Jim Meyering  <jim@meyering.net>
11303
11304         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
11305         Otherwise, install-sh could exit with improper exit status when
11306         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
11307
11308 2004-12-16  Simon Josefsson  <jas@extundo.com>
11309
11310         * tests/test-base64.c: Add license.
11311
11312 2004-12-15  Stepan Kasal  <address@hidden>
11313
11314         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
11315
11316 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
11317
11318         * modules/getcwd (Files): Add m4/d-ino.m4.
11319         Suggested by Mark D. Baushke.
11320
11321 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
11322
11323         * lib/getdate.y (textint): New member "negative".
11324         (time_zone_hhmm): New function.
11325         Expect 14 shift-reduce conflicts, not 13.
11326         (o_colon_minutes): New rule.
11327         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
11328         (yylex): Set the "negative" member of signed numbers.
11329
11330 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
11331
11332         * doc/getdate.texi (Time of day items, Time zone items):
11333         Describe new formats +00:00, UTC+00:00.
11334
11335 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
11336
11337         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
11338         spurious "-l"s.  Problem reported by Stepan Kasal.
11339
11340 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
11341
11342         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
11343         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
11344
11345 2004-12-04  Simon Josefsson  <jas@extundo.com>
11346
11347         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
11348         Vandoorselaere <yoann@prelude-ids.org>.
11349
11350 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
11351
11352         Changes imported from coreutils.
11353         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
11354         exist.
11355         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
11356
11357 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
11358
11359         Changes imported from coreutils.
11360         * lib/hard-locale.c: Assume <locale.h> exists.
11361         Include "strdup.h".
11362         (GLIBC_VERSION): New macro.
11363         (hard_locale): Assume setlocale exists.
11364         Rewrite to avoid #ifdef.
11365         Use strdup rather than malloc + strcpy.
11366         * lib/human.c: Assume <locale.h> exists.
11367         (human_readable): Assume localeconv exists.
11368
11369 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
11370
11371         * modules/hard-locale (Depends-on): Add strdup.
11372
11373 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
11374
11375         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
11376         convert T2, not T.  (Imported from libc.)
11377
11378 2004-11-30  Simon Josefsson  <jas@extundo.com>
11379
11380         * modules/restrict (License): Change to LGPL.
11381
11382 2004-11-30  Simon Josefsson  <jas@extundo.com>
11383
11384         * m4/restrict.m4: Add copyright and copying conditions.
11385
11386 2004-11-30  Simon Josefsson  <jas@extundo.com>
11387
11388         * m4/base64.m4: New file.
11389
11390 2004-11-30  Simon Josefsson  <jas@extundo.com>
11391
11392         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
11393         base64.
11394
11395         * tests/test-base64.c: New file.
11396
11397         * modules/base64: New file.
11398
11399 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
11400
11401         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
11402         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
11403
11404         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
11405
11406 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
11407
11408         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
11409         (__getcwd.c): Don't restore errno; glibc doesn't.
11410         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
11411         first, falling back to our code only if its results look suspicious.
11412         Ensure that the resulting buffer is only as large as necessary.
11413
11414         * lib/readutmp.c: Include readutmp.h first.
11415         Include <errno.h>, since readutmp.h no longer does that.
11416         * lib/readutmp.h: Don't include <errno.h>,
11417         <sys/param.h>, <time.h>; not needed to establish interface.
11418         (errno): Remove decl.
11419         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
11420         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
11421         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
11422
11423 2004-11-28  Simon Josefsson  <jas@extundo.com>
11424
11425         * lib/base64.h, base64.c: New file.
11426
11427 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
11428
11429         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
11430
11431 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
11432
11433         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
11434         (Depends-on): Remove pathmax, same.  Add mempcpy.
11435         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
11436         (Makefile.am): Append getcwd.h to lib_SOURCES.
11437         (Include): Add getcwd.h.
11438         (Maintainer): Change from Jim Meyering to "all, glibc",
11439         since getdate now uses intended-for-glibc code.
11440         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
11441         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
11442
11443 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
11444
11445         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
11446         HP's ANSI C compiler.
11447         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
11448         Declaring int functions causes warnings on some modern systems and
11449         shouldn't be needed to compile on ancient ones.
11450         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
11451         defined.
11452
11453         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
11454         with the following changes.
11455         (__set_errno): Parenthesize properly.
11456         Include <stdbool.h>.
11457         (MIN, MAX, MATCHING_INO): New macros.
11458         (__getcwd): Define with prototype, not K&R form.
11459         Use heuristics to allocate default buffer on stack if possible.
11460         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
11461         behavior, and to avoid the PATH_MAX limit when computing
11462         ../../../../...
11463         Use MATCHING_INO to compare inode number to file.
11464         Check for arithmetic overflow in size calculations.
11465         Fix bug in reallocation of dot array that caused getcwd to fail
11466         on directories nested deeper than 75.
11467         Be more careful about saving errno on error.
11468         Do not use realloc; use only free+malloc, as this is a bit
11469         more flexible and avoids a needless copy operation.
11470         Do not inspect st_dev and st_ino for symbolic links; POSIX
11471         doesn't specify the latter.
11472         Check for closedir errors.
11473         Avoid needless casts.
11474         Use "#ifdef weak_alias" around weak_alias, to be like other
11475         glibc code.
11476         The following changes to getcwd.c have effect only when used in
11477         gnulib; they have no effect inside glibc proper.
11478         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
11479         as alloca isn't used.
11480         (alloca, __alloca): Likewise.
11481         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
11482         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
11483         unconditionally, as gnulib assumes C89 or better.
11484         Do not include <sys/param.h>.
11485         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
11486         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
11487         better.
11488         (NULL) [!defined NULL]: Remove; we assume C89 or better.
11489         Include <dirent.h> in a way that is compatible with modern Autoconf.
11490         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
11491         New macros, if not already defined.
11492         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
11493         Use "_LIBC", not "defined _LIBC", for consistency.
11494         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
11495         a mempcpy module.
11496         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
11497         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
11498         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
11499         credit only to Jim Meyering and adjust the copyright dates.
11500         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
11501         <stdlib.h>, <unistd.h>, "pathmax.h".
11502         Instead, include "xgetcwd.h" (first) and "getcwd.h".
11503         (INITIAL_BUFFER_SIZE): Remove.
11504         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
11505
11506 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
11507
11508         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
11509         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
11510         Use the _ONCE methods, for efficiency.
11511         Check for fcntl.h.  In test program, include <errno.h>
11512         and <fcntl.h> if available.  Remove old K&R cruft from
11513         test program.  Check for common errors in GNU/Linux,
11514         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
11515         don't do AC_LIBOBJ, as that's getcwd.m4's job.
11516         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
11517         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
11518         name accordingly.
11519         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
11520         accommodate new getcwd.c.
11521         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
11522         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
11523         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
11524         that's all we need now.
11525
11526 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
11527
11528         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
11529         argp-parse.c depends on getopt internals, that means we should
11530         always use our getopt, to be on the safe side.
11531         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
11532         order not to spoil the result of an eventual previous invocation
11533         of gl_GETOPT_SUBSTITUTE.
11534
11535 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
11536
11537         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
11538         redefinition warnings. To avoid them, include the defines
11539         in `#if !defined __need_getopt ... #endif'. The only place
11540         where __getopt_argv_const is used is in definitions
11541         of getopt_long and getopt_long_only below, which are as well
11542         protected by `#ifndef __need_getopt'.
11543         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
11544         __need_getopt after including <stdio.h> and <unistd.h> These
11545         headers might have defined it.
11546
11547 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
11548
11549         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
11550
11551 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
11552
11553         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
11554         (futimens): New function, which uses futimes if available.
11555         (futimens, utimens): Support timespec==NULL, with same semantics
11556         as utime and utimens.
11557         * lib/utimens.h (futimens): New decl.
11558
11559 2004-11-23  Jim Meyering  <jim@meyering.net>
11560
11561         * lib/getopt_.h: Remove trailing blanks.
11562
11563 2004-11-23  Jim Meyering  <jim@meyering.net>
11564
11565         * lib/__fpending.c: Add comment.
11566
11567 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
11568
11569         * modules/canonicalize (Depends-on): Add xreadlink.
11570         Problem reported by James Youngman.
11571
11572 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
11573
11574         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
11575         New macros.
11576         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
11577         optopt): Use them instead of invoking ## directly; otherwise, the
11578         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
11579
11580 2004-11-19  Bruno Haible  <bruno@clisp.org>
11581
11582         * lib/strtok_r.c: Move comments from here...
11583         * lib/strtok_r.h: ... to here.
11584
11585 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
11586
11587         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
11588         implementations that mishandle size_t overflow.
11589
11590 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
11591
11592         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
11593         might fail.  Problem reported by Yoann Vandoorselaere.
11594         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
11595         implementations that mishandle size_t overflow.
11596
11597 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
11598
11599         * modules/canon-host (Depends-on): Add strdup.
11600
11601 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
11602
11603         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
11604
11605 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
11606
11607         * lib/canon-host.c: Include "strdup.h".
11608         (canon_host): Use getaddrinfo if available, so that IPv6 works.
11609         Use strdup instead of malloc/strcpy to duplicate strings.
11610
11611         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
11612         (human_space_before_unit): New constant.
11613         * lib/human.c (human_readable): Support it.
11614
11615         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
11616         (xgetcwd): Set errno correctly when failing.
11617         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
11618         the failure is actually due to a PATH_MAX problem.
11619
11620         Further getopt changes to make it more likely that glibc will
11621         buy the changes back.
11622         * lib/getopt.c (POSIXLY_CORRECT): New constant.
11623         (getopt): Use it, so to preserve glibc semantic
11624         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
11625         when compiling for libc.
11626         * lib/getopt_.h (__getopt_argv_const): Bring it back.
11627         (getopt_long, getopt_long_only): Use it.
11628
11629         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
11630         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
11631         (getopt): Argv is now char * const *, as per standard.
11632         (_getopt_internal_r, _getopt_internal): Argv is now char **,
11633         not char *__getopt_argv_const *.
11634         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
11635         _getopt_long_only_r): Likewise.
11636         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
11637         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
11638         _getopt_long_r, _getopt_long_only_r): Likewise.
11639         * lib/getopt_.h (__getopt_argv_const): Remove.
11640         (getopt): Argv is now char * const *, as per standard.
11641
11642         * lib/getdate.y (tORDINAL): New token.
11643         (day, relunit): Allow it for relative times.
11644         (relative_time_table): Use tORDINAL for ordinals.
11645
11646 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
11647
11648         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
11649         Document that "second" isn't allowed as an ordinal number.
11650
11651 2004-11-16  Jim Meyering  <jim@meyering.net>
11652
11653         * modules/closeout (Depends-on): Add fpending.
11654
11655 2004-11-15  Jim Meyering  <jim@meyering.net>
11656
11657         * lib/closeout.c: Include "__fpending.h" once again.
11658         Include <stdbool.h>.
11659         (close_stdout): Don't fail just because stdout was closed initially,
11660         since some programs don't write to stdout in the normal course of
11661         operation (other than --version and --help), and we don't want this
11662         function to make e.g. `touch file >&-' fail.
11663         But do fail if it was closed and someone has tried to write to it.
11664         E.g., `printf foo >&-' must fail.
11665
11666 2004-11-13  Jim Meyering  <jim@meyering.net>
11667
11668         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
11669
11670 2004-11-12  Simon Josefsson  <jas@extundo.com>
11671
11672         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
11673         small doc fix is still pending.
11674
11675 2004-11-11  Simon Josefsson  <jas@extundo.com>
11676
11677         * modules/strtok_r: New file.
11678
11679         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
11680         strtok_r.
11681
11682 2004-11-11  Simon Josefsson  <jas@extundo.com>
11683
11684         * m4/strtok_r.m4: New file.
11685
11686         * m4/getopt.m4: Replace opterr.
11687
11688 2004-11-11  Simon Josefsson  <jas@extundo.com>
11689
11690         * lib/strtok_r.h, strtok_r.c: New file.
11691
11692 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
11693
11694         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
11695         of replacing opterr, getopt, etc.  This should handle the
11696         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
11697
11698 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
11699
11700         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
11701         we can stop lying to compilers about the constness of argv when we
11702         are compiled outside glibc.
11703         (getopt, getopt_long, getopt_long_only): Use it.
11704         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
11705         _getopt_internal, getopt): Likewise.
11706         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
11707         _getopt_long_only_r): Likewise.
11708         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
11709         _getopt_long_r, _getopt_long_only_r): Likewise.
11710
11711         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
11712         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
11713         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
11714         the other external symbols.
11715         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
11716         declaration, since the above renaming now works around collisions.
11717
11718 2004-11-11  Jim Meyering  <jim@meyering.net>
11719
11720         * lib/linebreak.c: Remove trailing blanks.
11721         * lib/alloca_.h: Likewise.
11722         * lib/acosl.c: Likewise.
11723         * lib/euidaccess.c: Likewise.
11724         * lib/allocsa.h: Likewise.
11725
11726 2004-11-10  Simon Josefsson  <jas@extundo.com>
11727
11728         * m4/getaddrinfo.m4: New file.
11729
11730 2004-11-10  Simon Josefsson  <jas@extundo.com>
11731
11732         * lib/getaddrinfo.h, getaddrinfo.c: New files.
11733
11734 2004-11-10  Simon Josefsson  <jas@extundo.com>
11735
11736         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
11737         getaddrinfo.
11738
11739         * modules/getaddrinfo: New file.
11740
11741 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11742
11743         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
11744
11745 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11746
11747         * lib/mktime.c (SHR): New macro, which is a portable
11748         substitute for >> that should work even on Crays.
11749         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
11750         Problem reported by Mark D. Baushke in
11751         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
11752         * lib/getdate.y (SHR): Likewise.
11753         (tm_diff): Use it.
11754         * lib/strftime.c (SHR): Likewise.
11755         (tm_diff): Use it.
11756         * lib/quotearg.c (struct quoting_options): Use unsigned int for
11757         quote_these_too, so that right shifts are well defined.  All uses
11758         changed.
11759
11760 2004-11-10  Jim Meyering  <jim@meyering.net>
11761
11762         Ensure that no close failure goes unreported.
11763         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
11764         return early when it seems there's nothing to flush.
11765         Don't include __fpending.h.
11766
11767 2004-11-10  Jim Meyering  <jim@meyering.net>
11768
11769         * modules/closeout (Depends-on): Remove fpending.
11770
11771 2004-11-10  Jim Meyering  <jim@meyering.net>
11772
11773         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
11774
11775 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
11776
11777         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
11778         gl_FUNC_STRFTIME.
11779         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
11780         and AC_REQUIRE when possible, to avoid duplicate checks.
11781         Check for <wchar.h>.
11782
11783 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
11784
11785         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
11786
11787 2004-11-09  Bruno Haible  <bruno@clisp.org>
11788
11789         * m4/sockpfaf.m4: New file.
11790
11791 2004-11-05  Bruno Haible  <bruno@clisp.org>
11792
11793         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
11794         Reported by Mark D. Baushke <mdb@cvshome.org>.
11795
11796 2004-11-04  Bruno Haible  <bruno@clisp.org>
11797
11798         2004-09-11  Bruno Haible  <bruno@clisp.org>
11799                 * allocsa.valgrind: New file.
11800         2004-02-06  Bruno Haible  <bruno@clisp.org>
11801                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
11802                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
11803                 Reported by Christopher Seip <chris.seip@hp.com>.
11804
11805 2004-11-04  Bruno Haible  <bruno@clisp.org>
11806
11807         * modules/allocsa (Files): Add lib/allocsa.valgrind.
11808         (Makefile.am): Distribute it.
11809
11810 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
11811
11812         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
11813         with errno == ERANGE if the buffer is too small.
11814         Problem reported by Mark D. Baushke.
11815
11816 2004-11-03  Albert Chin <china@thewrittenword.com>
11817             Paul Eggert  <eggert@cs.ucla.edu>
11818
11819         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
11820         equivalent, substitute $ac_type for equivalent type rather than
11821         blindly using uint32_t *always* which won't work if uint32_t is not
11822         available.  Define _UINT32_T to work around typedef of uint32_t if
11823         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
11824         2.5.1.
11825
11826 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
11827
11828         * m4/jm-macros.m4: Sync from coreutils.
11829         (gl_MACROS): Check for mbrlen, for pathchk.
11830         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
11831
11832 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
11833
11834         * lib/xreadlink.c (MAXSIZE): New macro.
11835         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
11836         size does not exceed MAXSIZE.  Avoid cast.
11837         As suggested by Mark D. Baushke in
11838         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
11839         if readlink fails with buffer size just under MAXSIZE, try again
11840         with MAXSIZE.
11841
11842 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
11843
11844         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
11845
11846 2004-11-02  Derek R. Price  <derek@ximbiot.com>
11847         and  Paul Eggert  <eggert@cs.ucla.edu>
11848
11849         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
11850         (get_date): Overparenthesize to avoid GCC warning.
11851
11852 2004-11-02  Bruno Haible  <bruno@clisp.org>
11853
11854         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
11855         returns void.
11856
11857 2004-11-02  Bruno Haible  <bruno@clisp.org>
11858
11859         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
11860         function returns void.
11861
11862 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
11863
11864         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
11865         fflush_unlocked, flockfile, funlockfile, funlockfile,
11866         fputs_unlocked, putc_unlocked.
11867
11868 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
11869
11870         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
11871         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
11872         already declared.
11873
11874 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
11875
11876         * modules/getdate (Files): Add doc/getdate.texi.
11877         (Depends-on): Add setenv, xalloc.
11878
11879 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
11880
11881         * lib/getdate.y: Add support for TZ="foo" within a date string.
11882         Fix some bugs near time_t boundaries.  Reject dates with
11883         out-of-range components, e.g., "Sept 31".
11884         Include <stdlib.h>, "setenv.h", "xalloc.h".
11885         (ISDIGIT_LOCALE): Remove; unused.
11886         Note that the TZ and time functions used here are not reentrant.
11887         (mktime_ok, get_tz): New functions.
11888         (TZBUFSIZE): New constant.
11889         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
11890         This requires that we sometimes generate our own TZ="XXX..." setting.
11891
11892 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
11893
11894         * doc/getdate.texi: New file, from coreutils with modifications for
11895         the new TZ parsing.
11896
11897 2004-10-27  Derek R. Price  <derek@ximbiot.com>
11898
11899         * lib/mktime.c (not_equal_tm): Remove redundant check.
11900
11901 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
11902
11903         * modules/regex (lib_SOURCES): Add regex.c.
11904         Reported by James Youngman in
11905         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
11906
11907 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
11908
11909         * lib/getdate.y: Use Bison 1.875 features, and some minor
11910         code cleanups.  This change does not affect semantics.
11911         Don't include <stdlib.h>; no longer needed.
11912         Don't include unlocked-io.h; only the "#if TEST" code uses
11913         stdio, and performance isn't crucial there.
11914         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
11915         Bison 1.875 features as described below.
11916         All uses of "PC." replaced by "pc->".
11917         (YYSTYPE): Add a forward declaration.
11918         (yylex, yyerror): Use full prototypes in forward decls.
11919         Use "%pure-parser" rather than obsolescent "%pure_parser".
11920         Use %parse-param and %lex-param instead of obsolescent
11921         YYPARSE_PARAM and YYLEX_PARAM.
11922         (meridian_table, month_and_day_table, time_units_table,
11923         relative_time_table, time_zone_table, military_table,
11924         lookup_zone, lookup_word, get_date):
11925         Use NULL instead of 0 where appropriate.
11926         (to_hour): Avoid abort (), to avoid a dependency on
11927         stdlib.h.
11928         (yyerror, yylex): Now accepts parser_control * arg.
11929         (main) [TEST]: Use '\0' rather than 0 for char.
11930
11931 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
11932
11933         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
11934
11935 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
11936
11937         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
11938         It's now the caller's responsibility to handle the case where
11939         !HAVE_GETPAGESIZE && !defined getpagesize.
11940
11941         * lib/mktime.c (leapyear): Arg is long int, not int.
11942
11943 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
11944
11945         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
11946
11947 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
11948
11949         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
11950         missing.  Problem reported by James Youngman.
11951
11952 2004-10-16  Simon Josefsson  <jas@extundo.com>
11953
11954         * gnulib-tool: Fix comments.  Fix parse problem.
11955         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
11956
11957 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
11958
11959         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
11960         implementation of getopt_long.  Problem reported by Alexander Taler in:
11961         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
11962
11963 2004-10-15  Bruno Haible  <bruno@clisp.org>
11964
11965         * gnulib-tool: Untabify. Initialize supplied_libname.
11966         (func_usage): More homogenous output.
11967         (func_modules_transitive_closure, func_modules_to_filelist,
11968         func_emit_lib_Makefile_am): New functions.
11969         (func_import): New function, extracted from big case statement. Use
11970         func_get_license, func_modules_transitive_closure,
11971         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
11972         opt_lgpl. Don't use test -a, as it's not portable.
11973         (func_create_testdir): Use func_modules_transitive_closure,
11974         func_modules_to_filelist, func_emit_lib_Makefile_am.
11975
11976 2004-10-15  Bruno Haible  <bruno@clisp.org>
11977
11978         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
11979
11980 2004-10-15  Bruno Haible  <bruno@clisp.org>
11981
11982         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
11983         the portions belonging to each module.
11984         Suggested by Derek Robert Price <derek@ximbiot.com>.
11985
11986 2004-10-12  Simon Josefsson  <jas@extundo.com>
11987
11988         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
11989         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
11990         to real functions.
11991
11992 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
11993
11994         * modules/vsnprintf: New file.
11995
11996 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
11997
11998         * m4/vsnprintf.m4: New file.
11999
12000 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
12001
12002         * lib/vsnprintf.h: New file.
12003         * lib/vsnprintf.c: New file.
12004
12005 2004-10-11  Bruno Haible  <bruno@clisp.org>
12006
12007         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
12008         vsnprintf.
12009
12010 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
12011
12012         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
12013
12014 2004-10-07  Bruno Haible  <bruno@clisp.org>
12015
12016         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
12017         fits into the provided buffer.
12018
12019 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
12020
12021         * lib/diacrit.c, diacrit.h: Add GPL notice.
12022
12023         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
12024         notice.
12025         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
12026         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
12027         This avoids a potential constant-folding bug.
12028
12029 2004-10-05  Bruno Haible  <bruno@clisp.org>
12030
12031         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
12032         for the declaration of strsep.
12033
12034 2004-10-05  Bruno Haible  <bruno@clisp.org>
12035
12036         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
12037
12038 2004-10-04  Simon Josefsson  <jas@extundo.com>
12039
12040         * modules/memmem: New file.
12041         * tests/test-memmem.c: New file.
12042         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
12043
12044 2004-10-04  Simon Josefsson  <jas@extundo.com>
12045
12046         * m4/memmem.m4: New file.
12047
12048 2004-10-04  Simon Josefsson  <jas@extundo.com>
12049
12050         * lib/memmem.h: New file.
12051         * lib/memmem.c: New file, taken from glibc.
12052
12053 2004-10-04  Simon Josefsson  <jas@extundo.com>
12054
12055         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
12056         '#ifdef USE_UNLOCKED_IO'.
12057
12058 2004-10-04  Simon Josefsson  <jas@extundo.com>
12059
12060         * config/srclist.txt: Add memmem from glibc.
12061
12062 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
12063
12064         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
12065
12066         * modules/argmatch, modules/argp, modules/closeout, modules/error,
12067         modules/exclude, modules/getdate, modules/getline,
12068         modules/getndelim2, modules/getpass, modules/getpass-gnu,
12069         modules/getusershell, modules/linebuffer, modules/md5,
12070         modules/mountlist, modules/posixtm, modules/readtokens,
12071         modules/readutmp, modules/regex, modules/sha1,
12072         modules/version-etc, modules/yesno:
12073         Remove dependency on unlocked-io.
12074
12075 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
12076
12077         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
12078
12079         * m4/unlocked-io.m4: Add copyright notice.
12080         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
12081
12082 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
12083
12084         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
12085         * lib/xmalloc.c (xmemdup): Likewise.
12086         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
12087         XFREE): Remove these long-obsolescent macros.
12088         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
12089         * lib/xstrdup.c: Remove.
12090
12091         * lib/regex.c (re_comp): Cast gettext return value to char *,
12092         Problem reported by Martin Neitzel via Mark D. Baushke.
12093
12094 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
12095
12096         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
12097         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
12098         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
12099         regex.c, sha1.c, version-etc.c, yesno.c:
12100         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
12101         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
12102         the includer's responsibility.
12103
12104         Sync from coreutils.
12105
12106         * lib/modechange.c (mode_compile): Don't decrement a pointer that
12107         points to the start of a string, as the C Standard says the
12108         resulting behavior is undefined.
12109
12110         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
12111         simple -> simple_backups, numbered_existing ->
12112         numbered_existing_backups, numbered -> numbered_backups
12113         to avoid shadowing problems.  All uses changed.
12114         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
12115         * lib/backupfile.c (check_extension, numbered_backup):
12116         Rename locals to avoid shadowing 'basename'.
12117         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
12118         once.
12119
12120         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
12121         * lib/.cvsignore: Add getopt.h.
12122
12123 2004-10-04  Bruno Haible  <bruno@clisp.org>
12124
12125         * modules/README: New file.
12126         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
12127         not a module.
12128
12129 2004-10-02  Jim Meyering  <jim@meyering.net>
12130
12131         * lib/dirfd.h, getpagesize.h: Add copyright notice.
12132
12133 2004-10-01  Yoann Vandoorselaere <yoann@prelude-ids.org>
12134
12135         * modules/strsep: New file.
12136
12137 2004-10-01  Yoann Vandoorselaere <yoann@prelude-ids.org>
12138
12139         * m4/strsep.m4: New file.
12140
12141 2004-10-01  Yoann Vandoorselaere <yoann@prelude-ids.org>
12142
12143         * lib/strsep.h: New file.
12144         * lib/strsep.c: New file.
12145
12146 2004-10-01  Simon Josefsson  <jas@extundo.com>
12147
12148         * lib/snprintf.c (snprintf): Handle size==0.
12149
12150 2004-10-01  Simon Josefsson  <jas@extundo.com>
12151             Bruno Haible  <bruno@clisp.org>
12152
12153         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
12154         (snprintf): Declare 'args'.
12155
12156 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
12157
12158         * lib/snprintf.c: Remove comments as to why each header is needed.
12159
12160 2004-10-01  Bruno Haible  <bruno@clisp.org>
12161
12162         * MODULES.html.sh: Add strsep.
12163
12164 2004-09-30  Simon Josefsson  <jas@extundo.com>
12165
12166         * modules/snprintf: New file.
12167
12168 2004-09-30  Simon Josefsson  <jas@extundo.com>
12169
12170         * m4/snprintf.m4: New file.
12171
12172 2004-09-30  Simon Josefsson  <jas@extundo.com>
12173
12174         * lib/snprintf.h, snprintf.c: New files.
12175
12176 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12177
12178         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
12179         (hol_entry_help): Never translate an empty string.
12180         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
12181         * lib/argp.h (OPTION_NO_TRANS): New option.
12182
12183 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
12184
12185         * modules/argp (Maintainer): Replace Simon Josefsson
12186         by Sergey Poznyakoff.
12187
12188 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
12189
12190         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
12191         changes merged back into glibc.
12192
12193 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
12194
12195         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
12196
12197 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
12198
12199         * lib/xvasprintf.c: Include xalloc.h.
12200         (xvasprintf): Use xalloc_die, not xmalloc_die.
12201
12202 2004-09-29  Bruno Haible  <bruno@clisp.org>
12203
12204         * modules/alloca-opt: New file, derived from modules/alloca.
12205         * modules/allocsa: Depend on alloca-opt instead of alloca.
12206         * modules/setenv: Likewise.
12207         * modules/vasnprintf: Likewise.
12208         * MODULES.html.sh: Add alloca-opt.
12209
12210 2004-09-28  Simon Josefsson  <jas@extundo.com>
12211
12212         * gnulib-tool: New parameter --lgpl, to asseert that modules are
12213         LGPL, and to replace license template from GPL to LGPL.
12214
12215 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
12216
12217         * modules/dummy: Change license to LGPL.
12218
12219 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
12220
12221         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
12222
12223 2004-09-24  Simon Josefsson  <jas@extundo.com>
12224
12225         * modules/minmax (License): Change from GPL to LGPL.
12226
12227 2004-09-23  Simon Josefsson  <jas@extundo.com>
12228
12229         * gnulib-tool (--import): Typo.
12230
12231 2004-09-23  Simon Josefsson  <jas@extundo.com>
12232
12233         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
12234
12235 2004-09-22  Bruno Haible  <bruno@clisp.org>
12236
12237         * modules/*: Add 'License' field.
12238         * gnulib-tool: Accept --extract-license option.
12239         (func_get_license): New function.
12240
12241 2004-09-21  Bruno Haible  <bruno@clisp.org>
12242
12243         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
12244         Reported by Simon Josefsson.
12245
12246 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
12247
12248         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
12249         gl_AC_TYPE_LONG_LONG.
12250
12251 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
12252
12253         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
12254
12255 2004-09-18  Simon Josefsson  <jas@extundo.com>
12256         and  Paul Eggert  <eggert@cs.ucla.edu>
12257
12258         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
12259         calls with autoreconf.  Define GL_LIB.
12260
12261 2004-09-14  Karl Berry  <karl@gnu.org>
12262
12263         * config/srclist.txt: unsync setenv.c, sigh.
12264
12265 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
12266
12267         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
12268         Problem reported by Bruno Haible in:
12269         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
12270
12271 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
12272
12273         * config/srclist.txt: Comment out argp-pvh.c.
12274
12275 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
12276
12277         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
12278         in case some system header has #define'd it.  Problem reported by
12279         Soeren D. Schulze in
12280         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
12281
12282 2004-09-09  Karl Berry  <karl@gnu.org>
12283
12284         * regex.[ch]: delete from the root.  These were supposed to be
12285                 synced with emacs cvs, but this has not happened for about
12286                 a year, and anyway nothing else uses emacs regex.[ch].
12287                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
12288                 lib/regex[.ch] is untouched.
12289
12290 2004-09-09  Bruno Haible  <bruno@clisp.org>
12291
12292         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
12293
12294 2004-09-09  Bruno Haible  <bruno@clisp.org>
12295
12296         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
12297         modifications.
12298         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
12299
12300 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
12301
12302         * modules/xvasprintf: New file.
12303         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
12304
12305 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
12306
12307         * lib/xvasprintf.h: New file.
12308         * lib/xvasprintf.c: New file.
12309         * lib/xasprintf.c: New file.
12310
12311 2004-09-08  Bruno Haible  <bruno@clisp.org>
12312
12313         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
12314
12315 2004-09-08  Bruno Haible  <bruno@clisp.org>
12316
12317         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
12318         length is > INT_MAX.
12319         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
12320         more.
12321
12322 2004-09-08  Bruno Haible  <bruno@clisp.org>
12323
12324         * lib/stdint_.h: New file, taken from GNU clisp.
12325
12326 2004-09-08  Bruno Haible  <bruno@clisp.org>
12327             Oskar Liljeblad  <oskar@osk.mine.nu>
12328
12329         * modules/stdint: New file.
12330         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
12331
12332 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
12333
12334         Import from coreutils.
12335         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
12336         strings on unbounded length.  alloca's performance benefits aren't
12337         that important here.
12338         (V_STRDUP): Remove.
12339         (parse_with_separator): New function, with most of the internals
12340         of the old parse_user_spec.  Allow user to omit both user and group,
12341         for compatibility with FreeBSD.
12342         Clone only the user name, not the entire spec.
12343         Do not set *uid, *gid unless entirely successful.
12344         Avoid memory leak in some failing cases.
12345         Fix regression for USER.GROUP reported by Dmitry V. Levin in
12346         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
12347         (parse_user_spec): Rewrite to use parse_with_separator.
12348
12349 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
12350
12351         * modules/userspec: Don't depend on alloca.
12352
12353 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
12354
12355         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
12356
12357 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
12358
12359         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
12360         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
12361         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
12362
12363 2004-08-16  Simon Josefsson  <jas@extundo.com>
12364
12365         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
12366         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
12367         Add --dry-run for --import.
12368         Let user provided command line parameters override configure.ac
12369         settings.
12370
12371 2004-08-12  Simon Josefsson  <jas@extundo.com>
12372
12373         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
12374         as discussed with Paul Eggert in threads rooted at
12375         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
12376         and
12377         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
12378         Before, the test was empty, and relied on ELIDE_CODE in source
12379         code.)
12380         (gl_PREREQ_GETOPT): New macro.
12381         (gl_GETOPT): Use them.
12382
12383 2004-08-12  Simon Josefsson  <jas@extundo.com>
12384
12385         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
12386         * lib/getopt_.h: Renamed from getopt.h.
12387
12388 2004-08-12  Simon Josefsson  <jas@extundo.com>
12389
12390         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
12391         Change default library name from libfoo to libgnu.
12392         Now, if you have a configure.ac that says:
12393                 gl_SOURCE_BASE(gl)
12394                 gl_M4_BASE(gl/m4)
12395                 gl_MODULES(error getopt etcetera)
12396                 gl_INIT
12397         you can import all you need by running:
12398                 ../gnulib/gnulib-tool --import
12399
12400         * modules/getopt (Files): Rename getopt.h to getopt_.h.
12401         (Makefile.am): Rewrite, use logic from argz.
12402         (Include): Use <getopt.h> instead of "getopt.h".
12403
12404 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
12405
12406         * modules/argp (Files): Add m4/unlocked-io.m4.
12407         (Depends-on): Add extensions.
12408
12409 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
12410
12411         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
12412         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
12413         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
12414         Check for program_invocation_name, program_invocation_short_name,
12415         flockfile, funlockfile, features.h, _getopt_long_only_r.
12416
12417 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
12418
12419         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
12420         its complicated substitute.
12421         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
12422         and program_invocation_name.
12423         (__argp_basename) [!_LIBC]: Remove; the only use was
12424         replaced by its body.
12425         (__argp_short_program_name): Change condition from
12426         !defined __argp_short_program_name to
12427         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
12428         to match argp-namefrob.h.
12429         (__argp_failure): Don't assume strerror_r returns char *.
12430         * lib/argp-parse.c (N_): Define unconditionally.
12431         (argp_default_options): Fill out initializers with 0 to avoid
12432         gcc warnings.
12433
12434 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
12435
12436         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
12437         getopt1.c.
12438
12439 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
12440
12441         Merge from coreutils.
12442
12443         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
12444
12445         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
12446         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
12447
12448 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
12449
12450         Merge from coreutils.
12451
12452         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
12453         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
12454         for Reliant Unix 5.43.
12455
12456         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
12457         (union fooround): Use uintmax_t, not long int.
12458         The rest is a merge from libc:
12459         [defined _LIBC]: Include <shlib-compat.h>.
12460         (_obstack) [defined _LIBC]: Remove after 2.3.4.
12461
12462         * lib/settime.c (settime): Recode to avoid warning with
12463         Sun Forte C 6U2.
12464
12465         * lib/strverscmp.c: Convert to UTF-8.
12466
12467 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
12468
12469         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
12470         m4/uintmax_t.m4.
12471
12472 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
12473
12474         * modules/xalloc-die: New file.
12475         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
12476
12477         * modules/md5 (Files): Add m4/uint32_t.m4.
12478         * modules/sha1: Renamed from modules/sha.
12479         (Files):
12480         Rename lib/sha.h to lib/sha1.h.
12481         Rename lib/sha.c to lib/sha1.c.
12482         Rename m4/sha.m4 to m4/sha1.m4.
12483         (lib_SOURCES): Likewise.
12484         (configure.ac): Rename gl_SHA to gl_SHA1.
12485         (Include): sha.h -> sha1.h.
12486
12487 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
12488
12489         * m4/uint32_t.m4, uintptr_t.m4: New files.
12490         * m4/sha1.m4: Renamed from sha.m4.
12491         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
12492
12493 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
12494
12495         * lib/obstack.h (obstack_empty_p):
12496         Don't assume that chunk->contents is suitably aligned.
12497         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
12498         Likewise. Problem reported by Benno in
12499         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
12500
12501         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
12502         readable.  This could be improved further but it'd take some work.
12503
12504 2004-08-08  Simon Josefsson  <jas@extundo.com>
12505
12506         * modules/xgethostname (Depends-on): Remove exit and error (not
12507         used).
12508
12509         * modules/getpass-gnu: Add getpass.h.
12510         (Depends-on): Add stdbool.
12511         * modules/getpass: Add getpass.h.
12512
12513 2004-08-08  Simon Josefsson  <jas@extundo.com>
12514
12515         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
12516         Check getpass declaration.
12517
12518 2004-08-08  Simon Josefsson  <jas@extundo.com>
12519
12520         * lib/xgethostname.c: Don't include error.h (not used).
12521
12522         * lib/getpass.h: Add.
12523         * lib/getpass.c: Include getpass.h first.
12524
12525 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
12526
12527         * lib/xalloc-die.c: New files.
12528         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
12529         All uses removed.
12530         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
12531         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
12532         xalloc-die.c.
12533         (_, N_, xalloc_die): Move to xalloc-die.c.
12534         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
12535         so that we needn't mess with xalloc_msg_memory_exhausted.
12536
12537         * lib/sha1.h: Renamed from sha.h.
12538         (SHA1_H): Renamed from _SHA_H.
12539         (sha1_ctx): Renamed from sha_ctx.
12540         (sha1_init_ctx): Renamed from sha_init_ctx.
12541         (sha1_process_block): Renamed from sha_process_block.
12542         (sha1_process_bytes): Renamed from sha_process_bytes.
12543         (sha1_finish_ctx): Renamed from sha_finish_ctx.
12544         (sha1_read_ctx): Renamed from sha_read_ctx.
12545         (sha1_stream): Renamed from sha_stream.
12546         (sha1_buffer): Renamed from sha_buffer.
12547         * lib/sha1.c: Likewise; renamed from sha.c.
12548         Do not include <sys/types.h>.
12549         Include <stddef.h> rather than <stdlib.h>.
12550
12551 2004-08-08  Bruno Haible  <bruno@clisp.org>
12552
12553         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
12554         FILESYSTEM_PREFIX_LEN.
12555         * lib/progreloc.c: Likewise.
12556         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
12557
12558 2004-08-06  Simon Josefsson  <jas@extundo.com>
12559
12560         * modules/progname (Depends-on): Don't depend on stdbool.
12561
12562 2004-08-06  Simon Josefsson  <jas@extundo.com>
12563
12564         * modules/getsubopt: New file.
12565         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
12566         getsubopt.
12567
12568 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
12569
12570         More merge from coreutils.
12571
12572         * m4/utimens.m4, utimecmp.m4: New files.
12573         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
12574         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
12575         prereq.m4, sha.m4: Import changes from coreutils.
12576
12577 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
12578
12579         More merge from coreutils.
12580         * modules/raise, modules/readtokens0, modules/utimens,
12581         modules/utimecmp, module/xnanosleep: New files.
12582         * modules/strftime: Add lib/strftime.h.
12583         Change include from <time.h> to "strftime.h".
12584         * modules/yesno: Add lib/yesno.h.
12585         * modules/backupfile: Remove lib/addext.c.
12586         * modules/euidaccess: Add stat-macros.h.
12587         * modules/canonicalize, modules/euidaccess,
12588         modules/filemode, modules/lchown, modules/makepath,
12589         modules/rmdir, modules/stat: Likewise.
12590
12591 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
12592
12593         Merge from tar.
12594         * lib/argp-help.c (make_hol, hol_append): Don't assume that
12595         SIZE_MAX is a valid preprocessor constant.
12596         (__argp_basename): Change from "#ifndef _LIBC"
12597         to "#ifndef __argp_short_program_name", so that
12598         we don't compile these functions for tar.
12599
12600         More merges from coreutils.
12601         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h,
12602         lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c,
12603         lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
12604         * lib/addext.c: Remove; no longer needed.
12605         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
12606         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
12607         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
12608         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
12609         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
12610         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
12611         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
12612         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
12613         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
12614         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
12615         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
12616         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
12617         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
12618         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
12619         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
12620         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
12621         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
12622         Import changes from coreutils.
12623
12624 2004-08-05  Simon Josefsson  <jas@extundo.com>
12625
12626         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
12627
12628 2004-08-05  Simon Josefsson  <jas@extundo.com>
12629
12630         * m4/getsubopt.m4: New file.
12631
12632 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
12633
12634         Merge from coreutils.
12635
12636         * m4/c-strtod.m4, canonicalize.m4, fcntl-safer.m4, getcwd-path-max.m4:
12637         New files.
12638
12639         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
12640         FILESYSTEM_PREFIX_LEN ->
12641         FILE_SYSTEM_PREFIX_LEN.
12642         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
12643         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
12644         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
12645         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
12646
12647         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
12648         prerequisite modules now handle the DOS stuff.
12649         Don't check for unistd.h.
12650
12651 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
12652
12653         Merge from coreutils.
12654
12655         * lib/.gdb-history: Remove; this doesn't belong here.
12656
12657         * lib/c-strtod.c, c-strtod.h, c-strtold.c, cycle-check.c,
12658         cycle-check.h, dev-ino.h, canonicalize.h, canonicalize.c,
12659         fcntl-safer.h, fcntl-safer.c, getcwd.c: New files.
12660
12661         * lib/dirname.h: Include <stdbool.h>.
12662         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
12663         for consistency with POSIX terminology.  All uses changed.
12664         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
12665         (strip_trailing_slashes): Use bool for booleans.
12666         * lib/stripslash.c (strip_trailing_slashes): Likewise.
12667
12668         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
12669         sometimes returns a positive errno value even when it succeeds.
12670         (print_errno_message) [!LIBC]: Fall back on strerror if
12671         __strerror_r fails.
12672
12673         * lib/path-concat.c (mempcpy): Don't define if a system header defines
12674         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
12675         (longest_relative_suffix): New function.
12676         (path_concat): Use it.  Assume first argument is not NULL.
12677         Port to DOS.  Omit redundant separators.
12678         Report an error instead of returning NULL.
12679         Use mempcpy instead of memcpy.
12680         (xpath_concat): Remove: not declared or used.
12681
12682         * lib/same.h: Include <stdbool.h>
12683         (same_name): Return bool, not int.
12684         * lib/same.c (same_name): Likewise.
12685         (errno): Don't declare; we assume C89 or better now.
12686
12687         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
12688         if not already defined.
12689
12690         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
12691         * lib/dup-safer.c (errno): Likewise.
12692
12693 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
12694
12695         Merge from coreutils.
12696         * modules/c-strtod, modules/c-strtold, modules/canonicalize,
12697         modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
12698         * modules/path-concat: Don't depend on strdup.
12699
12700 2004-08-03  Simon Josefsson  <jas@extundo.com>
12701
12702         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
12703         * lib/progname.h: Don't include stdbool.h.
12704
12705 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
12706
12707         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
12708         * MODULES.html.sh (func_all_modules): Remove fatal.
12709
12710 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
12711
12712         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
12713
12714 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
12715
12716         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
12717         working.
12718
12719 2004-08-02  Simon Josefsson  <jas@extundo.com>
12720
12721         * lib/getsubopt.h: New file, with comments from Bruno Haible.
12722         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
12723         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
12724
12725 2004-08-01  Simon Josefsson  <jas@extundo.com>
12726
12727         * lib/xgetdomainname.c: Include stdlib.h, for free().
12728
12729 2004-07-19  Bruno Haible  <bruno@clisp.org>
12730
12731         * MODULES.html.sh (func_all_modules): Add dummy.
12732
12733 2004-07-16  Simon Josefsson  <jas@extundo.com>
12734
12735         * modules/dummy: New file.
12736
12737 2004-07-16  Simon Josefsson  <jas@extundo.com>
12738
12739         * lib/dummy.c: New file.
12740
12741 2004-07-16  Bruno Haible  <bruno@clisp.org>
12742
12743         * lib/backupfile.h: Add extern "C" for C++.
12744         * lib/closeout.h: Likewise.
12745         * lib/copy-file.h: Likewise.
12746         * lib/findprog.h: Likewise.
12747         * lib/full-write.h: Likewise.
12748         * lib/pathname.h: Likewise.
12749         * lib/progname.h: Likewise.
12750         * lib/stpcpy.h: Likewise.
12751         * lib/stpncpy.h: Likewise.
12752         * lib/strcase.h: Likewise.
12753         * lib/strstr.h: Likewise.
12754         * lib/xalloc.h: Likewise.
12755
12756         * lib/mbswidth.h: Add extern "C" for C++.
12757         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
12758
12759 2004-07-13  Robert Millan  <robertmh@gnu.org>
12760
12761         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
12762
12763 2004-07-09  Simon Josefsson  <jas@extundo.com>
12764
12765         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
12766         failed without this.)
12767
12768 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
12769
12770         * modules/chown (Files): Add lib/fchown-stub.c, since
12771         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
12772
12773 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
12774
12775         * lib/fchown-stub.c: New file.
12776
12777 2004-06-24  Jim Meyering  <jim@meyering.net>
12778
12779         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
12780
12781 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
12782
12783         * modules/argz: Omit "#include".
12784
12785         * MODULES.html.sh (func_all_modules): Add calloc, to match
12786         2004-06-01 addition of calloc module.
12787
12788 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
12789
12790         * m4/argz.m4: New file, which is autoupdated from libtool.
12791
12792 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
12793
12794         * lib/argz.c, argz_.h: New files, which are autoupdated from libtool.
12795
12796 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
12797
12798         * config/srclist-update: Don't insist on "USA." before the
12799         close-comment, as libtool omits the period and puts the */ on a
12800         separate line.
12801         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
12802         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
12803
12804 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
12805
12806         * modules/argz: New file.
12807         * MODULES.html.sh (func_all_modules): Add argz.
12808
12809 2004-06-12  Jim Meyering  <jim@meyering.net>
12810         and  Paul Eggert  <eggert@cs.ucla.edu>
12811
12812         * modules/hash (Files): Add lib/xalloc.h.
12813         * modules/pipe (Depends-on): Add wait-process.
12814         * modules/stat (Depends-on): Add xalloc.
12815         * modules/userspec (Files): Add lib/userspec.h.
12816         * modules/xstrto
12817
12818         Upgrade from gettext-0.13.
12819         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
12820         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
12821         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
12822
12823 2004-06-10  Jim Meyering  <jim@meyering.net>
12824
12825         * lib/calloc.c: New file.
12826
12827 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
12828
12829         * lib/getdate.y (yylex): Allow space between sign and number.
12830         Problem reported by Dan Jacobson.
12831
12832 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
12833
12834         Merge from coreutils CVS.
12835
12836         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
12837         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
12838         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
12839         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
12840         xstrtol.m4: Fix copyright date and/or serial number.
12841
12842         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
12843         See if we need an fchown replacement.
12844         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
12845         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
12846         and use the replacement function if we detect either defect.
12847
12848         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
12849         gl_UTIMECMP.
12850
12851 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
12852         and  Jim Meyering  <jim@meyering.net>
12853
12854         Merge from coreutils CVS.
12855
12856         * lib/stat-macros.h: New file, with contents from file-type.h
12857         and coreutils' system.h.
12858         * lib/file-type.c: Include "stat-macros.h".
12859         * lib/file-type.h (file_type): Move all macro definitions to new file,
12860         stat-macros.h.
12861
12862         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
12863         Wrap old code with this conditional.
12864         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
12865         function that does not dereference symlinks.
12866         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
12867
12868         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
12869         dependency problems.
12870         (xreadlink): Accept new arg SIZE, for efficiency.
12871         All decls and uses changed.
12872         * lib/xreadlink.h: Include <stddef.h>, for size_t.
12873
12874         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
12875         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
12876
12877         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
12878         sysexits.h.
12879
12880 2004-06-01  Jim Meyering  <jim@meyering.net>
12881
12882         * m4/calloc.m4: New file.
12883
12884 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
12885
12886         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
12887         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
12888         Also, fix a typo in a diagnostic.
12889
12890 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
12891
12892         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
12893         or AC_FUNC_REALLOC.
12894
12895 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
12896
12897         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
12898         macros to be defined.
12899         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
12900         the allocator returns NULL because the requested size is zero.
12901
12902 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
12903
12904         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
12905         var.  Add comment explaining why libc still defines it.  This
12906         merges the following patch from glibc:
12907         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
12908
12909 2004-05-20  Andreas Schwab  <schwab@suse.de>
12910
12911         * m4/free.m4: Replace free if it not known to work, not the other
12912         way round.
12913
12914 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
12915
12916         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
12917         present in glibc since revision 1.1 of this file.
12918         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
12919         obstack_alignment_mask, obstack_alloc, obstack_base,
12920         obstack_blank, obstack_blank_fast, obstack_chunk_size,
12921         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
12922         obstack_grow0, obstack_init, obstack_int_grow,
12923         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
12924         obstack_next_free, obstack_object_size, obstack_ptr_grow,
12925         obstack_ptr_grow_fast, obstack_room): Remove declarations of
12926         nonexistent functions.
12927
12928 2004-05-18  Karl Berry  <karl@gnu.org>
12929
12930         * config/srclist.txt: break link for vasnprintf.c.
12931
12932 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
12933
12934         Port obstack to the AS/400, where pointers are 16 bytes wide and
12935         you cannot cast an integer to a valid pointer.  This patch is
12936         currently waiting to be integrated into glibc; see
12937         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
12938
12939         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
12940         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
12941         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
12942         (struct obstack): temp member is now a union of a pointer and
12943         an integer, instead of an integer.  All integer uses changed.
12944         This does not affect the physical layout of struct obstack,
12945         except on hosts (like the AS/400) where the size or alignment of
12946         void * is greater than that of ptrdiff_t.
12947         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
12948         __STDC__)]: Store temporary in pointer member of union, not
12949         integer member.
12950         * lib/obstack.c: Include <stddef.h>, for offsetof.
12951         (struct fooalign): Remove; it doesn't need a name.
12952         (union fooround): Change double to long double, and add void *.
12953         (DEFAULT_ALIGNMENT): Use offsetof to compute.
12954         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
12955         not a macro.  Hence the values are always int; so remove all
12956         casts-to-int in uses.
12957
12958 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
12959
12960         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
12961         we can get this patch merged into glibc.
12962
12963 2004-05-17  Derek R. Price  <derek@ximbiot.com>
12964             Paul Eggert  <eggert@cs.ucla.edu>
12965
12966         * m4/argp: Depend on alloca.
12967
12968 2004-05-17  Derek R. Price  <derek@ximbiot.com>
12969             Paul Eggert  <eggert@cs.ucla.edu>
12970
12971         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
12972         freecoding.
12973
12974 2004-05-17  Bruno Haible  <bruno@clisp.org>
12975
12976         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
12977         precision that consists of a '.' followed by an empty digit string.
12978         Patch by Tor Lillqvist <tml@iki.fi>.
12979
12980 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
12981
12982         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
12983         for backward compatibility with older code.  We need our own
12984         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
12985         it under some other name, and our alloca.h will define it.
12986
12987 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
12988             Derek Price  <derek@ximbiot.com>
12989
12990         * lib/alloca.c: Include <alloca.h>, to get our interface.
12991         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
12992         include <alloca.h> first.  Use C89 prototype for alloca; this
12993         requires including <stddef.h> for size_t.  Use extern "C" if C++.
12994         Use #elif for simplicity, since we can assume C89 now.
12995         Don't try to source the system alloca.h since it will not be found
12996         and to prevent recursively including its replacement.
12997         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
12998         * lib/regex.c: Likewise.
12999
13000 2004-05-16  Derek Price  <derek@ximbiot.com>
13001             Paul Eggert  <eggert@cs.ucla.edu>
13002
13003         getline cleanup.  This changes the getndelim2 API: both order of
13004         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
13005         no delimiter).
13006
13007         * lib/getline.c: Don't include stddef.h or stdio.h, since our
13008         interface does that.
13009         (getline): Always use getdelim, so that we don't have two
13010         copies of this code.
13011         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
13012         if available.
13013         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
13014         (GETNDELIM2_MAXIMUM): New macro.
13015         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
13016         instead of the old practice of delim2==0.  All callers changed.
13017         Return -1 on overflow, instead of returning junk.
13018         Do not set *linesize unless allocation succeeds.
13019         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
13020         that we include sys/types.h.
13021         * lib/getnline.h: Likewise.
13022         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
13023         (getndelim2): Reorder arguments.
13024         * lib/getnline.c (getnline, getndelim):
13025         Don't discard the NMAX argument.
13026         (getnline): Invoke getndelim, to avoid code duplication.
13027         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
13028         of (size_t) -1 by callers of the getnline family.
13029
13030 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
13031
13032         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
13033         Check for gettimeofday.
13034         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
13035         Check for settimeofday, stime.
13036
13037 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
13038
13039         * lib/nanosleep.c (suspended): Change its type from int to
13040         sig_atomic_t volatile.
13041         (first_call): Make it private to rpl_nanosleep, and have it
13042         be zero initially as that's a bit faster.
13043         (my_usleep): Round up fractional times instead of truncating them,
13044         as this is the usual meaning for 'sleep'.
13045
13046         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
13047         doesn't work.
13048         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
13049         (ENOSYS): Define if not defined.
13050         (settime): Fall back on stime if it exists and settimeofday fails.
13051         But don't bother with fallbacks if a method fails with errno == EPERM.
13052
13053 2004-05-11  Jim Meyering  <jim@meyering.net>
13054
13055         Prior to this change, the save_cwd caller required read access to the
13056         current directory on most systems (ones with the fchdir function).
13057
13058         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
13059         fails, try write-only, and finally, resort to using xgetcwd.
13060
13061 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
13062
13063         * lib/obstack.c, obstack.h: Import changes from libc.
13064
13065 2004-04-28  Bruno Haible  <bruno@clisp.org>
13066
13067         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
13068         also implicitly appends .exe to executables.
13069         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
13070         accepts Windows pathnames.
13071         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
13072         Treat Cygwin like Windows, since it now accepts Windows pathnames.
13073         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
13074         Treat Cygwin like Windows, since it now accepts Windows pathnames.
13075         Reported by Derek Robert Price <derek@ximbiot.com>.
13076
13077 2004-04-21  Karl Berry  <karl@gnu.org>
13078
13079         * config/srclist.txt (localcharset.c): break sync.
13080
13081 2004-04-20  Paul Eggert  <eggert@twinsun.com>
13082
13083         * m4/host-os.m4: Add a copyright notice.
13084
13085 2004-04-20  Jim Meyering  <jim@meyering.net>
13086
13087         Change UTILS_ to gl_ in AC_DEFINE'd names.
13088         Change utils_- and jm_-prefixed variables, too.
13089         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
13090         UTILS_FUNC_MKDIR_TRAILING_SLASH.
13091         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
13092
13093         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
13094         Don't emit trailing blanks.
13095         Also rename jm_-prefixed variables to have gl_ prefix.
13096
13097         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
13098         Also rename jm_-prefixed variables to have gl_ prefix.
13099
13100         * m4/jm-macros.m4: Reflect the renamings.
13101         * m4/prereq.m4: Likewise.
13102
13103 2004-04-20  Jim Meyering  <jim@meyering.net>
13104
13105         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
13106         memory.
13107
13108 2004-04-20  Jim Meyering  <jim@meyering.net>
13109             Bruno Haible  <bruno@clisp.org>
13110
13111         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
13112         memory when realloc fails.
13113
13114 2004-04-19  Jim Meyering  <jim@meyering.net>
13115
13116         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
13117         now that readutmp.c may call `free (0)'.
13118
13119 2004-04-19  Bruno Haible  <bruno@clisp.org>
13120
13121         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
13122         * m4/inttypes_h.m4: Likewise.
13123         * m4/stdint_h.m4: Likewise.
13124         * m4/intmax_t.m4: Likewise.
13125         * m4/uintmax_t.m4: Likewise.
13126
13127 2004-04-18  Jim Meyering  <jim@meyering.net>
13128
13129         * m4/prereq.m4: Don't forbid jm_ prefix.
13130
13131         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
13132         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
13133         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
13134         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
13135         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
13136         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
13137         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
13138         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
13139         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
13140         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
13141         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
13142         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
13143         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
13144         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
13145         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
13146         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
13147         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
13148         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
13149         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
13150
13151 2004-04-18  Jim Meyering  <jim@meyering.net>
13152
13153         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
13154         failure, don't leak memory and do call END_UTMP_ENT.
13155
13156 2004-04-16  Jim Meyering  <jim@meyering.net>
13157
13158         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
13159         coreutils' stat program.
13160         (gl_PREREQ): Don't require jm_PREREQ_STAT.
13161
13162 2004-04-11  Paul Eggert  <eggert@twinsun.com>
13163
13164         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
13165         C89.
13166         (CHAR_BIT): Remove, since we assume C89.
13167         Include <stdint.h> if available, as per current Autoconf CVS advice.
13168
13169 2004-03-31  Jim Meyering  <jim@meyering.net>
13170
13171         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
13172         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
13173         * m4/xalloc.m4: Likewise.
13174
13175 2004-03-30  Paul Eggert  <eggert@twinsun.com>
13176
13177         Merge from coreutils.
13178
13179         * m4/inttostr.m4: New file.
13180         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
13181         Require AM_STDBOOL_H and gl_TIMESPEC instead.
13182         Require gl_CLOCK_TIME.
13183         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
13184
13185 2004-03-30  Paul Eggert  <eggert@twinsun.com>
13186
13187         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
13188         not bool, to be more consistent with Unix conventions.
13189         Suggested by Bruno Haible.
13190
13191         Merge from coreutils.
13192
13193         * lib/imaxtostr.c, inttostr.c, inttostr.h, offtostr.c, umaxtostr.c:
13194         New files.
13195
13196         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
13197         the usual <time.h> dance.
13198         (get_date): Change signature to support fractional time stamps.
13199         All callers changed.
13200         * lib/getdate.y: Include "getdate.h" first, as we can now
13201         assume C89 and don't need to worry about 'const'.
13202         Similarly, include "unlocked-io.h" near start, not in middle.
13203         Include <limits.h>.
13204         (textint.value): Use long int rather than int.
13205         (textint.digits): Use size_t rather than int.
13206         (BILLION, LOG10_BILLION): New constants.
13207         (parser_control): New member rel_ns.  Members day_ordinal,
13208         time_zone, month, day, hour, minutes, rel_year, rel_month,
13209         rel_day, rel_hour, rel_minutes, rel_seconds
13210         are now long int, not int.  Member seconds is now struct timespec,
13211         not int.  New member timespec_seen.  Members dates_seen, days_seen,
13212         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
13213         not int.
13214         (%union.intval): Now long int, not int.
13215         New member timespec.
13216         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
13217         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
13218         (spec): Now is a timespec or an item list.
13219         (timespec, items): New nonterminals.
13220         (time, rel, relunit, number, get_date):
13221         Add support for fractional seconds.
13222         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
13223         (gmtime, localtime, mktime): Remove decls; not needed with C89.
13224         (to_hour): First arg is now long int, not int.
13225         (to_year): Returns long int, not int.
13226         Don't treat year -70 like 70.
13227         (tm_diff): Returns long int, not int.
13228         (lookup_word): Use bool instead of int when appropriate.
13229         (yylex): Use size_t for count, not int.
13230         Detect overflow when parsing large integer constants.
13231         Add support for fractions.
13232         (get_date): Make pointers 'const' if possible.
13233         Use more-portable code to detect integer overflow.
13234         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
13235         Don't use ctime; it's not reliable if the year has >4 digits.
13236
13237         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
13238         This is for compatibility with BSD.
13239
13240         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
13241         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
13242         From coreutils' system.h.
13243
13244         * lib/userspec.c: Don't include "posixver.h".
13245         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
13246         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
13247         compatible extension.  Simplify code by removing a boolean int
13248         that was always nonzero if a string was nonnull.
13249
13250 2004-03-30  Jim Meyering  <jim@meyering.net>
13251
13252         Merge from coreutils.
13253
13254         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
13255         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
13256         on some systems one must include <grp.h> before it.
13257         Reported by Christian Krackowizer.
13258
13259 2004-03-30  Jim Meyering  <jim@meyering.net>
13260
13261         Merge from coreutils.
13262
13263         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
13264
13265         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
13266         an empty input stream.
13267
13268         * lib/readtokens.c: Include <stdbool.h>.
13269         (readtoken): Use `size_t' rather than int/long.
13270         All callers adjusted.
13271         Use `bool' rather than `int' where appropriate.
13272         Use memset rather than an explicit loop.
13273         Use x2nrealloc rather than xrealloc.
13274         Allow the use of `\0' as a delimiter.
13275         (readtokens): Likewise.
13276         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
13277
13278 2004-03-30  Jim Meyering  <jim@meyering.net>
13279
13280         * m4/realloc.m4: Remove file, since now it does no more than
13281         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
13282         the `configure.ac' section of module/realloc.
13283         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
13284
13285 2004-03-30  Bruno Haible  <bruno@clisp.org>
13286
13287         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
13288         nonnull.
13289
13290 2004-03-29  Paul Eggert  <eggert@twinsun.com>
13291
13292         Merge changes to getloadavg.c from coreutils and Emacs.
13293
13294         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
13295         Define to an expression, not to the empty string.
13296         Include cloexec.h and xalloc.h.
13297         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
13298         Use set_cloexec_flag rather than rolling our own.
13299         * lib/cloexec.c, cloexec.h: New files.
13300
13301 2004-03-29  Paul Eggert  <eggert@twinsun.com>
13302
13303         * m4/cloexec.m4: New file.
13304
13305 2004-03-18  Paul Eggert  <eggert@twinsun.com>
13306
13307         * lib/getopt.h: Sync with libc CVS.
13308
13309 2004-03-18  Paul Eggert  <eggert@twinsun.com>
13310             Bruno Haible  <bruno@clisp.org>
13311
13312         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
13313         mbswidth.
13314
13315 2004-03-18  Paul Eggert  <eggert@twinsun.com>
13316             Bruno Haible  <bruno@clisp.org>
13317
13318         * lib/mbswidth.h: Include <wchar.h> only if
13319         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
13320         <wchar.h>.
13321         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
13322
13323 2004-03-09  Paul Eggert  <eggert@twinsun.com>
13324
13325         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
13326         Sync with libc CVS.
13327         * lib/getopt_int.h: New file, also synced from libc.
13328
13329 2004-03-09  Paul Eggert  <eggert@twinsun.com>
13330
13331         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
13332         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
13333         Bring back getopt.c, getopt.h, getopt1.c.
13334
13335 2004-03-07  Paul Eggert  <eggert@twinsun.com>
13336
13337         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
13338         All uses changed.  Check for sa_sigaction member; this fixes
13339         a bug first reported by Jason Andrade in
13340         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
13341
13342 2004-03-07  Paul Eggert  <eggert@twinsun.com>
13343
13344         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
13345         '#if' expressions.  Unlike the code it replaces, it does not
13346         depend on (defined _SC_PAGESIZE).  However, it does depend on
13347         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
13348         first reported by Jason Andrade in
13349         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
13350
13351 2004-02-25  Simon Josefsson  <jas@extundo.com>
13352
13353         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
13354
13355 2004-02-25  Simon Josefsson  <jas@extundo.com>
13356
13357         * lib/strdup.h: New file.
13358         * lib/strdup.c: Include it.
13359         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
13360         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
13361
13362 2004-02-23  Karl Berry  <karl@gnu.org>
13363
13364         * doc/maintain.texi, standards.texi, make-stds.texi: new files
13365         (from fencepost.gnu.org:/gd/gnuorg).
13366
13367 2004-02-23  Karl Berry  <karl@gnu.org>
13368
13369         * config/srclistvars.sh (GNUORG) [karl]: redefine.
13370         * config/srclist.txt: add maintain/standards documents.
13371
13372 2004-02-18  Bruno Haible  <bruno@clisp.org>
13373
13374         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
13375         Reported by Derek Robert Price <derek@ximbiot.com>.
13376
13377 2004-02-16  Karl Berry  <karl@gnu.org>
13378
13379         * config/mkinstalldirs, install-sh: update from automake.
13380
13381 2004-02-06  Karl Berry  <karl@gnu.org>
13382
13383         * m4/po.m4: update from gettext 0.14.1.
13384
13385 2004-02-06  Karl Berry  <karl@gnu.org>
13386
13387         * lib/config.charset: update from gettext 0.14.1.
13388
13389 2004-02-05  Paul Eggert  <eggert@twinsun.com>
13390
13391         Add comments and code, prompted by suggestions from Bruno Haible
13392         for sh-quote.
13393         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
13394         describing the enum quoting_style values.
13395         * lib/quotearg.c (quotearg_alloc): New function.
13396         (quotearg_buffer_restyled): Treat lone { and } as special.
13397         Treat = as special.  Work around bug with older shells
13398         that "see" a '\' that is really the 2nd byte of a multibyte char.
13399         Quote empty string with shell_quoting_style.
13400
13401 2004-02-03  Bruno Haible  <bruno@clisp.org>
13402
13403         * m4/pipe.m4: New file, from GNU gettext.
13404
13405 2004-02-03  Bruno Haible  <bruno@clisp.org>
13406
13407         * lib/pipe.h: New file, from GNU gettext.
13408         * lib/pipe.c: New file, from GNU gettext.
13409
13410 2004-01-27  Bruno Haible  <bruno@clisp.org>
13411
13412         * m4/execute.m4: New file, from GNU gettext.
13413
13414 2004-01-27  Bruno Haible  <bruno@clisp.org>
13415
13416         * lib/execute.h: New file, from GNU gettext.
13417         * lib/execute.c: New file, from GNU gettext.
13418         * lib/w32spawn.h: New file, from GNU gettext.
13419
13420 2004-01-24  Paul Eggert  <eggert@twinsun.com>
13421
13422         Merge from diffutils.
13423
13424         * lib/file-type.c (file_type): Add typed memory objects.
13425         * lib/file-type.h (S_TYPEISTMO): New macro.
13426
13427         * lib/c-stack.h (c_stack_action): Remove argv argument.
13428         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
13429         (die): Don't calculate message unless segv_action returns.
13430         (get_stack_location, min_address_from_argv, max_address_from_argv,
13431         volatile stack_base, volatile_stack_size): Remove.
13432         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
13433         that every segmentation violation is a stack overflow.  (Ouch!)
13434         See Debian bug 136249 (still outstanding) for more info about why
13435         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
13436
13437 2004-01-24  Paul Eggert  <eggert@twinsun.com>
13438
13439         Exit-status fix from coreutils.
13440
13441         Use exit_failure consistently in place of EXIT_FAILURE,
13442         so that program exit statuses are consistent on failure.
13443
13444         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
13445         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
13446         * lib/argmatch.h: Comment fix to match the above.
13447         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
13448         Now a macro referring to exit_failure, instead of a separate
13449         variable.  Include "exitfail.h" to get it.
13450         * lib/xstrtol.h: Include "exitfail.h".
13451         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
13452
13453         * lib/long-options.c (parse_long_options): Use prototype
13454         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
13455         for clarity.
13456
13457 2004-01-21  Jim Meyering  <jim@meyering.net>
13458
13459         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
13460         so as not to conflict with a different-sized __mktime_internal
13461         function in GNU libc.
13462         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
13463         Problem building statically-linked `ls' reported by Michael Brunnbauer.
13464
13465 2004-01-20  Karl Berry  <karl@gnu.org>
13466
13467         * config/config.guess: update from config.
13468
13469         * config/srclistvars.sh: GNUWWWLICENSES for karl.
13470
13471 2004-01-20  Bruno Haible  <bruno@clisp.org>
13472
13473         Safer stack allocation.
13474         * lib/setenv.c: Include allocsa.h.
13475         (alloca): Remove fallback definition.
13476         (freea): Remove macro.
13477         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
13478         instead of freea.
13479
13480 2004-01-20  Bruno Haible  <bruno@clisp.org>
13481
13482         * m4/eealloc.m4: New file, from GNU gettext.
13483
13484 2004-01-20  Bruno Haible  <bruno@clisp.org>
13485
13486         * m4/allocsa.m4: New file, from GNU gettext.
13487
13488 2004-01-20  Bruno Haible  <bruno@clisp.org>
13489
13490         * lib/xallocsa.h: New file, from GNU gettext.
13491         * lib/xallocsa.c: New file, from GNU gettext.
13492
13493 2004-01-20  Bruno Haible  <bruno@clisp.org>
13494
13495         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
13496
13497 2004-01-20  Bruno Haible  <bruno@clisp.org>
13498
13499         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
13500         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
13501         specially.
13502
13503 2004-01-20  Bruno Haible  <bruno@clisp.org>
13504
13505         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
13506         patch.
13507
13508 2004-01-20  Bruno Haible  <bruno@clisp.org>
13509
13510         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
13511
13512 2004-01-20  Bruno Haible  <bruno@clisp.org>
13513
13514         * lib/eealloc.h: New file.
13515
13516 2004-01-20  Bruno Haible  <bruno@clisp.org>
13517
13518         * lib/binary-io.h: Avoid warnings on Cygwin.
13519
13520 2004-01-20  Bruno Haible  <bruno@clisp.org>
13521
13522         * lib/allocsa.h: New file, from GNU gettext.
13523         * lib/allocsa.c: New file, from GNU gettext.
13524
13525 2004-01-18  Karl Berry  <karl@gnu.org>
13526
13527         * doc/gpl.texi, lgpl.texi: new files.
13528
13529 2004-01-18  Karl Berry  <karl@gnu.org>
13530
13531         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
13532         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
13533
13534 2004-01-15  Paul Eggert  <eggert@twinsun.com>
13535
13536         Merge from coreutils.
13537
13538         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
13539         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
13540         (gl_DEFAULT_POSIX2_VERSION): Move
13541         the documentation from 'configure' into 'config.hin',
13542         so that 'configure --help' isn't burdened by it and
13543         we don't have to worry about its formatting there.
13544         Reword the documentation so that it's more succinct
13545         and can be run together into a single paragraph.
13546         * m4/same.m4 (gl_SAME): Check for pathconf.
13547
13548 2004-01-15  Paul Eggert  <eggert@twinsun.com>
13549
13550         Merge from coreutils.
13551
13552         * lib/posixver.c: Include posixver.h.
13553
13554         * lib/same.c: Include <stdbool.h>, <limits.h>.
13555         (_POSIX_NAME_MAX): Define if not defined.
13556         (MIN): New macro.
13557         (same_name): If file names are silently truncated, report
13558         that the file names are the same if they are the same after
13559         the silent truncation.
13560
13561         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
13562         conversion function.
13563         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
13564         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
13565         longer needed.
13566
13567 2004-01-15  Jim Meyering  <jim@meyering.net>
13568
13569         Merge from coreutils.
13570
13571         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
13572         if no library is required.
13573         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
13574         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
13575         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
13576         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
13577         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
13578         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
13579         value, $ac_cv_search_crypt, if it's "none required".
13580         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
13581         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
13582         not gl_FUNC_GETLOADAVG.
13583         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
13584         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
13585
13586 2004-01-15  Jim Meyering  <jim@meyering.net>
13587
13588         Merge from coreutils.
13589
13590         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
13591         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
13592         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
13593
13594         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
13595         optional configure-time default.
13596
13597         * lib/version-etc.c (version_etc_copyright): Update copyright date.
13598
13599         * lib/xreadlink.c (xreadlink): Correct outdated comment.
13600
13601 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
13602
13603         Merge from coreutils.
13604
13605         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
13606         value, $ac_cv_search_nanosleep, if it's "none required".
13607
13608 2004-01-14  Paul Eggert  <eggert@twinsun.com>
13609
13610         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
13611         with like-named macro in fnmatch.c.
13612         (EXT): Use an internal constant instead.
13613
13614         Merge fnmatch patches from glibc.
13615         * lib/fnmatch.c (mbsinit): Remove define.
13616         Add libc_hidden_ver (__fnmatch, fnmatch).
13617         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
13618         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
13619
13620 2004-01-14  Karl Berry  <karl@gnu.org>
13621
13622         * config/install-sh: update from automake.
13623
13624 2004-01-13  Karl Berry  <karl@gnu.org>
13625
13626         * config/install-sh: update from automake.
13627
13628 2004-01-09  Karl Berry  <karl@gnu.org>
13629
13630         * config/install-sh: update from automake.
13631
13632 2004-01-05  Karl Berry  <karl@gnu.org>
13633
13634         * config/config.{sub,guess}: update from config.
13635
13636 2003-12-31  Karl Berry  <karl@gnu.org>
13637
13638         * config/depcomp: update from automake.
13639
13640 2003-12-14  Karl Berry  <karl@gnu.org>
13641
13642         * lib/config.charset: update from gettext-runtime.
13643
13644 2003-12-03  Paul Eggert  <eggert@twinsun.com>
13645
13646         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
13647         Bug reported by Alfred M. Szmidt.
13648
13649 2003-12-03  Bruno Haible  <bruno@clisp.org>
13650
13651         * m4/gettext.m4: Upgrade from gettext-0.13.
13652         * m4/po.m4: Upgrade from gettext-0.13.
13653         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
13654         * m4/intmax.m4: New file, from gettext-0.13.
13655         * m4/printf-posix.m4: New file, from gettext-0.13.
13656
13657 2003-11-29  Karl Berry  <karl@gnu.org>
13658
13659         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
13660
13661 2003-11-25  Paul Eggert  <eggert@twinsun.com>
13662             Bruno Haible  <bruno@clisp.org>
13663
13664         * lib/printf-parse.h: Don't include sys/types.h.
13665         (ARG_NONE): New macro.
13666         (char_directive): Change type of *arg_index fields to size_t.
13667         * lib/printf-parse.c: Don't include sys/types.h.
13668         (SSIZE_MAX): Remove macro.
13669         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
13670         Remove unnecessary overflow check.
13671         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
13672         fields.
13673
13674 2003-11-25  Bruno Haible  <bruno@clisp.org>
13675
13676         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
13677
13678 2003-11-25  Bruno Haible  <bruno@clisp.org>
13679
13680         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
13681         gt_TYPE_SSIZE_T.
13682
13683 2003-11-24  Paul Eggert  <eggert@twinsun.com>
13684
13685         * modules/alloca: Remove dependency on xalloc.
13686
13687 2003-11-24  Paul Eggert  <eggert@twinsun.com>
13688
13689         * lib/alloca.c: Remove dependency on xalloc module.
13690         (xalloc_die): Remove.
13691         (memory_full) [!defined emacs]: New macro.
13692         [!defined emacs]: Don't include xalloc.h.
13693         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
13694         address arithmetic overflows.  Change datatypes a bit to avoid
13695         unnecessary casts.
13696
13697 2003-11-22  Jim Meyering  <jim@meyering.net>
13698
13699         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
13700         s/size/size_t/.
13701
13702 2003-11-21  Karl Berry  <karl@gnu.org>
13703
13704         * config/config.{sub,guess}: update from config.
13705
13706 2003-11-18  Karl Berry  <karl@gnu.org>
13707
13708         * config/config.{sub,guess}: update from config.
13709
13710         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
13711
13712 2003-11-17  Paul Eggert  <eggert@twinsun.com>
13713
13714         * README: Mention that S+T cannot overflow if S is the size of
13715         an existing object and T is sufficiently small.
13716
13717 2003-11-17  Jim Meyering  <jim@meyering.net>
13718
13719         On systems without utime and without a utimes function capable of
13720         dealing with a NULL struct utimbuf* argument, this utime replacement
13721         could -- in unusual circumstances -- leak a file descriptor.
13722         * lib/utime.c: Include <unistd.h> and <errno.h>.
13723         (utime_null): Be sure to close `fd' and to preserve errno.
13724         Reported by Geoff Collyer via Arnold Robbins.
13725
13726 2003-11-17  Bruno Haible  <bruno@clisp.org>
13727
13728         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
13729         (Depends-on): Add xsize.
13730
13731 2003-11-17  Bruno Haible  <bruno@clisp.org>
13732
13733         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
13734
13735 2003-11-17  Bruno Haible  <bruno@clisp.org>
13736
13737         * lib/vasnprintf.c (alloca): Remove fallback definition.
13738         (freea): Remove definition.
13739         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
13740         Reported by Paul Eggert.
13741
13742 2003-11-16  Paul Eggert  <eggert@twinsun.com>
13743             Bruno Haible  <bruno@clisp.org>
13744
13745         Protect against address arithmetic overflow.
13746         * lib/printf-args.h: Include stddef.h.
13747         (arguments): Change type of field 'count' to size_t.
13748         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
13749         'unsigned int' where appropriate.
13750         * lib/printf-parse.h: Include sys/types.h.
13751         (char_directive): Change type of *arg_index fields to ssize_t.
13752         (char_directives): Change type of fields 'count', max_*_length to
13753         size_t.
13754         * lib/printf-parse.c: Include sys/types.h and xsize.h.
13755         (SSIZE_MAX): Define fallback value.
13756         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
13757         instead of 'int' where appropriate. Check a_allocated, d_allocated
13758         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
13759         * lib/vasnprintf.c: Include xsize.h.
13760         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
13761         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
13762         overflow. Avoid wraparound when converting a width or precision from
13763         decimal to binary.
13764
13765 2003-11-16  Bruno Haible  <bruno@clisp.org>
13766
13767         Update from GNU gettext.
13768         * lib/printf-parse.c: Generalize to it can be compiled for wide
13769         strings.
13770         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
13771         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
13772         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
13773         SNPRINTF): New macros.
13774         Don't include <alloca.h> if the file is used inside libintl.
13775         (local_wcslen): New function, for Solaris 2.5.1.
13776         (VASNPRINTF): Use it instead of wcslen.
13777
13778 2003-11-16  Bruno Haible  <bruno@clisp.org>
13779
13780         * lib/xsize.h (xmax): New function.
13781         (xsum, xsum3, xsum4): Declare as "pure" functions.
13782
13783 2003-11-12  Paul Eggert  <eggert@twinsun.com>
13784
13785         * modules/xalloc (Files): Undo latest change, since xalloc.h
13786         no longer needs SIZE_MAX or PTRDIFF_MAX.
13787
13788 2003-11-12  Paul Eggert  <eggert@twinsun.com>
13789
13790         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
13791         gl_PTRDIFF_MAX.
13792
13793 2003-11-12  Paul Eggert  <eggert@twinsun.com>
13794
13795         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
13796         "return", to pacify some unknown compiler.  Problem reported
13797         by Joerg Schilling.
13798
13799 2003-11-12  Paul Eggert  <eggert@twinsun.com>
13800
13801         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
13802         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
13803         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
13804         heuristic is just as accurate as far as we know, and it removes a
13805         dependency on size_max.m4 and ptrdiff_max.m4.
13806
13807 2003-11-11  Bruno Haible  <bruno@clisp.org>
13808
13809         * modules/xsize (Files): Add m4/size_max.m4.
13810         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
13811
13812 2003-11-11  Bruno Haible  <bruno@clisp.org>
13813
13814         * m4/size_max.m4: New file.
13815         * m4/ptrdiff_max.m4: New file.
13816         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
13817         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
13818         (gl_XALLOC): Invoke it.
13819
13820 2003-11-11  Bruno Haible  <bruno@clisp.org>
13821
13822         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
13823         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
13824         defined.
13825
13826 2003-11-10  Paul Eggert  <eggert@twinsun.com>
13827
13828         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
13829         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
13830         rejected some allocations of exactly SIZE_MAX - 2 bytes.
13831         From Bruno Haible.
13832         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
13833         not (size_t) -1, since it's defined here.
13834
13835 2003-11-09  Karl Berry  <karl@gnu.org>
13836
13837         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
13838
13839 2003-11-06  Paul Eggert  <eggert@twinsun.com>
13840
13841         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
13842         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
13843         Reject sizes of exactly SIZE_MAX bytes.
13844         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
13845         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
13846
13847 2003-11-05  Bruno Haible  <bruno@clisp.org>
13848
13849         * lib/xsize.h: Include limits.h, to avoid a possible collision with
13850         SIZE_MAX defined in <limits.h> on Solaris.
13851
13852 2003-11-04  Jim Meyering  <jim@meyering.net>
13853
13854         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
13855         variable names, rather than @VAR@.
13856         * modules/poll: Likewise.
13857
13858 2003-11-04  Bruno Haible  <bruno@clisp.org>
13859
13860         * modules/xsize: New file.
13861         * modules/linebreak: Depend on xsize.
13862         * MODULES.html.sh (func_all_modules): Add xsize.
13863
13864 2003-11-04  Bruno Haible  <bruno@clisp.org>
13865
13866         * m4/xsize.m4: New file.
13867
13868 2003-11-04  Bruno Haible  <bruno@clisp.org>
13869
13870         * lib/xsize.h: New file.
13871         * lib/linebreak.c: Include xsize.h.
13872         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
13873         argument for overflow.
13874         Suggested by Paul Eggert.
13875
13876 2003-11-03  Karl Berry  <karl@gnu.org>
13877
13878         * config/config.{guess,sub}: update from config.
13879
13880 2003-11-03  Jim Meyering  <jim@meyering.net>
13881
13882         * modules/userspec (lib_SOURCES): Add userspec.h.
13883         (Include): Add "userspec.h".
13884         Improve description.
13885
13886 2003-11-03  Jim Meyering  <jim@meyering.net>
13887
13888         * lib/userspec.c: Include "userspec.h".
13889         * lib/userspec.h: New file.
13890
13891 2003-11-03  Bruno Haible  <bruno@clisp.org>
13892
13893         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
13894
13895 2003-11-03  Bruno Haible  <bruno@clisp.org>
13896
13897         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
13898         available, to avoid (extremely rare) race condition.
13899         Suggested by Paul Eggert.
13900
13901 2003-11-02  Karl Berry  <karl@gnu.org>
13902
13903         * config/srclist.txt (vasprintf.c): sync broken, sigh.
13904
13905 2003-10-31  Paul Eggert  <eggert@twinsun.com>
13906
13907         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
13908         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
13909         (read_filesystem_list): Set and use me_type_malloced.
13910         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
13911         whatever the type happens to be), for brevity and consistency.
13912         Check for size calculation overflow on Alphas running OSF/1.
13913
13914 2003-10-31  Jim Meyering  <jim@meyering.net>
13915
13916         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
13917
13918         * lib/linebuffer.c: Include <string.h> for declaration of memset.
13919
13920 2003-10-30  Paul Eggert  <eggert@twinsun.com>
13921             Bruno Haible  <bruno@clisp.org>
13922
13923         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
13924         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
13925
13926 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
13927
13928         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
13929         netbsd*-gnu*.  Suggested by Robert Millan.
13930
13931 2003-10-29  Paul Eggert  <eggert@twinsun.com>
13932
13933         * modules/group-member: Depend on stdbool.
13934
13935 2003-10-29  Paul Eggert  <eggert@twinsun.com>
13936
13937         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
13938
13939 2003-10-29  Paul Eggert  <eggert@twinsun.com>
13940
13941         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
13942         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
13943         after the 'gnu' in these cases.  This fixes some bugs in the
13944         previous change, and is based on suggestions by Robert Millan.
13945
13946 2003-10-29  Paul Eggert  <eggert@twinsun.com>
13947
13948         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
13949         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
13950         no longer needed.
13951         * lib/quotearg.c (quotearg_n_options): Use it.
13952         * lib/group-member.c: Include <stdbool.h>.
13953         (free_group_info): Arg is now const *; don't free arg.
13954         (get_group_info): Now returns bool and accepts struct group_info *,
13955         rather than returning a malloc'ed struct group_info *.
13956         All uses changed.  Check for overflow in internal size calculation.
13957
13958         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
13959         rather than xmalloc/xrealloc.
13960         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
13961         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
13962         conformance bug: the old code used a pointer after freeing the
13963         storage that it addressed.
13964         * lib/hash.c (hash_initialize): Simplify the code by using
13965         xalloc_oversized rather than doing it by hand.
13966         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
13967         the buffer preserved.  Use free and xmalloc instead.
13968         * lib/quotearg.c (quotearg_n_options): Likewise.
13969         Use a simpler test for size overflow.  Don't use xalloc_oversized
13970         because unsigned int might be wider than size_t (!); this suggests
13971         that we should switch from unsigned int to size_t for slot numbers.
13972
13973 2003-10-28  Paul Eggert  <eggert@twinsun.com>
13974
13975         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
13976         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
13977         NetBSD kernels.  Requested by Richard Stallman.
13978
13979 2003-10-27  Paul Eggert  <eggert@twinsun.com>
13980
13981         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
13982         to allocate the returned structure.  Do not allocate a subarray,
13983         as x2nrealloc will do that.
13984         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
13985         instead of xnrealloc.
13986         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
13987
13988 2003-10-27  Bruno Haible  <bruno@clisp.org>
13989
13990         * lib/stdbool_.h: Better support for BeOS.
13991
13992 2003-10-26  Paul Eggert  <eggert@twinsun.com>
13993
13994         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
13995         now uses inline.
13996
13997 2003-10-26  Paul Eggert  <eggert@twinsun.com>
13998
13999         * lib/xalloc.h (xalloc_oversized): New static inline function, for
14000         callers that want to do their own size-overflow checking.  Include
14001         <stdbool.h>, since xalloc_oversized returns bool.
14002         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
14003         to use xalloc_oversized.
14004
14005         Add two functions x2realloc, x2nrealloc, for programs that grow
14006         arrays dynamically by doubling their sizes.
14007         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
14008         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
14009         New functions.
14010
14011         Port to C99 semantics for 'inline' of external functions.
14012         Bug reported by Bruno Haible.
14013         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
14014         with the old contents of xnmalloc.
14015         (xnmalloc, xmalloc): Use it.
14016         (xnrealloc_inline): New static inline function,
14017         with the old contents of xnrealloc.
14018         (xnrealloc, xrealloc): Use it.
14019
14020         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
14021         that.
14022
14023 2003-10-26  Karl Berry  <karl@gnu.org>
14024
14025         * config/srclist.txt (COPYING.DOC): no longer available from
14026         /gd/gnuorg; don't know where the ultimate source is.
14027
14028 2003-10-25  Paul Eggert  <eggert@twinsun.com>
14029
14030         Fix several address-calculation bugs in the hash modules,
14031         plus some minor code cleanup.
14032
14033         * lib/hash.h: Include <stdbool.h>, for bool.
14034         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
14035         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
14036         hash_get_n_entries, hash_get_max_bucket_length,
14037         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
14038         hash_rehash): Use size_t rather than unsigned.
14039         * lib/hash.c (struct hash_table, hash_get_n_buckets,
14040         hash_get_n_buckets_used, hash_get_n_entries,
14041         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
14042         hash_get_entries, hash_do_for_each, hash_string, is_prime,
14043         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
14044         Likewise.
14045         (SIZE_MAX): Define if not defined.
14046         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
14047         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
14048         hash_print):
14049         Use const * when possible.
14050         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
14051         (check_tuning): Fix bug: if tuning parameters were very close to
14052         0 or 1, rounding errors could have caused subscript violations.
14053         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
14054         (hash_initialize): Add 'fail:' label
14055         to free table and return NULL, and use it to simplify code.
14056         Use calloc rather than clearing the storage ourself.
14057         (hash_initialize, hash_rehash): Check for arithmetic overflow in
14058         buffer size calculations.
14059         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
14060         Include <stddef.h>, for size_t.
14061         * lib/hash-pjw.c (hash_pjw): Likewise.
14062         Switch to method described by Bruno Haible.
14063         Include <limits.h>, for CHAR_BIT.
14064         (SIZE_BITS): New macro.
14065
14066 2003-10-23  Paul Eggert  <eggert@twinsun.com>
14067
14068         * m4/getline.m4 (AM_FUNC_GETLINE):
14069         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
14070         hosts.  Problem reported by Derek Robert Price in
14071         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
14072         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
14073         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
14074
14075 2003-10-21  Paul Eggert  <eggert@twinsun.com>
14076
14077         * lib/getndelim2.c (getndelim2): When size calculation overflows,
14078         ceiling the allocation at NMAX bytes rather than silently
14079         discarding input bytes before NMAX is reached.  This makes
14080         a difference only if NMAX exceeds SIZE_MAX / 2.
14081
14082         * lib/obstack.c: Merge from glibc.
14083         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
14084         Add libc_hidden_def (_obstack_newchunk).
14085         (_obstack_free) [! defined _LIBC]: Remove.
14086         [defined _LIBC]: Make a strong alias from obstack_free, rather than
14087         a clone of the function body.
14088         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
14089         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
14090
14091         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
14092         glibc.
14093         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
14094         arg to memcpy.
14095
14096         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
14097         (obstack_ptr_grow_fast, obstack_int_grow_fast):
14098         Don't use lvalue casts, as GCC plans to remove support for them
14099         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
14100         was also present in the non-GCC version, indicating that this
14101         code had always been buggy and had never been widely used.
14102         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
14103         Use the fast variant of each macro, rather than copying the
14104         definiens of the fast variant; that way, we'll be more likely to
14105         catch future bugs in the fast variants.
14106
14107 2003-10-20  Bruno Haible  <bruno@clisp.org>
14108
14109         * modules/wait-process: New file.
14110         * MODULES.html.sh (func_all_modules): Add wait-process.
14111
14112 2003-10-20  Bruno Haible  <bruno@clisp.org>
14113
14114         * m4/wait-process.m4: New file.
14115
14116 2003-10-20  Bruno Haible  <bruno@clisp.org>
14117
14118         * lib/wait-process.h: New file, from GNU gettext.
14119         * lib/wait-process.c: New file, from GNU gettext.
14120
14121 2003-10-19  Jim Meyering  <jim@meyering.net>
14122
14123         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
14124         HPUX 10.20.
14125
14126 2003-10-18  Karl Berry  <karl@gnu.org>
14127
14128         * config/config.guess: update from config.
14129
14130 2003-10-16  Paul Eggert  <eggert@twinsun.com>
14131
14132         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
14133         (getgroups): First arg is int, not size_t.
14134         Don't let 'free' mangle errno.
14135
14136 2003-10-16  Paul Eggert  <eggert@twinsun.com>
14137
14138         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
14139
14140 2003-10-16  Karl Berry  <karl@gnu.org>
14141
14142         * config/config.{guess,sub}: update from config.
14143
14144 2003-10-16  Jim Meyering  <jim@meyering.net>
14145
14146         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
14147         memcpy.
14148
14149 2003-10-15  Paul Eggert  <eggert@twinsun.com>
14150
14151         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
14152         (SIZE_MAX): Remove.
14153         (new_exclude, add_exclude_file): Initial size no longer needs to
14154         be a power of 2.
14155         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
14156         our own address arithmetic overflow checking.
14157
14158         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
14159         (fnmatch): Do not alloca more than 2000 wide characters;
14160         instead, use malloc for large buffers.
14161         Check for address arithmetic overflow, and return -1
14162         with errno set to ENOMEM in that case.
14163         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
14164         (NEW_PATTERN): Do not alloca more than 8000 bytes;
14165         instead, return -1.  Check for address arithmetic overflow.
14166
14167 2003-10-14  Paul Eggert  <eggert@twinsun.com>
14168
14169         Handle invalid suffixes and overflow independently, so that
14170         callers can treat them independently as needed.  Fix some bugs in
14171         suffix handling, e.g., "100k@" was not diagnosed as an invalid
14172         suffix for a human-readable blocksize.  The major caller-visible
14173         change is the addition of a new
14174         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
14175         that both overflow and suffix chars were found.
14176
14177         * lib/human.c (humblock): Don't check separately for invalid suffix
14178         char; that is xstrtoumax's job (now that its bug is fixed).
14179         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
14180         INTMAX_MAX]: New macros.
14181         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
14182         TYPE_MAXIMUM): New macros.
14183         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
14184         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
14185         if overflow occurs, as it's what __strtol does and it's more useful
14186         in practice.
14187         (__xstrtol): If __strtol reports some error other than ERANGE,
14188         reflect it to the caller as LONGINT_INVALID.  If it reports
14189         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
14190         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
14191         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
14192         value.
14193         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
14194         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
14195         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
14196         [defined UINTMAX_MAX]: New macros.
14197
14198 2003-10-14  Bruno Haible  <bruno@clisp.org>
14199
14200         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
14201
14202 2003-10-14  Bruno Haible  <bruno@clisp.org>
14203
14204         * m4/sig_atomic_t: New file, from GNU gettext.
14205         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
14206
14207 2003-10-14  Bruno Haible  <bruno@clisp.org>
14208
14209         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
14210         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
14211         Also use volatile where needed.
14212
14213 2003-10-12  Paul Eggert  <eggert@twinsun.com>
14214
14215         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
14216         Change maintainer from Bruno Haible to 'all'.
14217
14218 2003-10-12  Paul Eggert  <eggert@twinsun.com>
14219
14220         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
14221
14222 2003-10-12  Paul Eggert  <eggert@twinsun.com>
14223
14224         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
14225         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
14226         and define in terms of the other primitives.
14227         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
14228         (SIZE_MAX): Define if not already defined.
14229         (array_size_overflow): New function.
14230         (xalloc_die): Abort instead of exiting if 'error' returns.
14231         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
14232         (xmalloc, xrealloc): Use them.
14233         (xcalloc): Check for address arithmetic overflow.
14234         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
14235         a bit faster than strcpy.
14236
14237 2003-10-10  Simon Josefsson  <jas@extundo.com>
14238
14239         * modules/argp (Depends-on): Add restrict and strcase.
14240
14241 2003-10-10  Simon Josefsson  <jas@extundo.com>
14242
14243         * m4/argp.m4: Add AC_C_INLINE.
14244
14245 2003-10-08  Paul Eggert  <eggert@twinsun.com>
14246
14247         Merge getpass from libc, plus a few fixes.
14248
14249         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
14250         Include <stdbool.h>.
14251         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
14252         __fsetlocking to empty.
14253         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
14254         do include <bits/libc-lock.h>.
14255         Do not include <fcntl.h>; not needed.
14256         [_LIBC]: Include <wchar.h>.
14257         (NOTCANCEL_MODE): New macro.
14258         (flockfile, funlockfile) [_LIBC]: New macros.
14259         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
14260         [!_LIBC]: New macros.
14261         (call_fclose): New function.
14262         (getpass): Use it.  Save tty stream separately; this simplifies the
14263         code and makes it more reliable if stdin happens to equal stdout.
14264         Invoke __fsetlocking on tty.
14265         Handle thread cancellation if needed.
14266         Namespace cleanup (use __tcgetattr, __getline).
14267         Use bool for Booleans.
14268         [USE_IN_LIBIO]: Handle wide streams.
14269         [!_LIBC]: Unconditionally do the fseek, since we don't know what
14270         stream might go where.
14271
14272         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
14273         doesn't have to include <stdio.h> before us.
14274         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
14275         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
14276         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
14277         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
14278         if not declared, so that we can use getpass.c code from libc without
14279         rewriting it.
14280         (flockfile, ftrylockfile, funlockfile): New macros.
14281
14282 2003-10-08  Paul Eggert  <eggert@twinsun.com>
14283
14284         * modules/getpass: Depend on stdbool.
14285
14286 2003-10-08  Paul Eggert  <eggert@twinsun.com>
14287
14288         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
14289
14290 2003-10-07  Karl Berry  <karl@gnu.org>
14291
14292         * config/config.{guess,sub}: update from config.
14293
14294 2003-10-06  Jim Meyering  <jim@meyering.net>
14295             Bruno Haible  <bruno@clisp.org>
14296
14297         This lets translators provide better translations for the
14298         "Written by ..." part of --version output.
14299         * lib/version-etc.h: Include stdarg.h.
14300         (version_etc_copyright): Declare as readonly.
14301         (version_etc): Make this function variadic with a NULL-terminated list
14302         of author name strings.
14303         (version_etc_va): New declaration.
14304         * lib/version-etc.c: Include stdarg.h, stdlib.h.
14305         (version_etc_copyright): Declare as readonly.
14306         (version_etc_va): New function. Provide a different translatable string
14307         for each possible number of authors < 10. Abbreviate when there are 10
14308         authors or more.
14309         (version_etc): Make this function variadic. Call version_etc_va.
14310         Suggestion from Gary V. Vaughan.
14311
14312         * lib/long-options.h (parse_long_options): Change prototype: the
14313         authors string is moved to the end and becomes variadic.
14314         * lib/long-options.c: Include stdarg.h.
14315         (parse_long_options): Make this function variadic, too.
14316         Call version_etc_va, not version_etc.
14317
14318 2003-10-06  Bruno Haible  <bruno@clisp.org>
14319
14320         * modules/version-etc-2: Remove file.
14321         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
14322
14323 2003-10-06  Bruno Haible  <bruno@clisp.org>
14324
14325         * modules/fatal-signal: New file.
14326         * MODULES.html.sh (func_all_modules): Add fatal-signal.
14327
14328 2003-10-06  Bruno Haible  <bruno@clisp.org>
14329
14330         * m4/fatal-signal.m4: New file.
14331         * m4/signalblocking.m4: New file, from GNU gettext.
14332
14333 2003-10-06  Bruno Haible  <bruno@clisp.org>
14334
14335         * lib/version-etc-2.h: Remove file.
14336         * lib/version-etc-2.c: Remove file.
14337
14338 2003-10-06  Bruno Haible  <bruno@clisp.org>
14339
14340         * lib/fatal-signal.h: New file, from GNU gettext.
14341         * lib/fatal-signal.c: New file, from GNU gettext.
14342
14343 2003-10-05  Paul Eggert  <eggert@twinsun.com>
14344
14345         * README: Rework advice for preventing empty .o files.
14346         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
14347         not <sys/types.h>.
14348
14349 2003-10-04  Karl Berry  <karl@gnu.org>
14350
14351         * lib/argp*: update from libc.
14352
14353 2003-10-04  Karl Berry  <karl@gnu.org>
14354
14355         * config/config.{guess,sub}: update from config.
14356
14357 2003-10-02  Bruno Haible  <bruno@clisp.org>
14358
14359         * modules/lchown (Include): Add lchown.h.
14360         * modules/time_r (Include): Use "..." syntax.
14361         * modules/xgetdomainname (Include): Add xgetdomainname.h.
14362
14363 2003-10-01  Simon Josefsson  <jas@extundo.com>
14364
14365         * MODULES.html.sh (func_all_modules): Move gethostname from section
14366         'based on' to section 'lacking' POSIX:2001.
14367
14368 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
14369
14370         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
14371         to output mode on the same stream.
14372
14373 2003-09-29  Paul Eggert  <eggert@twinsun.com>
14374
14375         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
14376         Fix arg typo in previous patch.
14377
14378 2003-09-28  Jim Meyering  <jim@meyering.net>
14379
14380         * lib/error.c: Correct cpp indentation.
14381
14382 2003-09-27  Paul Eggert  <eggert@twinsun.com>
14383
14384         * modules/free: New file.
14385
14386 2003-09-27  Paul Eggert  <eggert@twinsun.com>
14387
14388         * m4/free.m4: New file.
14389
14390 2003-09-27  Paul Eggert  <eggert@twinsun.com>
14391
14392         * lib/minmax.h (MIN, MAX)
14393         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
14394         Omit the special code that used __typeof__, since we worry that
14395         it could be more trouble than it's worth.  See:
14396         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
14397         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
14398
14399         * lib/free.c: New file.
14400
14401 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
14402
14403         Trivial fixes to Makefile.am parts of module listings.
14404         * modules/strstr: Append strstr.h to lib_SOURCES.
14405         * modules/strcase: Likewise, for strcase.h.
14406
14407 2003-09-27  Karl Berry  <karl@gnu.org>
14408
14409         * config/mkinstalldirs: update from automake.
14410
14411 2003-09-26  Paul Eggert  <eggert@twinsun.com>
14412
14413         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
14414         (error_tail): Do not loop, reallocating temporary buffer, since
14415         the output cannot contain more wide characters than the input
14416         contains bytes, the size must be big enough already.  This avoids
14417         one potential size overflow calculation.  Check for size overflow
14418         when calculating temporary buffer size.  Free temporary buffer
14419         when done, if it was allocated with malloc; this plugs a memory
14420         leak.  Remove casts from void * to pointers, that are no longer
14421         needed now that we're assuming C89 or better.
14422
14423         Merge error changes from glibc.
14424
14425         * lib/error.c, error.h: Update copyright notice header to match glibc.
14426         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
14427         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
14428         Disable cancellation while printing error.
14429         * lib/error.h: Prepend __ to parameter names.
14430
14431 2003-09-26  Jim Meyering  <jim@meyering.net>
14432
14433         * lib/error.c (error_tail): Move some declarations
14434         into inner scope where the local variables are used.
14435
14436 2003-09-26  Bruno Haible  <bruno@clisp.org>
14437
14438         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
14439         stpncpy().
14440         Don't define stpncpy through config.h; it's now done through stpncpy.h.
14441
14442 2003-09-26  Bruno Haible  <bruno@clisp.org>
14443
14444         * lib/stpncpy.h (gnu_stpncpy): New declaration.
14445         (stpncpy): Define as alias for gnu_stpncpy.
14446         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
14447
14448 2003-09-25  Simon Josefsson  <jas@extundo.com>
14449
14450         * lib/xgetdomainname.h: New file.
14451         * lib/xgetdomainname.c: New file.
14452
14453 2003-09-25  Simon Josefsson  <jas@extundo.com>
14454             Bruno Haible  <bruno@clisp.org>
14455
14456         * modules/getdomainname: New file.
14457         * modules/xgetdomainname: New file.
14458         * MODULES.html.sh (func_all_modules): Add getdomainname,
14459         xgetdomainname.
14460
14461 2003-09-25  Simon Josefsson  <jas@extundo.com>
14462             Bruno Haible  <bruno@clisp.org>
14463
14464         * m4/getdomainname.m4: New file.
14465
14466 2003-09-25  Simon Josefsson  <jas@extundo.com>
14467             Bruno Haible  <bruno@clisp.org>
14468
14469         * lib/getdomainname.h: New file.
14470         * lib/getdomainname.c: New file.
14471
14472 2003-09-25  Karl Berry  <karl@gnu.org>
14473
14474         * lib/argp-fmtstream.c, argp-help.c: update from libc.
14475
14476 2003-09-25  Karl Berry  <karl@gnu.org>
14477
14478         * config/install-sh: update from automake.
14479
14480 2003-09-25  Bruno Haible  <bruno@clisp.org>
14481
14482         * modules/version-etc-2: New file, from modules/version-etc with
14483         modifications.
14484         * MODULES.html.sh (func_all_modules): Add version-etc-2.
14485
14486 2003-09-25  Bruno Haible  <bruno@clisp.org>
14487
14488         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
14489         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
14490
14491 2003-09-24  Simon Josefsson  <jas@extundo.com>
14492
14493         * modules/xgethostname: Add xgethostname.h.
14494
14495 2003-09-24  Paul Eggert  <eggert@twinsun.com>
14496
14497         * lib/linebuffer.c (freebuffer): Don't free the argument, just
14498         the buffer associated with the argument.  Bug reported by
14499         Simon Josefsson.
14500
14501 2003-09-24  Paul Eggert  <eggert@twinsun.com>
14502
14503         * README: Document assumptions that 'int' is at least 32 bits
14504         wide, that integer arithmetic is 2's complement without overflow,
14505         that there are no holes in integer values, that adding sizes of
14506         two nonoverlapping objects can't overflow, and that all-bits-zero
14507         yields scalar zero.  Fix spelling and capitalization typos.
14508
14509 2003-09-19  Karl Berry  <karl@gnu.org>
14510
14511         * lib/argp.h: update from libc.
14512
14513 2003-09-17  Paul Eggert  <eggert@twinsun.com>
14514
14515         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
14516         to avoid spurious warnings like "AC_RUN_IFELSE was called before
14517         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
14518
14519 2003-09-17  Paul Eggert  <eggert@twinsun.com>
14520
14521         * gnulib-tool: Use "test -h", not "test -L", for portability
14522         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
14523         (tags_regexp): Remove, since \| doesn't conform to POSIX.
14524         (sed_extract_prog): Issue s commands one-by-one, rather than
14525         using \| in one s command.
14526
14527 2003-09-16  Paul Eggert  <eggert@twinsun.com>
14528
14529         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
14530         input error, instead of returning NULL the next time we are called
14531         (and therefore losing track of errno).
14532
14533 2003-09-16  Bruno Haible  <bruno@clisp.org>
14534
14535         * gnulib-tool (func_create_testdir): Warn about duplicated
14536         dependencies.
14537
14538 2003-09-15  Paul Eggert  <eggert@twinsun.com>
14539
14540         * modules/argmatch, modules/fatal, modules/obstack,
14541         modules/xalloc, modules/xgethostname: Sort dependencies by
14542         importance, not alphabetically.
14543
14544 2003-09-15  Paul Eggert  <eggert@twinsun.com>
14545
14546         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
14547         fails, so that the caller gets the proper errno.
14548
14549         * lib/readutmp.c (read_utmp): Likewise.
14550         Check for fstat error.  Close stream and free storage
14551         when failing.
14552
14553 2003-09-14  Karl Berry  <karl@gnu.org>
14554
14555         * config/srclist.txt (strdup.c): disable for c89 changes.
14556
14557 2003-09-14  Jim Meyering  <jim@meyering.net>
14558
14559         * lib/getloadavg.c: Correct cpp indentation.
14560         * lib/strdup.c: Likewise.
14561         * lib/vasnprintf.c: Likewise.
14562
14563 2003-09-14  Bruno Haible  <bruno@clisp.org>
14564
14565         * modules/fwriteerror: New file.
14566         * MODULES.html.sh (func_all_modules): Add fwriteerror.
14567
14568 2003-09-14  Bruno Haible  <bruno@clisp.org>
14569
14570         * lib/fwriteerror.h: New file.
14571         * lib/fwriteerror.c: New file.
14572
14573 2003-09-12  Paul Eggert  <eggert@twinsun.com>
14574
14575         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
14576         modules/xgethostname, modules/xalloc: Depend on exit.
14577
14578 2003-09-12  Paul Eggert  <eggert@twinsun.com>
14579
14580         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
14581
14582         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
14583         and AC_MINIX, too, so that their extensions are available.
14584
14585         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
14586         This macro has been superseded by gl_BACKUPFILE.
14587
14588         More patches to assume C89 or better.
14589
14590         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
14591
14592         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
14593         unconditionally.
14594         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
14595         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
14596         Include <string.h>, <stdlib.h> unconditionally.
14597         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
14598         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
14599         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
14600         headers or for string.h.
14601         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
14602         or strtoul.
14603
14604         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
14605         headers.
14606         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
14607         * m4/userspec.m4 (gl_USERSPEC): Likewise.
14608         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
14609         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
14610         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
14611         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
14612         memcpy, memset.
14613         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
14614         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
14615         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
14616         strtol.
14617         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
14618         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
14619         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
14620         strtoul.
14621
14622 2003-09-12  Paul Eggert  <eggert@twinsun.com>
14623
14624         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
14625         * lib/obstack.c [!defined _LIBC]: Likewise.
14626         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
14627         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
14628         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
14629
14630         More changes to assume C89 or better.
14631
14632         * lib/error.c (error_tail): Assume vprintf.
14633
14634         * lib/argmatch.c (getenv): Remove decl.
14635         * lib/progreloc.c (get_full_program_name): Define via prototype.
14636         * lib/setenv.c (clearenv): Likewise.
14637         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
14638         needed.
14639         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
14640         (malloc, memcpy): Remove decls.
14641         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
14642         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
14643         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
14644         (memcpy): Remove macro.
14645         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
14646         (__P): Remove.  All uses removed.
14647         (PTR): Remove.  All uses changed to void *.
14648         (CHAR_BIT, NULL): Remove.
14649         (spaces, zeros, memset_space, memset_zero)
14650         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
14651         Remove.
14652         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
14653         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
14654         Define with prototype.
14655         Remove now-unnecessary prototype decl.
14656         (extra_args_spec): Assume ANSI C.  All uses changed.
14657         (extra_args_spec_iso): Remove.
14658         (my_strftime, emacs_strftimeu): Define via prototype.
14659         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
14660         unconditionally.
14661         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
14662         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
14663         (strtoul, strtol): Remove decls.
14664         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
14665         LONG_MAX): Remove.
14666         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
14667         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
14668         (LOCALE_PARAM_PROTO): New macro.
14669         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
14670         (INTERNAL (strtol), strtol): Define with a prototype.
14671         (PARAMS): Remove.  All uses removed.
14672         * lib/tempname.c: Include <string.h> unconditionally.
14673         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
14674         * lib/xgethostname.c (main): Define with a prototype.
14675         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
14676         Include <stdlib.h> unconditionally.
14677         (calloc, malloc, realloc, free): Remove decls.
14678         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
14679         Include <stdlib.h> unconditionally.  Sort include file names.
14680         (strtod): Remove.
14681         (xstrtod): Define with a prototype.
14682         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
14683         (strtol, strtoul): Remove decls.
14684
14685 2003-09-11  Paul Eggert  <eggert@twinsun.com>
14686
14687         More patches to assume C89 or better.
14688         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
14689         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
14690         string.h, memchr, STDC_HEADERS.
14691
14692 2003-09-11  Paul Eggert  <eggert@twinsun.com>
14693
14694         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
14695         Include <stdlib.h>, <string.h> unconditionally.
14696         Remove now-unnecessary cast to char *.
14697         * lib/strnlen.c: Include <string.h> unconditionally.
14698         * lib/yesno.c (yesno): Define with a prototype.
14699
14700 2003-09-11  Bruno Haible  <bruno@clisp.org>
14701
14702         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
14703
14704 2003-09-10  Jim Meyering  <jim@meyering.net>
14705
14706         * lib/error.c: Correct indentation of cpp directives.
14707
14708 2003-09-10  Bruno Haible  <bruno@clisp.org>
14709
14710         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
14711         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
14712         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
14713         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
14714         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
14715         <stdlib.h> and <string.h> checks.
14716         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
14717         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
14718
14719 2003-09-10  Bruno Haible  <bruno@clisp.org>
14720
14721         * lib/strcspn.c: Include <string.h> unconditionally.
14722         * lib/strpbrk.c: Include <string.h> unconditionally.
14723         * lib/strstr.c: Include <string.h> unconditionally.
14724         * lib/unicodeio.c: Include <string.h> unconditionally.
14725         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
14726         * lib/unsetenv.c: Likewise.
14727         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
14728         * lib/yesno.c: Include <stdlib.h> unconditionally.
14729         (rpmatch): Add prototype.
14730
14731 2003-09-09  Paul Eggert  <eggert@twinsun.com>
14732
14733         More patches to assume C89 or better.
14734         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
14735         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
14736         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
14737         or for string.h.
14738         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
14739         stdlib.h.
14740         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
14741         C headers.
14742         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
14743         string.h.
14744         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
14745         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
14746         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
14747         or for string.h.
14748         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
14749         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
14750         C headers.
14751         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
14752         memcpy.
14753         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
14754         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
14755         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
14756         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
14757         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
14758         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
14759         string.h, free.
14760         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
14761         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
14762         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
14763         C headers, or for string.h.
14764         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
14765         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
14766         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
14767         headers, memory.h, stdlib.h, string.h, strings.h.
14768         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
14769         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
14770         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
14771         strchr.
14772         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
14773         headers, memory.h, string.h.
14774         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
14775         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
14776         free.
14777         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
14778         headers.
14779         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
14780         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
14781         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
14782         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
14783         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
14784
14785 2003-09-09  Paul Eggert  <eggert@twinsun.com>
14786
14787         More K&R removal.
14788
14789         * lib/acosl.c (main): Use a prototype.
14790         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
14791         tanl.c: Likewise.
14792
14793         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
14794
14795         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
14796         (getopt, etopt_long, getopt_long_only, _getopt_internal)
14797         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
14798         with a prototype.
14799         * lib/getopt.c (const): Remove macro.
14800         Include <string.h> unconditionally.
14801         (my_index): Remove; all uses changed to strchr.
14802         (strlen): Remove decl.
14803         (exchange): Remove forward decl; no longer needed.
14804         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
14805         Define with prototype.
14806         * lib/getopt1.c (const): Remove macro.
14807         (getopt_long, getopt_long_only, main): Define with prototype.
14808
14809         * lib/getugroups.c: Include <string.h> unconditionally.
14810
14811         * lib/getusershell.c: Include <stdlib.h> unconditionally.
14812         (getusershell, setusershell, endusershell, readname, main):
14813         Define with prototypes.
14814
14815         * lib/group-member.c: Include group-member.h first.
14816         Include <stdlib.h> unconditionally.
14817
14818         * lib/hard-locale.c: Include hard-locale.h first.
14819         Include <stdlib.h>, <string.h> unconditionally.
14820
14821         * lib/hash.c (free, malloc): Remove decls.
14822         Include <stdlib.h> unconditionally.
14823
14824         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
14825         (getenv): Do not declare.
14826
14827         * lib/idcache.c: Include <string.h> unconditionally.
14828
14829         * lib/long-options.c: Include long-options.h first, to test interface.
14830         Include <stdlib.h> unconditionally.
14831
14832         * lib/makepath.c: Include makepath.h first, to test interface.
14833         Include <stdlib.h> and <string.h> unconditionally.
14834
14835         * lib/linebuffer.c: Include <stdlib.h>.
14836         (free): Remove decl.
14837
14838         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
14839         stddef.h. rpl_malloc returns void *, not char *.
14840         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
14841         prototype.
14842
14843         * lib/md5.h: Include <limits.h> unconditionally.
14844         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
14845         (__P): Remove; all uses removed.
14846         * lib/md5.c: Include "md5.h" first.
14847         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
14848         md5_buffer, md5_process_bytes, md5_process_block):
14849         Define with prototypes.
14850         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
14851         * lib/sha.c: Include "sha.h" first.
14852         Include <stdlib.h>, <string.h> unconditionally.
14853
14854         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
14855         * lib/memcmp.c (__ptr_t): Likewise.
14856         * lib/memrchr.c (__ptr_t): Likewise.
14857         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
14858         Include <string.h> unconditionally.
14859         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
14860         * lib/memchr.c: Include <stdlib.h> unconditionally.
14861         * lib/memchr.c (LONG_MAX): Remove.
14862         * lib/memrchr.c (LONG_MAX): Likewise.
14863         * lib/memchr.c (__memchr): Define via a prototype.
14864         * lib/memrchr.c (__memrchr): Likewise.
14865         * lib/memcmp.c (__P): Remove, and remove all uses.
14866         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
14867         Remove forward decls; no longer needed.
14868         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
14869         Use types required by C89 in prototype.
14870
14871         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
14872         * lib/savedir.c: Likewise.
14873         * lib/mkdir.c (free): Remove decl.
14874         * lib/rmdir.c (rmdir): Define with a prototype.
14875         * lib/savedir.c: Include savedir.h first, to test interface.
14876
14877         * lib/mktime.c (STDC_HEADERS): Remove.
14878         Include <stdlib.h>, <string.h> unconditionally.
14879
14880         * lib/modechange.c: Include <stdlib.h> unconditionally.
14881         (malloc): Remove decl.
14882
14883         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
14884         (free): Remove decl.
14885
14886         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
14887         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
14888         (This type really should be intptr_t, but that's a C99ism.)
14889         (_obstack_memcpy): Remove: all uses changed to memcpy.
14890         Include <string.h> unconditionally.
14891         (struct obstack): Assume __STDC__ for types of members
14892         chunkfun, freefun, extra_arg.
14893         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
14894         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
14895         obstack_begin, obstack_specify_allocation,
14896         obstack_specify_allocation_with_arg, obstack_chunkfun,
14897         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
14898         Remove unprototyped decls and the macros that use them.
14899         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
14900         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
14901         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
14902         (defined __STDC__ && __STDC__)]:
14903         Remove nonprototyped code.
14904         Include <stdlib.h> unconditionally.
14905         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
14906         _obstack_allocated_p, _obstack_free, obstack_free,
14907         _obstack_memory_used, print_and_abort):
14908         Define using prototypes.
14909         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
14910         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
14911         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
14912         obstack_next_free, obstack_object_size, obstack_room) [0]:
14913         Remove unused, unprototyped code.
14914
14915         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
14916
14917         * lib/physmem.c (physmem_total, physmem_available, main): Define
14918         with prototypes.
14919
14920         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
14921         (main): Define with a prototype.
14922
14923         * lib/posixver.c (getenv): Remove decl.
14924
14925         * lib/putenv.c (malloc): Returns void *, not char *.
14926         Include <string.h> unconditionally.
14927         (strchr, memcpy, NULL): Do not define.
14928
14929         * lib/readtokens.c: Include readtokens.h first, to test interface.
14930         Include <stdlib.h>, <string.h> unconditionally.
14931         (init_tokenbuffer): Define with a prototype.
14932
14933         * lib/regex.c (PARAMS): Remove.  All uses removed.
14934         All uses of _RE_ARGS removed, too.
14935         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
14936         unconditionally.
14937         (bzero): Assume memset exists.
14938         (memcmp, memcpy, NULL): Remove.
14939         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
14940         char, or assignments to local vars of type signed char.
14941         (init_syntax_once, PREFIX(extract_number_and_incr),
14942         PREFIX(print_partial_compiled_pattern),
14943         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
14944         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
14945         PREFIX(regex_grow_registers), PREFIX(regex_compile),
14946         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
14947         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
14948         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
14949         wcs_compile_range, byte_compile_range, truncate_wchar,
14950         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
14951         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
14952         count_mbs_length, wcs_re_match_2_internal,
14953         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
14954         PREFIX(alt_match_null_string_p),
14955         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
14956         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
14957         regfree, PREFIX(extract_number)): Define with prototype.  Remove
14958         now-unnecessary declaration, if any.
14959         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
14960         regcomp, regexec):
14961         Remove now-unnecessary casts among pointer types.
14962         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
14963
14964         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
14965         (free): Remove decl.
14966
14967         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
14968
14969         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
14970         (free): Remove decl.
14971
14972         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
14973         * lib/xgetcwd.c: Likewise.
14974
14975         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
14976         (free): Remove decl.
14977
14978         * lib/strchrnul.c (strchrnul): Define with a prototype.
14979         Fix bug: c_in was not converted to char before searching.
14980
14981         The following changes are not K&R related:
14982
14983         * lib/group-member.h: Include <sys/types.h>, so that this file is
14984         self-contained.
14985         * lib/makepath.h: Likewise.
14986
14987         * lib/getusershell.c (readname, default_index, line_size, readname):
14988         Use size_t, not int, for sizes.
14989         (readname): If the size overflows, report an error instead of
14990         looping forever.
14991
14992 2003-09-09  Paul Eggert  <eggert@twinsun.com>
14993
14994         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
14995         libc.
14996
14997 2003-09-09  Paul Eggert  <eggert@twinsun.com>
14998
14999         * README: New section: portability guidelines.
15000
15001 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
15002
15003         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
15004         C89 spec.
15005
15006 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
15007
15008         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
15009
15010 2003-09-08  Paul Eggert  <eggert@twinsun.com>
15011
15012         Assume C89 or better; remove K&R cruft.
15013         A few of these changes were first proposed by Derek Robert Price
15014         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
15015
15016         * lib/addext.c: Include <string.h> unconditionally.
15017         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
15018         Don't declare getenv or malloc.
15019
15020         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
15021         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
15022         (NULL): Remove.
15023         (find_stack_direction, alloca): Use prototypes.
15024
15025         * lib/atexit.c (atexit): Define using a prototype.
15026
15027         * lib/basename.c, dirname.c, stripslash.c:
15028         Include <string.h> unconditionally.
15029
15030         * lib/bcopy.c: Include <stddef.h>.
15031         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
15032
15033         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
15034
15035         * lib/error.h (error, error_at_line, error_print_progname)
15036         [! (defined (__STDC__) && __STDC__)]: Remove decls.
15037         * lib/error.c: Include error.h first, to check interface.
15038         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
15039         (VA_START): Remove; all uses changeed to va_start.
15040         (exit, strerror): Remove decls.
15041         (error_print_progname): Prototype uncondionally.
15042         Don't include <errno.h>; no longer needed.
15043         (private_strerror): Remove.
15044         (error_tail): Always define.
15045         (error, error_at_line): Assume C89 or better; always use prototypes.
15046         * lib/fatal.c: Include "fatal.h" first, to test interface.
15047         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
15048         (VA_START): Remove; all uses changed to va_start.
15049         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
15050         this case.
15051         (exit): Remove decl.
15052         (fatal): Prototype unconditionally.  Assume va_start works.
15053         Abort at end, to pacify gcc.
15054
15055         * lib/euidaccess.c (main): Define with a prototype.
15056
15057         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
15058
15059         * lib/exitfail.c: Include <stdlib.h> unconditionally.
15060
15061         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
15062         prototypes.
15063         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
15064         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
15065         (getenv): Remove decl.
15066         (fnmatch): Define using a prototype.
15067         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
15068         (FCT): Define using a prototype.
15069
15070         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
15071
15072         * lib/gethostname.c: Include <stddef.h>.
15073         (gethostname): Define with prototype.  Length is size_t, not int.
15074
15075 2003-09-08  Paul Eggert  <eggert@twinsun.com>
15076
15077         Assume C89 or better; remove K&R cruft.
15078         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
15079         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
15080         string.h, getenv, malloc.
15081         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
15082         headers.
15083         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
15084         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
15085         do not check for strerror.
15086         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
15087         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
15088         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
15089         do not check for doprnt or vprintf.
15090         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
15091         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
15092
15093 2003-09-08  Paul Eggert  <eggert@twinsun.com>
15094
15095         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
15096         getversion.c should have been removed then, but was accidentally
15097         preserved.
15098
15099         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
15100         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
15101
15102 2003-09-08  Karl Berry  <karl@gnu.org>
15103
15104         * config/config.sub, config.guess, srclistvars.sh: update from savannah
15105                 config, forget about prep.
15106
15107         * config/depcomp, missing: update from automake.
15108
15109 2003-09-07  Paul Eggert  <eggert@twinsun.com>
15110
15111         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
15112         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
15113
15114 2003-09-07  Paul Eggert  <eggert@twinsun.com>
15115
15116         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
15117         copy_tm_result.  Bug reported by Simon Josefsson in
15118         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
15119
15120 2003-09-06  Paul Eggert  <eggert@twinsun.com>
15121
15122         * m4/time_r.m4: New file.
15123         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
15124         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
15125         is. Check for timegm declaration.
15126         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
15127         Do not check for gmtime_r.
15128         Replace mktime if __mktime_internal does not exist and if mktime
15129         hasn't been replaced already.
15130
15131 2003-09-06  Paul Eggert  <eggert@twinsun.com>
15132
15133         * lib/time_r.c, time_r.h: New files.
15134
15135         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
15136         __localtime_r.
15137         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
15138         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
15139
15140         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
15141         __gmtime_r.
15142         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
15143         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
15144         Include <time_r.h>.
15145
15146         * lib/timegm.c: Switch to glibc implementation, with the following
15147         changes:
15148         [defined HAVE_CONFIG_H]: Include <config.h>.
15149         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
15150         (__mktime_internal) [!defined _LIBC]: New decl.
15151         (__gmtime_r) [!defined _LIBC]: New macro and function.
15152         (timegm): Use a prototype, since gnulib assumes C89.
15153         Do not bother declaring tmp to be const, as it's not really usefu.
15154         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
15155         (timegm): Declare only if HAVE_DECL_TIMEGM.
15156
15157 2003-09-06  Paul Eggert  <eggert@twinsun.com>
15158
15159         * MODULES.html.sh (func_all_modules): Add time_r.
15160         * modules/time_r: New file.
15161         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
15162         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
15163
15164 2003-09-03  Paul Eggert  <eggert@twinsun.com>
15165
15166         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
15167         Bug reported by Lute Kamstra in
15168         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
15169
15170         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
15171         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
15172         course with correspondingly smaller numbers for tomorrow and
15173         yesterday.  From Tadayoshi Funaba.  Originally installed into
15174         sh-utils on 1999-08-07, but the patch got lost (I guess during the
15175         coreutils merge?).
15176
15177 2003-08-31  Simon Josefsson  <jas@extundo.com>
15178
15179         * modules/timegm: New file.
15180         * MODULES.html.sh (func_all_modules): Add timegm.
15181
15182 2003-08-31  Simon Josefsson  <jas@extundo.com>
15183
15184         * m4/timegm.m4: New file.
15185
15186 2003-08-31  Simon Josefsson  <jas@extundo.com>
15187
15188         * lib/timegm.h: New file.
15189         * lib/timegm.c: New file.  Based on
15190         wget-1.8.2/src/http.c:mktime_from_utc.
15191
15192 2003-08-31  Karl Berry  <karl@gnu.org>
15193
15194         * lib/argp.h: update from libc.
15195
15196 2003-08-28  Bruno Haible  <bruno@clisp.org>
15197
15198         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
15199         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
15200         followed by '#define fnmatch fnmatch_posix' gives an error.
15201
15202 2003-08-28  Bruno Haible  <bruno@clisp.org>
15203
15204         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
15205         warning on QNX, which defines O_BINARY to 000000.
15206
15207 2003-08-27  Jim Meyering  <jim@meyering.net>
15208
15209         * m4/mkstemp.m4: Require that the system mkstemp be able to create
15210         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
15211         would fail after 32.  Reported by Danny Levinson.  Details here:
15212         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
15213
15214 2003-08-24  Bruno Haible  <bruno@clisp.org>
15215
15216         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
15217         MSVC7 <stdio.h> is included later.
15218
15219 2003-08-22  Simon Josefsson  <jas@extundo.com>
15220
15221         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
15222
15223 2003-08-20  Karl Berry  <karl@gnu.org>
15224
15225         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
15226
15227 2003-08-20  Bruno Haible  <bruno@clisp.org>
15228
15229         * modules/progname: New file.
15230         * MODULES.html.sh (func_all_modules): Add progname.
15231
15232 2003-08-20  Bruno Haible  <bruno@clisp.org>
15233
15234         * lib/progname.h: New file, from GNU gettext.
15235         * lib/progname.c: New file, from GNU gettext.
15236         * lib/progreloc.c: New file, from GNU gettext.
15237
15238 2003-08-19  Jim Meyering  <jim@meyering.net>
15239
15240         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
15241         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
15242
15243 2003-08-19  Bruno Haible  <bruno@clisp.org>
15244
15245         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
15246         more.
15247
15248 2003-08-19  Bruno Haible  <bruno@clisp.org>
15249
15250         * lib/xstrdup.c: Assume <string.h> exists.
15251
15252 2003-08-18  Paul Eggert  <eggert@twinsun.com>
15253
15254         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
15255         in makefile rules.
15256
15257 2003-08-18  Jim Meyering  <jim@meyering.net>
15258
15259         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
15260         * m4/lib-ld.m4: Likewise.
15261
15262 2003-08-18  Jim Meyering  <jim@meyering.net>
15263
15264         * lib/setenv.h: Indent nested cpp directive.
15265         * lib/vasnprintf.c: Remove trailing blanks.
15266
15267 2003-08-17  Simon Josefsson  <jas@extundo.com>
15268
15269         * modules/xstrndup: New file.
15270         * MODULES.html.sh (func_all_modules): Add xstrndup.
15271
15272 2003-08-17  Simon Josefsson  <jas@extundo.com>
15273
15274         * modules/argp: Fix autoconf macro name. Add more dependencies.
15275
15276 2003-08-17  Simon Josefsson  <jas@extundo.com>
15277
15278         * m4/xstrndup.m4: New file.
15279
15280 2003-08-17  Simon Josefsson  <jas@extundo.com>
15281
15282         * m4/argp.m4: New file.
15283
15284 2003-08-17  Simon Josefsson  <jas@extundo.com>
15285             Bruno Haible  <bruno@clisp.org>
15286
15287         * lib/xstrndup.h: New file.
15288         * lib/xstrndup.c: New file.
15289
15290 2003-08-17  Bruno Haible  <bruno@clisp.org>
15291
15292         * modules/strndup (Files, Include): Add lib/strndup.h.
15293
15294 2003-08-17  Bruno Haible  <bruno@clisp.org>
15295
15296         * modules/euidaccess (Files): Add lib/euidaccess.h.
15297
15298 2003-08-17  Bruno Haible  <bruno@clisp.org>
15299
15300         * lib/strndup.h: New file.
15301
15302 2003-08-17  Bruno Haible  <bruno@clisp.org>
15303
15304         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
15305         like AC_GNU_SOURCE.
15306         * modules/extensions (configure.ac): Comment out the invocation of
15307         gl_USE_SYSTEM_EXTENSIONS.
15308
15309 2003-08-16  Paul Eggert  <eggert@twinsun.com>
15310
15311         Merges from coreutils, etc.
15312         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
15313         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
15314         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
15315         fixing a typo.
15316         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
15317         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
15318
15319 2003-08-16  Paul Eggert  <eggert@twinsun.com>
15320
15321         Document merge from coreutils.
15322         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
15323         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
15324         * modules/utime: Add m4/utimes-null.m4.
15325
15326 2003-08-16  Paul Eggert  <eggert@twinsun.com>
15327
15328         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
15329         space, undoing this 2003-08-12 change:
15330         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
15331
15332 2003-08-16  Paul Eggert  <eggert@twinsun.com>
15333
15334         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
15335         strtoul.c from libc, undoing this 2003-08-12 change:
15336         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
15337
15338 2003-08-16  Jim Meyering  <jim@meyering.net>
15339
15340         Merges from coreutils.
15341         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
15342         prefix.  Adjust cache variables similarly.  Create 500 rather than
15343         just 300 files, to exercise bug on Darwin6.5, too.
15344         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
15345         $missing_dir.
15346         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
15347         AM_SYS_POSIX_TERMIOS.
15348         Reported by mkc@mathdogs.com.
15349         Also change use of $am_cv_sys_posix_termios
15350         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
15351         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
15352         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
15353         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
15354         in /proc/mounts until it finds one with matching device number.  This
15355         is unnecessary when the FILE argument *is* a mount point.  No stat call
15356         is necessary in that case.  So, disable the statvfs-testing code on
15357         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
15358         as RedHat bug# 84846.
15359         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
15360         to 1MB, so as not to render systems with no stack size limit (e.g.,
15361         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
15362         Include <unistd.h>.  On some systems,
15363         it is required for the definition of _SC_PAGESIZE.
15364
15365 2003-08-16  Jim Meyering  <jim@meyering.net>
15366
15367         Merge from coreutils.
15368         * lib/xstrtoimax.c: #else #if -> #elif.
15369         * lib/xstrtoumax.c: Likewise.
15370
15371 2003-08-16  Jim Meyering  <jim@meyering.net>
15372
15373         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
15374         * m4/utimes.m4: Removed.
15375         * m4/utimes-null.m4: Renamed from utimes.m4.
15376
15377         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
15378         to 1MB, so as not to render systems with no stack size limit (e.g.,
15379         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
15380         Include <unistd.h>.  On some systems,
15381         it is required for the definition of _SC_PAGESIZE.
15382
15383 2003-08-16  Jim Meyering  <jim@meyering.net>
15384         and Paul Eggert  <eggert@cs.ucla.edu>
15385
15386         Merges from coreutils, etc.
15387
15388         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
15389         using the latest version from cvs.  This avoids problems with #line
15390         directives using a vendor (Sun) compiler.
15391         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
15392         Don't set GETGROUPS_LIB here; now it's
15393         done via getgroups.m4's wrapper function.
15394         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
15395         rather than just in sh-util/configure.in, so that the
15396         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
15397         same.
15398         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
15399         AC_FUNC_GETLOADAVG where to find getloadavg.c.
15400         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
15401         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
15402         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
15403         Remove code that is now done by the newly-required macros.
15404         Append $(EXEEXT) to DF_PROG.
15405         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
15406         Do not invoke or require the following here,
15407         since prereq.m4 or some gnulib .m4 now does this for us:
15408         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
15409         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
15410         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
15411         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
15412         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
15413         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
15414         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
15415         AC_FUNC_OBSTACK.
15416         Do not replace the following functions, as this is now the job
15417         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
15418         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
15419         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
15420         atexit getpass, strdup, getpagesize.
15421         Replace 'raise'.
15422         Do not check for the following functions, as this is now the job
15423         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
15424         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
15425         setregid.
15426         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
15427         Check for sys/sysctl.h.
15428         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
15429         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
15430         of checking for ssize_t ourselves.
15431
15432         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
15433         Require every macro that gnulib/modules/* suggests for us.
15434         (jm_PREREQ_ADDEXT): New macro.
15435         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
15436         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
15437
15438         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
15439         (gl_PHYSMEM): Use it.
15440         Also check for `table' function.
15441         Check for new headers and functions.
15442         Add check for sys/sysmp.h.
15443         With suggestions from Kaveh Ghazi.
15444         Ignore headers that are present but cannot be compiled.  This
15445         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
15446         C 5.4.
15447
15448 2003-08-15  Paul Eggert  <eggert@twinsun.com>
15449
15450         Document merge from coreutils.
15451         * modules/userspec: Depend on posixver.
15452         * modules/strftime: Depend on tzset.
15453
15454 2003-08-15  Paul Eggert  <eggert@twinsun.com>
15455
15456         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
15457         rather than tab, after '#' in shell-script copyright notices.
15458         Suggested by Bruno Haible.
15459
15460 2003-08-15  Paul Eggert  <eggert@twinsun.com>
15461
15462         * config/srclist-update: Use three spaces, rather than tab, after '#'
15463         in shell-script copyright notices.  Suggested by Bruno Haible.
15464         Remove unnecessary parenthesization in regular expression.
15465
15466 2003-08-15  Jim Meyering  <jim@meyering.net>
15467
15468         Merge from coreutils.
15469         * lib/xgethostname.c: Include <stdlib.h>.
15470         (xghostname): Don't exit for anything other than memory-related
15471         failure; just return NULL.
15472         * lib/userspec.c: Include "posixver.h".
15473         (parse_user_spec): Accept `.' as a separator only
15474         in pre-POSIX-200112 mode.
15475         * lib/strtoimax.c: Use #elif rather than #else #if.
15476         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
15477         Remove function, now that we can rely on a working tzset function.
15478         [!_LIBC]: Ensure that the required autoconf test has been run.
15479         [!defined _NL_CURRENT && HAVE_STRFTIME]:
15480         Use underlying_strftime for %r.
15481         * lib/sha.c: Merge in some clean-up and optimization changes from
15482         glibc.
15483         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
15484         Ensure that it is a multiple of 64.
15485         Rearrange loop exit tests so as to avoid performing an
15486         additional fread after encountering an error or EOF.
15487         * lib/realloc.c: Update copyright date.
15488
15489 2003-08-15  Jim Meyering  <jim@meyering.net>
15490         and Paul Eggert  <eggert@twinsun.com>
15491
15492         Merge from coreutils.
15493         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
15494         member but strut utmpx does not.  Needed for AIX 4.3.3.
15495         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
15496
15497 2003-08-15  Jim Meyering  <jim@meyering.net>
15498         and Paul Eggert  <eggert@cs.ucla.edu>
15499
15500         Merges from coreutils, etc.
15501         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
15502         Require gl_FUNC_TZSET_CLOBBER.
15503         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
15504         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
15505         members.
15506
15507 2003-08-14  Paul Eggert  <eggert@twinsun.com>
15508
15509         Help the merge from coreutils.
15510         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
15511         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
15512         * m4/tzset.m4: Use it too.
15513
15514 2003-08-14  Paul Eggert  <eggert@twinsun.com>
15515
15516         * modules/tzset: New file.
15517
15518 2003-08-14  Jim Meyering  <jim@meyering.net>
15519
15520         Merges from coreutils.
15521         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
15522         variable names, rather than @FNMATCH_H@.
15523         * modules/alloca: Likewise for $(ALLOCA_H).
15524
15525         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
15526         the three copies of the literal target, `fnmatch.h'.
15527         * modules/alloca (alloca.h): Likewise.
15528
15529 2003-08-14  Jim Meyering  <jim@meyering.net>
15530
15531         Merge from coreutils.
15532         * m4/tzset.m4: New file.
15533         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
15534         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
15535         otherwise, AIX 5.1 systems would end up using the latter.
15536         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
15537         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
15538         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
15539         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
15540
15541 2003-08-14  Jim Meyering  <jim@meyering.net>
15542
15543         Merge from coreutils.
15544         * lib/obstack.h: Whitespace changes.
15545         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
15546         and xcalloc return values.
15547         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
15548         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
15549         hang on OSF/1 5.1 for DIR on both local and remote file systems.
15550         Reported by (and fix confirmed by) Nelson H. F. Beebe.
15551         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
15552         error from mntctl.
15553         Use mntctl's return value to drive the entry-processing loop, since
15554         we can't rely on the value of the vmt_length member in the last
15555         entry.  On some systems doing so could result in exhausting
15556         virtual memory.  Based in part on a patch from Mike Jetzer.
15557
15558 2003-08-14  Jim Meyering  <jim@meyering.net>
15559         and Paul Eggert  <eggert@twinsun.com>
15560
15561         Merges from coreutils, plus other fixes.
15562         * lib/physmem.c: Merge in portability changes from gcc/libiberty
15563         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
15564         for credits and details.  Thanks to Kaveh Ghazi for helping
15565         to keep these files in sync.
15566         (ARRAY_SIZE): Define it.
15567         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
15568         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
15569         (memcasecmp): Don't assume size_t fits in unsigned int.
15570         Remove casts and duplicate code.
15571         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
15572         (memcpy): Remove definition.
15573         Merge in some clean-up and optimization changes from glibc.
15574         [BLOCKSIZE]: Move definition to top of file.
15575         Ensure that it is a multiple of 64.
15576         Rearrange loop exit tests so as to avoid performing an
15577         additional fread after encountering an error or EOF.
15578         * lib/md5.h (md5_uintptr): Define.
15579         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
15580         return to the initial working directory.  Preserve errno
15581         for caller.
15582         * lib/idcache.c: Include "xalloc.h".
15583         (xmalloc, xrealloc): Remove decls.
15584         (getuser): Remove casts no longer required in C89.
15585         * lib/human.c: Include stdio.h, for sprintf.
15586         * lib/group-member.c: Include "xalloc.h".
15587         (xmalloc, xrealloc): Remove decls.
15588         (get_group_info): Remove casts no longer required in C89.
15589         * lib/getusershell.c (readname): Remove casts no longer required in
15590         C89.
15591         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
15592         * lib/getline.c: Whitespace fix, from coreutils.
15593
15594 2003-08-13  Paul Eggert  <eggert@twinsun.com>
15595
15596         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
15597         Check for isascii.
15598
15599         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
15600         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
15601         Undo previous (whitespace-only) change.
15602
15603 2003-08-13  Paul Eggert  <eggert@twinsun.com>
15604
15605         * lib/exclude.c: Include <ctype.h>
15606         (IN_CTYPE_DOMAIN): New macro.
15607         (is_space): New fn.
15608         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
15609         and empty lines.
15610
15611         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
15612         Undo previous (whitespace-only) change.
15613
15614 2003-08-13  Paul Eggert  <eggert@twinsun.com>
15615
15616         * config/srclist-update: Change update back to the old behavior,
15617         leaving whitespace alone.  Use one 'sed' command rather than a
15618         pipeline.
15619         (fixlicense): Now a variable, not a function.
15620         (remove_trailing_blanks): Remove.
15621         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
15622         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
15623         Undo previous (whitespace-only) change.
15624
15625 2003-08-12  Paul Eggert  <eggert@twinsun.com>
15626
15627         Merge from coreutils.
15628         * modules/euidaccess: Add lib_SOURCES, include for new
15629         file euidaccess.h
15630
15631 2003-08-12  Paul Eggert  <eggert@twinsun.com>
15632
15633         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
15634         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
15635         Normalize leading white space and remove trailing white space.
15636
15637         Merge from coreutils
15638         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
15639
15640         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
15641         0.12.1.  These files are now being upgraded automatically by
15642         ../config/srclist-update.
15643
15644 2003-08-12  Paul Eggert  <eggert@twinsun.com>
15645
15646         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
15647         Normalize leading white space and remove trailing white space.
15648         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
15649         notice, as per ../config/srclist-update.
15650
15651         Merge from coreutils.
15652         * lib/euidaccess.h: New file.
15653         * lib/euidaccess.c: Include it.
15654         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
15655         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
15656         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
15657
15658 2003-08-12  Paul Eggert  <eggert@twinsun.com>
15659
15660         * config/srclist-update: Add copyright notice.
15661         (remove_id_lines, remove_trailing_blanks): New constants.
15662         (fixfile): Use them to normalize spacing a bit in copied files.
15663         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
15664         Normalize leading white space and remove trailing white space.
15665
15666         * config/texinfo.tex: Sync with texinfo.
15667
15668         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
15669         strtoul.c from libc, to merge coreutils whitespace changes.
15670
15671         * config/srclist.txt: Get the following m4 files from gettext:
15672         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
15673         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
15674         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
15675         wint_t.m4.
15676
15677 2003-08-12  Karl Berry  <karl@gnu.org>
15678
15679         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
15680         been made.
15681
15682 2003-08-11  Paul Eggert  <eggert@twinsun.com>
15683
15684         * modules/gnu-source, m4/gnu-source.m4:
15685         Remove; we're assuming Autoconf 2.54 or later now.
15686         Suggested by Bruno Haible.
15687         * MODULES.html.sh (func_all_modules): Remove gnu-source.
15688
15689 2003-08-11  Bruno Haible  <bruno@clisp.org>
15690
15691         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
15692
15693 2003-08-11  Bruno Haible  <bruno@clisp.org>
15694
15695         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
15696         (vasnprintf): Use it instead of wcslen.
15697
15698 2003-08-11  Bruno Haible  <bruno@clisp.org>
15699
15700         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
15701         value to ensure that _Bool promotes to int. Use #define for _Bool when
15702         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
15703
15704 2003-08-10  Karl Berry  <karl@gnu.org>
15705
15706         * lib/regex.h: update from libc (whitespace fix).
15707
15708 2003-08-09  Paul Eggert  <eggert@twinsun.com>
15709
15710         Merge some files from coreutils.  These changes were
15711         originally made by Jim Meyering.
15712         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
15713         many older Unixes require this.
15714         * lib/alloca.c (alloca): Remove cast to argument of free;
15715         no longer needed in C89.
15716         * lib/alloca_.h, regex.h: Fix white space to match
15717         what GNU indent does.
15718
15719 2003-08-09  Paul Eggert  <eggert@twinsun.com>
15720
15721         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
15722         apparently Emacs's Unicode mode got confused before my 2003-08-05
15723         checkin.
15724
15725 2003-08-08  Paul Eggert  <eggert@twinsun.com>
15726
15727         * m4/extensions.m4: New file.
15728         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
15729         Require gl_USE_SYSTEM_EXTENSIONS.
15730         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
15731         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
15732
15733 2003-08-08  Paul Eggert  <eggert@twinsun.com>
15734
15735         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
15736         * modules/extensions, modules/gnu-source: New files.
15737         * modules/timespec, modules/unlocked-io: Depend on extensions.
15738
15739 2003-08-07 Paul Eggert  <eggert@twinsun.com>
15740
15741         * modules/restrict: New file.
15742         * MODULES.html.sh (func_all_modules): Add restrict.
15743         * modules/regex: Depend on restrict.
15744
15745 2003-08-07  Paul Eggert  <eggert@twinsun.com>
15746
15747         * m4/restrict.m4: New file.
15748         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
15749
15750 2003-08-07  Bruno Haible  <bruno@clisp.org>
15751
15752         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
15753         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
15754
15755 2003-08-07  Bruno Haible  <bruno@clisp.org>
15756
15757         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
15758         makes the module 'getndelim2' compatible with the module 'getline'.
15759
15760 2003-08-05  Paul Eggert  <eggert@twinsun.com>
15761
15762         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
15763         byte with "\201" to avoid glitches when editing that source file
15764         with multi-gnome-terminal.
15765
15766 2003-08-05  Paul Eggert  <eggert@twinsun.com>
15767
15768         * lib/bumpalloc.h: Remove.
15769
15770 2003-08-05  Paul Eggert  <eggert@twinsun.com>
15771
15772         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
15773         * modules/bumpalloc: Remove.
15774
15775 2003-08-04  Paul Eggert  <eggert@twinsun.com>
15776
15777         * lib/getloadavg.c: Change copyright notice and spacing to conform to
15778         GNU coding style.
15779
15780         Merge from coreutils.
15781         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
15782         1. From glibc.
15783         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
15784         from Karl Berry, implemented by Jim Meyering.
15785         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
15786         from Dmitry V. Levin.
15787         Remove anachronistic cast of xrealloc.
15788         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
15789         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
15790         type. Otherwise, it wouldn't compile with at least /bin/cc on
15791         ymp-cray-unicos9.0.2.X.
15792         Combine two mostly-identical uses of alloca into one.
15793         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
15794
15795 2003-08-04  Dave Love <d.love@dl.ac.uk>
15796
15797         [From Emacs.]
15798
15799         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
15800         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
15801         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
15802         obsolete NLIST_NAME_UNION.
15803         [__GNU__]: Undef BSD and FSCALE.
15804         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
15805
15806 2003-08-03  Paul Eggert  <eggert@twinsun.com>
15807
15808         * lib/stdbool_.h (_Bool): Make it signed char, instead of
15809         an enum type, so that it's guaranteed to promote to int.  See:
15810         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
15811
15812 2003-08-03  Karl Berry  <karl@gnu.org>
15813
15814         * config/depcomp: update from automake.
15815
15816 2003-07-31  Paul Eggert  <eggert@twinsun.com>
15817
15818         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
15819         (strerror): Don't assume that a printable int fits in 14 bytes.
15820
15821 2003-07-31  Bruno Haible  <bruno@clisp.org>
15822
15823         * modules/getpass-gnu: New file.
15824         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
15825
15826 2003-07-31  Bruno Haible  <bruno@clisp.org>
15827
15828         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
15829
15830 2003-07-24  Karl Berry  <karl@gnu.org>
15831
15832         * config/missing: update from automake.
15833
15834 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
15835             Bruno Haible  <bruno@clisp.org>
15836
15837         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
15838         * lib/getline.c (getline, getdelim): Likewise.
15839         Remove _GNU_SOURCE define; now it's defined in config.h through
15840         m4/getline.m4.
15841
15842 2003-07-23  Karl Berry  <karl@gnu.org>
15843
15844         * config/config.sub: update from prep.
15845
15846 2003-07-22  Paul Eggert  <eggert@twinsun.com>
15847
15848         * modules/xalloc (Depends-on): Add exitfail.
15849         * modules/xmemcoll: Likewise.
15850
15851 2003-07-22  Paul Eggert  <eggert@twinsun.com>
15852
15853         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
15854         over-parenthesization in macros.
15855
15856         Sync with coreutils.
15857
15858         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
15859         required by C99.
15860
15861         Use `exit_failure' for xalloc and xmemcoll instead of their own
15862         private exit-failure variables.
15863         * lib/xalloc.h (xalloc_exit_failure): Remove.
15864         * lib/xmalloc.c: Likewise.  Include exitfail.h.
15865         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
15866         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
15867         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
15868         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
15869
15870 2003-07-20  Jim Meyering  <jim@meyering.net>
15871
15872         * modules/closeout (Depends-on): Add exitfail.
15873         Suggestion from Bruno Haible.
15874
15875 2003-07-19  Karl Berry  <karl@gnu.org>
15876
15877         * config/config.sub: update from prep.
15878
15879 2003-07-18  Paul Eggert  <eggert@twinsun.com>
15880
15881         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
15882         Remove.
15883         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
15884         to test that it can stand by itself.  Include "exitfail.h".
15885         Clients should set exit_failure instead.
15886         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
15887
15888 2003-07-18  Bruno Haible  <bruno@clisp.org>
15889
15890         * modules/getndelim2: New file.
15891         * modules/getline: Share files with module getndelim2.
15892         * modules/getnline: Depend on getndelim2 instead of sharing files with
15893         it. Add getnline.c to lib_SOURCES.
15894         * MODULES.html.sh (func_all_modules): Add getndelim2.
15895
15896 2003-07-18  Bruno Haible  <bruno@clisp.org>
15897
15898         * m4/getndelim2.m4: New file.
15899         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
15900         invoke gl_PREREQ_GETNDELIM2.
15901         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
15902         gl_PREREQ_GETNDELIM2.
15903         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
15904         gl_GETNDELIM2.
15905
15906 2003-07-18  Bruno Haible  <bruno@clisp.org>
15907
15908         * lib/getndelim2.h: New file.
15909         * lib/getndelim2.c: Make into a module of its own. Include config.h,
15910         getndelim2.h.
15911         (getndelim2): Make non-static. Change return type to ssize_t.
15912         * lib/getline.h: Change argument names.
15913         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
15914         * lib/getnline.c: Include getndelim2.h.
15915
15916 2003-07-18  Andreas Schwab  <schwab@suse.de>
15917
15918         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
15919
15920 2003-07-17  Karl Berry  <karl@gnu.org>
15921
15922         * config/config.sub: update from prep.
15923
15924 2003-07-17  Bruno Haible  <bruno@clisp.org>
15925
15926         * modules/getnline: New file.
15927         * modules/getline: Add lib/getndelim2.c to source file list.
15928         * MODULES.html.sh (func_all_modules): Add getnline.
15929
15930 2003-07-17  Bruno Haible  <bruno@clisp.org>
15931
15932         * m4/getnline.m4: New file.
15933
15934 2003-07-17  Bruno Haible  <bruno@clisp.org>
15935
15936         * m4/Makefile.am.in: Remove file.
15937         * m4/Makefile.am: Remove file.
15938         * m4/Makefile.in: Remove file.
15939
15940 2003-07-17  Bruno Haible  <bruno@clisp.org>
15941
15942         * lib/getnline.h: New file.
15943         * lib/getnline.c: New file.
15944         * lib/getndelim2.c: New file, extracted from getline.c.
15945         (getndelim2): Renamed from getdelim2, with added nmax argument.
15946         * lib/getline.c: Include getndelim2.c.
15947         (getdelim2): Moved out to getndelim2.c.
15948         (getline, getdelim): Update.
15949
15950 2003-07-17  Bruno Haible  <bruno@clisp.org>
15951
15952         * lib/Makefile.am: Remove file.
15953         * lib/Makefile.in: Remove file.
15954
15955 2003-07-17  Bruno Haible  <bruno@clisp.org>
15956
15957         * configure.in: Remove file.
15958         * Makefile.in: Remove file.
15959
15960 2003-07-17  Bruno Haible  <bruno@clisp.org>
15961
15962         * MODULES.html.sh: Put the </BODY> right before </HTML>.
15963
15964 2003-07-16  Karl Berry  <karl@gnu.org>
15965
15966         * config/srclist-update: was running fixlicense twice, which caused
15967                 texinfo.tex to be nullified for some reason.  Simplify,
15968                 $gplsrc is no longer needed as far as I can see?
15969
15970 2003-07-16  Jim Meyering  <jim@meyering.net>
15971
15972         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
15973
15974 2003-07-15  Paul Eggert  <eggert@twinsun.com>
15975
15976         * config/srclist.txt: Get the following files from gettext-runtime/intl
15977         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
15978         ref-del.sin.  From Bruno Haible.
15979         * config/srclist-update (fixfile): Change grep pattern again, since the
15980         previous fix didn't work (there was another trailing $).  Use
15981         '[$]' to escape the $s.
15982
15983 2003-07-15  Karl Berry  <karl@gnu.org>
15984
15985         * lib/vasnprintf.c: update from gettext.
15986
15987 2003-07-15  Karl Berry  <karl@gnu.org>
15988
15989         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
15990         gets expanded when surrounded by '$'.
15991
15992 2003-07-15  Jim Meyering  <jim@meyering.net>
15993
15994         * modules/save-cwd: Don't depend on error.  From Derek Price.
15995
15996 2003-07-15  Jim Meyering  <jim@meyering.net>
15997
15998         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
15999
16000 2003-07-14  Simon Josefsson  <jas@extundo.com>
16001
16002         * modules/mempcpy: New file.
16003         * MODULES.html.sh (func_all_modules): Add mempcpy.
16004
16005 2003-07-14  Simon Josefsson  <jas@extundo.com>
16006
16007         * m4/mempcpy.m4: New file.
16008
16009 2003-07-14  Simon Josefsson  <jas@extundo.com>
16010
16011         * lib/mempcpy.h: New file.
16012         * lib/mempcpy.c: New file.
16013
16014 2003-07-14  Paul Eggert  <eggert@twinsun.com>
16015
16016         * modules/getdate, modules/posixtm: Depend on mktime.
16017
16018 2003-07-14  Paul Eggert  <eggert@twinsun.com>
16019
16020         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
16021         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
16022         unicodeio.c, unicodeio.h, unlocked-io.h:
16023         Switch from LGPL to GPL.
16024
16025 2003-07-14  Paul Eggert  <eggert@twinsun.com>
16026
16027         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
16028         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
16029         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
16030         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
16031         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
16032         updated automatically by ../config/srclist-update.  This changes
16033         their license from LPGL to GPL.
16034
16035 2003-07-14  Paul Eggert  <eggert@twinsun.com>
16036
16037         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
16038         assumed to refer to the root of the most recent stable gettext version.
16039         * config/srclistvars.sh: Add defaults for eggert.
16040         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
16041         Match "This program" as well as "The program".  This is needed
16042         for gettext.
16043
16044 2003-07-14  Jim Meyering  <jim@meyering.net>
16045
16046         Don't emit diagnostics.  Let callers do that.
16047         * lib/save-cwd.c: Don't include "error.h".
16048         (save_cwd): Don't call error.  Ensure that errno is valid
16049         when returning nonzero.
16050
16051         * lib/save-cwd.h (restore_cwd): Update prototype.
16052         * lib/save-cwd.c (restore_cwd): Remove two parameters.
16053         Simplify.  Don't call error upon failure.  Let callers do that.
16054         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
16055         when auditing is enabled.  But don't bother updating the #if.
16056
16057 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
16058
16059         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
16060         it breaks C++ compilation.
16061         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
16062
16063 2003-07-10  Simon Josefsson  <jas@extundo.com>
16064
16065         * modules/strchrnul (Makefile.am): Add strchrnul.h.
16066
16067 2003-07-10  Jim Meyering  <jim@meyering.net>
16068
16069         * m4/clock_time.m4: Remove trailing blank.
16070         * m4/intmax_t.m4: Likewise.
16071
16072 2003-07-10  Jim Meyering  <jim@meyering.net>
16073
16074         * lib/vasnprintf.c: Remove trailing blanks.
16075         Make cpp indentation consistent.
16076
16077 2003-07-09  Paul Eggert  <eggert@twinsun.com>
16078
16079         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
16080         posixver.c, strftime.c, strnlen.c, strverscmp.c:
16081         Switch from LGPL to GPL.
16082
16083 2003-07-09  Paul Eggert  <eggert@twinsun.com>
16084
16085         * config/srclist.txt: Sort sublists.  Add
16086         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
16087         that differ from gnulib for one reason or another; we'd like this list
16088         to be smaller but for now let's document what we have.
16089
16090 2003-07-08  Paul Eggert  <eggert@twinsun.com>
16091
16092         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
16093         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
16094         and sweeter "eval x=$x".
16095         * config/srclist.txt: Get lib/argp* from glibc.
16096
16097 2003-07-07  Paul Eggert  <eggert@twinsun.com>
16098
16099         * lib/mktime.c: Fix some boundary cases and remove need for floating
16100         point.
16101
16102         Issue a compile-time diagnostic if time_t is floating point, or if
16103         two's complement arithmetic is not in effect, or if arithmetic
16104         right shift does not propagate the sign.  These assumptions were
16105         all in the original code but they weren't checked.
16106
16107         (TIME_T_MIDPOINT, verify): New macros.
16108         (__isleap): Remove; it has integer overflow problems.
16109         (leapyear): New function, without those problems.
16110         (ydhms_tm_diff): Remove; splitting into two parts.
16111         (ydhms_diff): New function, containing the arithmetic part of
16112         the old ydhms_tm_diff function.  Issue a compile-time
16113         diagnostic if we are not using C99 integer division.
16114         Avoid casts when possible.
16115         (guess_time_tm): New function, containing the checking part of
16116         the old ydhms_tm_diff function.  Return the new value, rather than
16117         the difference between it and the old.  Accept a new argument T
16118         so that *T specifies the old value.  Check for overflow in the result.
16119
16120         (__mktime_internal): Use a time_t offset, not a long int offset.
16121         This undoes the 2003-06-04 change, which is no longer needed now
16122         that we have better overflow checking.
16123         (localtime_offset): Likewise.
16124
16125         (__mktime_internal): Avoid harmful overflow on hosts where time_t
16126         and long are 64-bit but int is only 32-bit.
16127         (ydhms_diff): Use long int to store year1 and yday1.
16128         Issue a compile-time diagnostic if long int is not wide enough.
16129
16130         (__mktime_internal): Use long int to store adjusted year and yday.
16131         Use plain C rather than preprocessor commands, if that doesn't
16132         affect efficiency.
16133         Check for overflow (and try to repair) after each probe
16134         rather than checking only at the very end.  This avoids some bugs
16135         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
16136         does not equal GMT offset at maximum time).
16137         Use integer to check for overflow rather than floating point; this
16138         is more portable to non-IEEE hosts, and is a tad faster.
16139         When we detect that we are oscillating between two values,
16140         don't check whether tm_isdst has the requested value, since
16141         we already know the answer.  When tm_isdst has the wrong value,
16142         use a different heuristic to find the right one, based on the
16143         extreme values actually observed in practice in tz2003a,
16144         rather than the (overly optimistic) "previous 3 calendar quarters".
16145
16146         (not_equal_tm, print_tm, check_result): Use "const T" rather than
16147         "T const" to accommodate glibc style.
16148         (check_result): Use less-confusing report format.  "long" -> "long int.
16149         (main): Likewise.
16150         Don't loop if the iteration overflows time_t.
16151         Allow a negative step in the iteration.
16152
16153 2003-07-06  Karl Berry  <karl@gnu.org>
16154
16155         * config/depcomp: update from automake.
16156         * config/config.sub: update from prep.
16157
16158 2003-07-03  Karl Berry  <karl@gnu.org>
16159
16160         * config/config.guess: update from prep.
16161
16162 2003-07-01  Paul Eggert  <eggert@twinsun.com>
16163
16164         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
16165         xreadlink.c now includes it unconditionally.
16166
16167 2003-07-01  Paul Eggert  <eggert@twinsun.com>
16168
16169         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
16170         having it depend on HAVE_SYS_TYPES_H.
16171
16172 2003-07-01  Bruno Haible  <bruno@clisp.org>
16173
16174         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
16175         <sys/types.h> should be sufficient.
16176         Reported by Paul Eggert.
16177
16178 2003-06-26  Karl Berry  <karl@gnu.org>
16179
16180         * config/depcomp: update from automake.
16181
16182 2003-06-26  Bruno Haible  <bruno@clisp.org>
16183
16184         * modules/human: Depend on module stdbool.
16185
16186 2003-06-25  Bruno Haible  <bruno@clisp.org>
16187
16188         * modules/readlink: New file.
16189         * modules/xreadlink: Depend on it.
16190         * MODULES.html.sh (func_all_modules): Add readlink.
16191
16192 2003-06-25  Bruno Haible  <bruno@clisp.org>
16193
16194         * m4/readlink.m4: New file.
16195
16196 2003-06-25  Bruno Haible  <bruno@clisp.org>
16197
16198         * lib/readlink.c: New file.
16199
16200 2003-06-22  Karl Berry  <karl@gnu.org>
16201
16202         * config/srclist.txt: update mkinstalldirs from automake.
16203         * config/mkinstalldirs: update.
16204
16205 2003-06-22  Bruno Haible  <bruno@clisp.org>
16206
16207         Portability to mingw32.
16208         * m4/ssize_t.m4: New file, from GNU gettext.
16209         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
16210         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
16211
16212 2003-06-22  Bruno Haible  <bruno@clisp.org>
16213
16214         * modules/safe-read: Add m4/ssize_t.m4.
16215         * modules/xreadlink: Add m4/ssize_t.m4.
16216
16217 2003-06-20  Bruno Haible  <bruno@clisp.org>
16218
16219         Assume C89, so PARAMS isn't needed.
16220         * lib/unicodeio.h (PARAMS): Remove.
16221         * lib/unicodeio.c: Don't use PARAMS.
16222
16223 2003-06-18  Karl Berry  <karl@gnu.org>
16224
16225         * config/config.{guess,sub}: update from prep.
16226
16227 2003-06-18  Jim Meyering  <jim@meyering.net>
16228
16229         Merge changes from coreutils.
16230         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
16231         Remove explicit declarations of xmalloc and realloc.
16232         Include xalloc.h.
16233         (read_utmp): Remove anachronistic cast of xmalloc.
16234
16235 2003-06-17  Paul Eggert  <eggert@twinsun.com>
16236
16237         Assume C89, so PARAMS isn't needed.
16238         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
16239         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
16240         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
16241         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
16242         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
16243         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
16244         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
16245         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
16246         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
16247         lib/xstrtod.h, lib/xstrtol.h: Likewise.
16248         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
16249         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
16250         no longer needed. Anyway, config.h should always be included before any
16251         other file.
16252
16253 2003-06-11  Simon Josefsson  <jas@extundo.com>
16254
16255         * modules/sysexits: New file.
16256         * MODULES.html.sh (func_all_modules): Add sysexits.
16257
16258 2003-06-11  Simon Josefsson  <jas@extundo.com>
16259
16260         * lib/sysexit_.h: New file.
16261
16262 2003-06-11  Derek Price  <derek@ximbiot.com>
16263
16264         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
16265         necessary.
16266
16267 2003-06-11  Bruno Haible  <bruno@clisp.org>
16268
16269         * m4/sysexits.m4: New file.
16270
16271 2003-06-10  Simon Josefsson <jas@extundo.com>
16272
16273         * lib/argp.h: New file, from glibc.
16274         * lib/argp-ba.c: New file, from glibc.
16275         * lib/argp-eexst.c: New file, from glibc.
16276         * lib/argp-fmtstream.c: New file, from glibc.
16277         * lib/argp-fmtstream.h: New file, from glibc.
16278         * lib/argp-fs-xinl.c: New file, from glibc.
16279         * lib/argp-help.c: New file, from glibc.
16280         * lib/argp-namefrob.h: New file, from glibc.
16281         * lib/argp-parse.c: New file, from glibc.
16282         * lib/argp-pv.c: New file, from glibc.
16283         * lib/argp-pvh.c: New file, from glibc.
16284         * lib/argp-xinl.c: New file, from glibc.
16285
16286 2003-06-10  Simon Josefsson  <jas@extundo.com>
16287
16288         * modules/strchrnul: New file.
16289
16290 2003-06-10  Simon Josefsson  <jas@extundo.com>
16291
16292         * modules/argp: New file.
16293
16294 2003-06-10  Simon Josefsson  <jas@extundo.com>
16295
16296         * m4/strchrnul.m4: New file.
16297
16298 2003-06-10  Simon Josefsson  <jas@extundo.com>
16299
16300         * lib/strchrnul.h: New file.
16301         * lib/strchrnul.c: New file.
16302
16303 2003-06-10  Bruno Haible  <bruno@clisp.org>
16304
16305         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
16306
16307 2003-06-07  Karl Berry  <karl@gnu.org>
16308
16309         * config/config.{guess,sub}: update from prep.
16310
16311 2003-06-07  Jim Meyering  <jim@meyering.net>
16312
16313         * modules/strtod: Use $(...) notation, not @...@ for
16314         AC_REPLACE'd variables.
16315         * modules/localcharset: Likewise.
16316
16317 2003-06-07  Jim Meyering  <jim@meyering.net>
16318
16319         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
16320         in place of my name in the copyright comment.
16321         Remove definition and uses of __P.
16322
16323         From coreutils.
16324         * lib/stat.c: Don't declare xmalloc explicitly.
16325         Instead, include "xalloc.h".
16326         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
16327         xrealloc, and xcalloc return values.
16328         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
16329         Improve comment.
16330         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
16331
16332 2003-06-07  Bruno Haible  <bruno@clisp.org>
16333
16334         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
16335         avoid AC_CONFIG_LINKS.
16336         * modules/fnmatch (Makefile.am): Use explicit creation rule for
16337         fnmatch.h, to avoid AC_CONFIG_LINKS.
16338         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
16339
16340 2003-06-07  Bruno Haible  <bruno@clisp.org>
16341
16342         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
16343         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
16344         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
16345         directory.
16346         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
16347         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
16348         directory.
16349
16350 2003-06-06  Jim Meyering  <jim@meyering.net>
16351
16352         Merge from coreutils.
16353         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
16354         Consolidate declarations and initializations of *_base* locals.
16355
16356         Merge from coreutils.
16357         This avoids a core dump on systems without GNU putenv,
16358         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
16359         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
16360         (unsetenv): New static function, from GNU libc.
16361         (rpl_putenv): Use it.
16362
16363         * lib/modechange.c: Remove trailing blanks.
16364
16365         Merge from coreutils.
16366         * lib/fsusage.c: Remove declaration of statfs.
16367         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
16368
16369         * lib/posixtm.c: Include <stdbool.h> unconditionally.
16370
16371 2003-06-06  Jim Meyering  <jim@meyering.net>
16372
16373         * lib/stdbool_.h: Renamed from stdbool.h.in.
16374
16375 2003-06-06  Jim Meyering  <jim@meyering.net>
16376             Bruno Haible  <bruno@clisp.org>
16377
16378         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
16379         Adjust Makefile.am snippet not to redirect directly to target.
16380         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
16381
16382 2003-06-05  Paul Eggert  <eggert@twinsun.com>
16383
16384         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
16385         mismatch, look in future quarters as well as past.  This fixes a
16386         bug when processing fall-backwards gaps immediately after a long
16387         period of daylight-saving time.
16388
16389         * lib/mktime.c: Assume freestanding C89 or better.
16390         (HAVE_LIMITS_H): Remove.  Assume it's 1.
16391         (__P): Remove; not used.
16392         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
16393         (mktime, not_equal_tm, print_tm, check_result,
16394         main): Use prototypes.  Use const * where appropriate.
16395         (main): Fix typo in testing code that uncovered by above changes.
16396         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
16397
16398 2003-06-04  Paul Eggert  <eggert@twinsun.com>
16399
16400         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
16401         locale.h, localeconv.  This merges changes from coreutils.
16402
16403         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
16404         It can be removed after the next Autoconf is released.
16405         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
16406         needed.
16407
16408 2003-06-04  Paul Eggert  <eggert@twinsun.com>
16409
16410         * lib/mktime.c: Fix Debian bug 177940
16411         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
16412         (localtime_offset): Now long int, not time_t, because we want it
16413         to be guaranteed to be signed.  All uses changed.
16414         (__mktime_internal): If overflow would occur when adding offset,
16415         don't add it.
16416
16417         Merge 'human' changes from coreutils.  Rewrite to support
16418         locale-specific notations like thousands separators.
16419         * lib/human.c: Simplify authorship notice.
16420         Include human.h immediately after config.h.
16421         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
16422         <limits.h>: Do not include, since human.h does.
16423         (SIZE_MAX, UINTMAX_MAX): New macros.
16424         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
16425         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
16426         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
16427         (power_letter): Renamed from suffixes.
16428         (generate_suffix_backwards): Remove.
16429         (adjust_value): Now takes int style (because of human.h changes)
16430         and long double value (for greater precision on some platforms).
16431         (group_number): New function.
16432         (human_readable): Use it.  Use integer options, not enum.
16433         Put the options before the sizes in the arg list.
16434         Support all the new options.
16435         The old human_readable function has been removed;
16436         use inttostr.h instead.
16437         (human_readable, default_block_size, humblock):
16438         Use uintmax_t, not int, for block sizes.
16439         (human_readable_inexact, block_size_types): Remove.
16440         (block_size_opts): New constant.
16441         (human_options): Renamed from human_block_size, with new signature
16442         that allows block sizes up to UINTMAX_MAX.  All callers changed.
16443         * lib/human.h: Add copyright and authorship notice.
16444         Include <limits.h> and <stdbool.h> unconditionally.
16445         (PARAMS): Remove.  All uses removed.
16446         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
16447         (enum human_inexact_style): Remove tag; now a nameless enum.
16448         (human_floor, human_ceiling, human_round_to_even): Now have
16449         values 2, 0, 1 rather than -1, 1, 0.
16450         (human_group_digits, human_suppress_point_zero, human_autoscale,
16451         human_base_1024, human_SI, human_B): New constants.
16452         (human_readable_inexact, human_block_size): Remove.
16453         (human_readable): Size args are now uintmax_t, not int.
16454         (human_options): New decl.
16455
16456         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
16457         unnecessary now that we assume C89 or better.  This change
16458         imported from coreutils.
16459
16460         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
16461         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
16462         in the 2003-05-30 sync from glibc.
16463
16464         .h files should stand alone, but we shouldn't include <sys/types.h>
16465         if we can get away with just <stddef.h>.
16466
16467         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
16468         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
16469         rather than <sys/types.h>, as we merely need size_t.
16470         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
16471         to get size_t.
16472         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
16473         Include <stdio.h>, to get FILE.
16474         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
16475         memcasecmp.h has included <stddef.h> and all we need is size_t.
16476         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
16477         our interface, instead of including <sys/types.h>
16478
16479 2003-06-04  Paul Eggert  <eggert@twinsun.com>
16480
16481         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
16482         now, as glibc mktime is buggy on non-glibc systems.
16483
16484 2003-06-03  Karl Berry  <karl@gnu.org>
16485
16486         * config/config.sub: update from prep.
16487
16488 2003-06-02  Paul Eggert  <eggert@twinsun.com>
16489
16490         [from coreutils]
16491         Fix some minor time-related bugs with POSIX time arguments.
16492         Some valid time stamps were being rejected (notably -1, and
16493         time stamps before 1900 on 64-bit hosts).  And some invalid
16494         time stamps were being accepted, e.g. September 31.
16495
16496         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
16497         that we can return (time_t) -1 successfully.
16498         * lib/posixtm.c: Likewise.
16499         [HAVE_STDBOOL_H]: Include <stdbool.h>.
16500         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
16501         (t): Remove static var.
16502         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
16503         of static var.  All uses changed.
16504         (year): Do not reject years before 1900; they can occur with
16505         64-bit time_t.
16506         (posix_time_parse): Do not check for out-of-range components;
16507         that is now the caller's responsibility, since our checks were
16508         only approximations.
16509         (posixtime): Use mktime to check for out-of-range components,
16510         since it knows them exactly.
16511         If mktime returns (time_t) -1, check whether an error actually occurred
16512         by invoking localtime on -1.
16513         (main) [TEST_POSIXTIME]: Check for input data errors, and report
16514         posixtime failures better.
16515         Improve the test data (in comments only).
16516
16517 2003-06-02  Karl Berry  <karl@gnu.org>
16518
16519         * config/mkinstalldirs (version): new variable.
16520         (--version): new option.
16521         (usage): improve message.
16522
16523 2003-05-30  Karl Berry  <karl@gnu.org>
16524
16525         * lib/mktime.c: update from libc.
16526
16527 2003-05-30  Bruno Haible  <bruno@clisp.org>
16528
16529         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
16530         * config/config.rpath: Upgrade to gettext-0.12.1.
16531
16532 2003-05-30  Bruno Haible  <bruno@clisp.org>
16533
16534         * m4/gettext.m4: Upgrade to gettext-0.12.1.
16535         * m4/nls.m4: New file, from gettext-0.12.1.
16536         * m4/po.m4: New file, from gettext-0.12.1.
16537         * m4/progtest.m4: Upgrade to gettext-0.12.1.
16538
16539 2003-05-30  Bruno Haible  <bruno@clisp.org>
16540
16541         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
16542         * lib/localcharset.h: Likewise.
16543         * lib/localcharset.c: Likewise.
16544
16545 2003-05-29  Karl Berry  <karl@gnu.org>
16546
16547         * config/config.rpath: update from gettext.
16548
16549 2003-05-28  Paul Eggert  <eggert@twinsun.com>
16550
16551         Assume the headers required for C89 freestanding compilers.
16552         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
16553         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
16554         * m4/human.m4 (gl_HUMAN): Likewise.
16555         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
16556         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
16557         * m4/userspec.m4 (gl_USERSPEC): Likewise.
16558         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
16559         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
16560         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
16561
16562 2003-05-28  Paul Eggert  <eggert@twinsun.com>
16563
16564         Assume the headers required for C89 freestanding compilers.
16565         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
16566         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
16567         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
16568         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
16569         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
16570         define, since <limits.h> is guaranteed to do that.
16571         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
16572         * lib/exclude.c: Include <stdbool.h> unconditionally.
16573         * lib/tempname.c: Include <stddef.h> unconditionally.
16574         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
16575         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
16576         <stddef.h> does that.
16577         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
16578         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
16579         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
16580         needed.
16581         * lib/xstrtol.c: Likewise.
16582         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
16583         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
16584
16585         * lib/addext.c (addext): Use assignment rather than cast, to avoid
16586         warnings on some platforms.
16587
16588         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
16589         arbitrarily.
16590
16591 2003-05-26  Jim Meyering  <jim@meyering.net>
16592
16593         Merge in a change from coreutils:
16594         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
16595         that is guaranteed to be `no'.  Use `no_such_member' to indicate
16596         that condition, rather than `-1' which is slightly misleading.
16597         Change the name of the cache variable to have the gl_ prefix.
16598         Prompted by a patch from Richard Dawe for DJGPP.
16599
16600 2003-05-24  Karl Berry  <karl@gnu.org>
16601
16602         * config/config.guess: update from prep.
16603
16604 2003-05-22  Karl Berry  <karl@gnu.org>
16605
16606         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
16607
16608 2003-05-20  Karl Berry  <karl@gnu.org>
16609
16610         * config/config.guess: update from prep.
16611
16612 2003-05-18  Karl Berry  <karl@gnu.org>
16613
16614         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
16615         might actually be set by the user.
16616
16617         * config/depcomp, install-sh, mdate-sh: update from automake.
16618
16619 2003-05-17  Bruno Haible  <bruno@clisp.org>
16620
16621         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
16622         invalid expansion for AC_EGREP_CPP.
16623         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
16624         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
16625         Suggested by Akim Demaille <akim@epita.fr> in
16626         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
16627
16628 2003-05-12  Jim Meyering  <jim@meyering.net>
16629
16630         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
16631         the space-padded-by-default conversion specifiers, %e, %k, %l.
16632
16633 2003-05-12  Bruno Haible  <bruno@clisp.org>
16634
16635         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
16636         the string is longer than 4 KB.
16637
16638 2003-05-11  Karl Berry  <karl@gnu.org>
16639
16640         * config/config.{guess,sub}: update from prep.
16641
16642 2003-05-09  Bruno Haible  <bruno@clisp.org>
16643
16644         * modules/error: Add m4/strerror_r.m4 to file list.
16645
16646 2003-05-03  Bruno Haible  <bruno@clisp.org>
16647
16648         Upgrade to Unicode-4.0.
16649         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
16650         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
16651         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
16652         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
16653         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
16654         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
16655         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
16656         Change width of U+E0100..U+E01EF from 1 to 0.
16657
16658 2003-04-25  Jim Meyering  <jim@meyering.net>
16659
16660         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
16661         of type size_t, not int.
16662
16663 2003-04-25  Bruno Haible  <bruno@clisp.org>
16664
16665         * lib/copy-file.c: Include <stddef.h>, for size_t.
16666
16667 2003-04-21  Paul Eggert  <eggert@twinsun.com>
16668
16669         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
16670         code which expansion is under static control.  Patch imported from
16671         Akim Demaille's patch to Bison; see
16672         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
16673
16674 2003-04-14  Bruno Haible  <bruno@clisp.org>
16675
16676         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
16677
16678 2003-04-11  Jim Meyering  <jim@meyering.net>
16679
16680         Merge changes from Coreutils.
16681
16682         2003-03-22  Jim Meyering  <jim@meyering.net>
16683
16684         * lib/strftime.c (widen): Cast alloca return value to proper type.
16685
16686         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
16687
16688         From GNU libc.
16689         * lib/strftime.c (my_strftime): Handle very large width
16690         specifications for numeric values correctly.  Improve checks for
16691         overflow.
16692
16693         2003-01-19  Jim Meyering  <jim@meyering.net>
16694
16695         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
16696         definitions.
16697         (nl_get_alt_digit) [! defined my_strftime]: Define.
16698         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
16699         _nl_get_alt_digit and _nl_get_walt_digit.
16700
16701         * lib/strftime.c (my_strftime): Merge in locale-related changes from
16702         libc. These changes have no effect outside of _LIBC.
16703
16704 2003-04-10  Bruno Haible  <bruno@clisp.org>
16705
16706         * modules/findprog: New file.
16707         * MODULES.html.sh (func_all_modules): Add it.
16708
16709 2003-04-10  Bruno Haible  <bruno@clisp.org>
16710
16711         * m4/findprog.m4: New file.
16712         * m4/eaccess.m4: New file.
16713
16714 2003-04-10  Bruno Haible  <bruno@clisp.org>
16715
16716         * lib/findprog.h: New file, from GNU gettext.
16717         * lib/findprog.c: New file, from GNU gettext.
16718
16719 2003-04-05  Jim Meyering  <jim@meyering.net>
16720
16721         Merge changes from Coreutils.
16722
16723         * lib/exclude.h (PARAMS): Remove definition and uses.
16724         * lib/exclude.c: Remove uses of `PARAMS'.
16725
16726         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
16727         Add test-cases for DOS filenames. Declare program_name.
16728         (main): Set up program_name.  Patch by Rich Dawe.
16729
16730         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
16731         error from mntctl.
16732         Use mntctl's return value to drive the entry-processing loop, since
16733         we can't rely on the value of the vmt_length member in the last
16734         entry.  On some systems doing so could result in exhausting
16735         virtual memory.  Based in part on a patch from Mike Jetzer.
16736
16737 2003-04-04  Bruno Haible  <bruno@clisp.org>
16738
16739         * modules/linebreak: New file.
16740         * MODULES.html.sh (func_all_modules): Add it.
16741
16742 2003-04-04  Bruno Haible  <bruno@clisp.org>
16743
16744         * m4/linebreak.m4: New file.
16745
16746 2003-04-04  Bruno Haible  <bruno@clisp.org>
16747
16748         * lib/linebreak.h: New file, from GNU gettext.
16749         * lib/linebreak.c: New file, from GNU gettext with slight
16750         modifications.
16751         * lib/lbrkprop.h: New file, from GNU gettext.
16752
16753 2003-04-03  Bruno Haible  <bruno@clisp.org>
16754
16755         * modules/utf8-ucs4: New file.
16756         * modules/utf16-ucs4: New file.
16757         * modules/ucs4-utf8: New file.
16758         * modules/ucs4-utf16: New file.
16759         * MODULES.html.sh (func_all_modules): Add them.
16760
16761 2003-04-03  Bruno Haible  <bruno@clisp.org>
16762
16763         * m4/utf-ucs4.m4: New file.
16764         * m4/ucs4-utf.m4: New file.
16765
16766 2003-04-03  Bruno Haible  <bruno@clisp.org>
16767
16768         * lib/utf8-ucs4.h: New file, from GNU gettext.
16769         * lib/utf16-ucs4.h: New file, from GNU gettext.
16770         * lib/ucs4-utf8.h: New file, from GNU gettext.
16771         * lib/ucs4-utf16.h: New file, from GNU gettext.
16772
16773 2003-04-02  Bruno Haible  <bruno@clisp.org>
16774
16775         * modules/binary-io: New file.
16776         * MODULES.html.sh (func_all_modules): Add it.
16777
16778 2003-04-02  Bruno Haible  <bruno@clisp.org>
16779
16780         * lib/binary-io.h: New file, from GNU gettext.
16781
16782 2003-04-01  Bruno Haible  <bruno@clisp.org>
16783
16784         * modules/pathname: New file.
16785         * MODULES.html.sh (func_all_modules): Add it.
16786
16787 2003-04-01  Bruno Haible  <bruno@clisp.org>
16788
16789         * lib/pathname.h: New file, from GNU gettext.
16790         * lib/concatpath.c: New file, from GNU gettext.
16791
16792 2003-03-30  Bruno Haible  <bruno@clisp.org>
16793
16794         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
16795
16796 2003-03-30  Bruno Haible  <bruno@clisp.org>
16797
16798         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
16799         function chown() doesn't exist.
16800
16801 2003-03-28  Bruno Haible  <bruno@clisp.org>
16802
16803         * modules/copy-file: New file.
16804         * MODULES.html.sh (func_all_modules): Add it.
16805
16806 2003-03-28  Bruno Haible  <bruno@clisp.org>
16807
16808         * m4/copy-file.m4: New file.
16809
16810 2003-03-28  Bruno Haible  <bruno@clisp.org>
16811
16812         * lib/copy-file.h: New file, from GNU gettext.
16813         * lib/copy-file.c: New file, from GNU gettext.
16814
16815 2003-03-18  Jim Meyering  <jim@meyering.net>
16816
16817         * lib/quote.c (quote_n): Fix typo in comment.
16818
16819 2003-03-18  Bruno Haible  <bruno@clisp.org>
16820
16821         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
16822         checking.
16823         * m4/onceonly_2_57.m4: Likewise.
16824
16825 2003-03-17  Bruno Haible  <bruno@clisp.org>
16826
16827         * m4/onceonly.m4: Require autoconf 2.54 or newer.
16828         (m4_quote): Remove macro.
16829         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
16830
16831 2003-03-14  Jim Meyering  <jim@meyering.net>
16832
16833         Merge changes from Coreutils.
16834         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
16835         to be const, in order to avoid warnings.
16836         (obstack_room): Likewise.
16837         (obstack_empty_p): Likewise.
16838
16839 2003-03-14  Bruno Haible  <bruno@clisp.org>
16840
16841         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
16842         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
16843
16844 2003-03-13  Paul Eggert  <eggert@twinsun.com>
16845
16846         Merge changes from Bison.
16847         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
16848         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
16849         when compiling Bison 1.875's `bitset bset = obstack_alloc
16850         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
16851         * lib/hash.c: Include <stdbool.h> unconditionally.
16852
16853 2003-03-13  Paul Eggert  <eggert@twinsun.com>
16854
16855         * m4/onceonly.m4 (m4_quote): New macro.
16856         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
16857         Quote AC_FOREACH variable-expansions properly.
16858
16859 2003-03-13  Paul Eggert  <eggert@twinsun.com>
16860
16861         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
16862
16863 2003-03-09  Paul Eggert  <eggert@twinsun.com>
16864
16865         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
16866         Reported by Bruce Becker; see:
16867         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
16868
16869 2003-03-03  Paul Eggert  <eggert@twinsun.com>
16870             Bruno Haible  <bruno@clisp.org>
16871
16872         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
16873         Reported by John Hughes, see
16874         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
16875
16876 2003-02-20  Bruno Haible  <bruno@clisp.org>
16877
16878         * MODULES.html.sh (func_all_modules): Add poll.
16879
16880 2003-02-19  Paolo Bonzino  <bonzini@gnu.org>
16881
16882         * modules/poll: New file.
16883
16884 2003-02-19  Paolo Bonzino  <bonzini@gnu.org>
16885
16886         * lib/poll_.h: New file.
16887         * lib/poll.c: New file.
16888
16889 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
16890
16891         * m4/poll.m4: New file.
16892
16893 2003-02-18  Paolo Bonzino  <bonzini@gnu.org>
16894
16895         * modules/mathl: New file.
16896
16897 2003-02-18  Paolo Bonzino  <bonzini@gnu.org>
16898
16899         * lib/mathl.h: New file.
16900         * lib/acosl.c: New file.
16901         * lib/asinl.c: New file.
16902         * lib/atanl.c: New file.
16903         * lib/ceill.c: New file.
16904         * lib/cosl.c: New file.
16905         * lib/expl.c: New file.
16906         * lib/floorl.c: New file.
16907         * lib/frexpl.c: New file.
16908         * lib/ldexpl.c: New file.
16909         * lib/logl.c: New file.
16910         * lib/sincosl.c: New file.
16911         * lib/sinl.c: New file.
16912         * lib/sqrtl.c: New file.
16913         * lib/tanl.c: New file.
16914         * lib/trigl.c: New file.
16915         * lib/trigl.h: New file.
16916
16917 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
16918
16919         * m4/mathl.m4: New file.
16920
16921 2003-02-18  Bruno Haible  <bruno@clisp.org>
16922
16923         * MODULES.html.sh (func_all_modules): Add mathl.
16924
16925 2003-02-17  Bruno Haible  <bruno@clisp.org>
16926
16927         * modules/mkdtemp: New module.
16928         * MODULES.html.sh (func_all_modules): Add it.
16929
16930 2003-02-17  Bruno Haible  <bruno@clisp.org>
16931
16932         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
16933
16934 2003-02-17  Bruno Haible  <bruno@clisp.org>
16935
16936         * lib/mkdtemp.h: New file, from GNU gettext.
16937         * lib/mkdtemp.c: New file, from GNU gettext.
16938
16939 2003-02-02  Jim Meyering  <jim@meyering.net>
16940
16941         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
16942         e.g. glibc-2.2.93.
16943
16944 2003-01-31  Bruno Haible  <bruno@clisp.org>
16945
16946         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
16947         'rpl_rename'.
16948         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
16949         'rpl_strnlen'.
16950         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
16951         'rpl_strtod'.
16952         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
16953         'rpl_utime'.
16954
16955 2003-01-31  Bruno Haible  <bruno@clisp.org>
16956
16957         * lib/rename.c: #undef rename before defining rpl_rename.
16958         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
16959
16960 2003-01-30  Bruno Haible  <bruno@clisp.org>
16961
16962         * modules/vasnprintf, modules/vasprintf: New modules.
16963         * MODULES.html.sh (func_all_modules): Add them.
16964
16965 2003-01-30  Bruno Haible  <bruno@clisp.org>
16966
16967         * m4/signed.m4: New file, from GNU gettext.
16968         * m4/longdouble.m4: New file, from GNU gettext.
16969         * m4/wchar_t.m4: New file, from GNU gettext.
16970         * m4/wint_t.m4: New file, from GNU gettext.
16971         * m4/vasnprintf.m4: New file.
16972         * m4/vasprintf.m4: New file.
16973
16974 2003-01-30  Bruno Haible  <bruno@clisp.org>
16975
16976         * lib/printf-args.h: New file, from GNU gettext.
16977         * lib/printf-args.c: New file, from GNU gettext.
16978         * lib/printf-parse.h: New file, from GNU gettext.
16979         * lib/printf-parse.c: New file, from GNU gettext.
16980         * lib/vasnprintf.h: New file, from GNU gettext.
16981         * lib/vasnprintf.c: New file, from GNU gettext.
16982         * lib/asnprintf.c: New file, from GNU gettext.
16983         * lib/vasprintf.h: New file, from GNU gettext with modifications.
16984         * lib/vasprintf.c: New file, from GNU gettext.
16985         * lib/asprintf.c: New file, from GNU gettext.
16986
16987 2003-01-29  Bruno Haible  <bruno@clisp.org>
16988
16989         * modules/stpncpy: New module.
16990         * MODULES.html.sh (func_all_modules): Add it.
16991
16992 2003-01-29  Bruno Haible  <bruno@clisp.org>
16993
16994         * m4/stpncpy.m4: New file.
16995
16996 2003-01-29  Bruno Haible  <bruno@clisp.org>
16997
16998         * lib/stpncpy.h: New file, from GNU gettext with modifications.
16999         * lib/stpncpy.c: New file, from GNU gettext with modifications.
17000
17001 2003-01-28  Bruno Haible  <bruno@clisp.org>
17002
17003         * modules/c-ctype: New module.
17004         * MODULES.html.sh (func_all_modules): Add it.
17005
17006 2003-01-28  Bruno Haible  <bruno@clisp.org>
17007
17008         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
17009         Paul Eggert.
17010         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
17011         Paul Eggert.
17012
17013 2003-01-27  Bruno Haible  <bruno@clisp.org>
17014
17015         * modules/xsetenv: New module.
17016         * MODULES.html.sh (func_all_modules): Add it.
17017
17018 2003-01-27  Bruno Haible  <bruno@clisp.org>
17019
17020         * lib/xsetenv.h: New file, from GNU gettext.
17021         * lib/xsetenv.c: New file, from GNU gettext.
17022
17023 2003-01-23  Jim Meyering  <jim@meyering.net>
17024
17025         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
17026         from working on systems without dirfd (at least Irix and OSF1/Tru64).
17027
17028 2003-01-23  Bruno Haible  <bruno@clisp.org>
17029
17030         * modules/minmax: New module.
17031         * MODULES.html.sh (func_all_modules): Add it.
17032
17033 2003-01-23  Bruno Haible  <bruno@clisp.org>
17034
17035         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
17036         Eggert.
17037
17038 2003-01-22  Bruno Haible  <bruno@clisp.org>
17039
17040         * modules/exit: New module.
17041         * MODULES.html.sh (func_all_modules): Add it.
17042
17043 2003-01-22  Bruno Haible  <bruno@clisp.org>
17044
17045         * lib/exit.h: New file, from GNU gettext.
17046
17047 2003-01-19  Bruno Haible  <bruno@clisp.org>
17048
17049         * gnulib-tool: Recognize option --extract-maintainer.
17050         (func_get_maintainer): New function.
17051         * modules/*: Add Maintainer entry.
17052
17053 2003-01-16  Jim Meyering  <jim@meyering.net>
17054
17055         * m4/regex.m4: The `regex' struct is both input and output.
17056         Initialize it before each use.  Patch by Tim Waugh.
17057
17058 2003-01-16  Bruno Haible  <bruno@clisp.org>
17059
17060         * MODULES.html.sh: Add a table of contents. Add the module name as
17061         leftmost column. Add hyperlinks.
17062
17063 2003-01-15  Bruno Haible  <bruno@clisp.org>
17064
17065         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
17066
17067 2003-01-15  Bruno Haible  <bruno@clisp.org>
17068
17069         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
17070         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
17071         suffix.
17072
17073 2003-01-15  Bruno Haible  <bruno@clisp.org>
17074
17075         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
17076
17077 2003-01-15  Bruno Haible  <bruno@clisp.org>
17078
17079         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
17080         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
17081
17082 2003-01-14  Jim Meyering  <jim@meyering.net>
17083
17084         * lib/same.c (same_name): Tweak a comment.
17085
17086 2003-01-14  Bruno Haible  <bruno@clisp.org>
17087
17088         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
17089         when a string comparison is sufficient.
17090
17091 2003-01-14  Bruno Haible  <bruno@clisp.org>
17092
17093         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
17094         'unsigned int'.
17095
17096 2003-01-14  Bruno Haible  <bruno@clisp.org>
17097
17098         * lib/hash-pjw.c: Add comment about low quality of this function.
17099
17100 2003-01-13  Bruno Haible  <bruno@clisp.org>
17101
17102         * modules/stpcpy: Distribute lib/stpcpy.h.
17103         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
17104
17105 2003-01-13  Bruno Haible  <bruno@clisp.org>
17106
17107         * modules/*: Add a description.
17108         * modules/strpbrk: Fix Makefile.am snippet.
17109         * modules/strtoimax: Fix dependencies.
17110         * modules/strtoumax: Likewise.
17111
17112 2003-01-13  Bruno Haible  <bruno@clisp.org>
17113
17114         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
17115         * modules/alloca (Makefile.am): All object files depend on alloca.h.
17116         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
17117
17118 2003-01-13  Bruno Haible  <bruno@clisp.org>
17119
17120         * gnulib-tool (func_create_testdir): Store config/* files in the main
17121         directory.
17122         * config.rpath: Move to ...
17123         * config/config.rpath: ... here.
17124         * modules/gettext: Contains config/config.rpath, not config.rpath.
17125         * modules/iconv: Likewise.
17126
17127 2003-01-12  Paul Eggert  <eggert@twinsun.com>
17128
17129         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
17130         to avoid collisions with libcurses and libreadline.
17131
17132         * m4/getstr.m4: Remove.
17133         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
17134
17135 2003-01-12  Paul Eggert  <eggert@twinsun.com>
17136
17137         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
17138         to avoid collisions with libcurses and libreadline.
17139
17140         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
17141         * lib/getstr.h, getstr.c: Remove.
17142         * lib/getline.c: Include "getline.h", to check interface.
17143         Move body of old getstr.c here: this defines MIN_CHUNK and
17144         declares getdelim2, which is renamed from getstr.
17145         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
17146
17147         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
17148         All uses changed.
17149         * lib/linebuffer.h: Likewise.
17150         (readline): Remove backward-compatibility macro.
17151
17152 2003-01-12  Paul Eggert  <eggert@twinsun.com>
17153
17154         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
17155         to avoid collisions with libcurses and libreadline.
17156         * getstr: Remove.
17157         * MODULES.html.sh: Remove getstr.
17158         * modules/getline: Depend on unlocked-io, not getstr.
17159
17160 2003-01-12  Jim Meyering  <jim@meyering.net>
17161
17162         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
17163
17164 2003-01-10  Bruno Haible  <bruno@clisp.org>
17165
17166         * modules/alloca: Change Makefile.am requirements. Simplify Include
17167         requirements. Add lib/alloca_.h to file list.
17168
17169 2003-01-10  Bruno Haible  <bruno@clisp.org>
17170
17171         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
17172
17173 2003-01-10  Bruno Haible  <bruno@clisp.org>
17174
17175         * lib/alloca_.h: New file.
17176         * lib/getdate.y: Unconditionally include alloca.h.
17177         * lib/makepath.c: Likewise.
17178         * lib/setenv.c: Likewise.
17179         * lib/userspec.c: Likewise.
17180
17181 2003-01-09  Karl Berry  <karl@gnu.org>
17182
17183         * MODULES.html.sh: include `dirname $0` in PATH, to find
17184         gnulib-tool.
17185
17186 2003-01-09  Bruno Haible  <bruno@clisp.org>
17187
17188         * modules/stdbool: Change configure.ac, Makefile.am requirements.
17189         Simplify Include requirements. Add lib/stdbool.h.in to file list.
17190
17191 2003-01-09  Bruno Haible  <bruno@clisp.org>
17192
17193         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
17194
17195 2003-01-09  Bruno Haible  <bruno@clisp.org>
17196
17197         * lib/stdbool.h.in: New file.
17198
17199 2003-01-09  Bruno Haible  <bruno@clisp.org>
17200
17201         * gnulib-tool (func_all_modules): Ignore files ending in ~.
17202         * MODULES.html.sh: Likewise.
17203
17204 2003-01-08  Jim Meyering  <jim@meyering.net>
17205
17206         * lib/full-write.c: Undefine and define-away `const' after inclusion
17207         of errno.h, not before.  Suggestion from Bruno Haible.
17208
17209 2003-01-08  Bruno Haible  <bruno@clisp.org>
17210
17211         * modules/full-read: Depend on full-write.
17212
17213 2003-01-08  Bruno Haible  <bruno@clisp.org>
17214
17215         * lib/safe-read.c: Include specification header first, to ensure its
17216         selfcontainedness.
17217         * lib/full-write.c: Likewise.
17218
17219 2003-01-07  Jim Meyering  <jim@meyering.net>
17220
17221         * lib/full-write.c: Rework so that it may serve to define full_read,
17222         too.
17223         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
17224
17225 2003-01-07  Bruno Haible  <bruno@clisp.org>
17226
17227         * lib/strtoimax.c: Include <stdint.h> as an alternative to
17228         <inttypes.h>.
17229         * lib/xstrtol.h: Likewise.
17230         * lib/xstrtoimax.c: Likewise.
17231         * lib/xstrtoumax.c: Likewise.
17232         * lib/human.h: Likewise.
17233
17234         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
17235         on systems that have <inttypes.h> but not <stdint.h>.
17236
17237 2003-01-07  Bruno Haible  <bruno@clisp.org>
17238
17239         * MODULES.html.sh: Add copyright notice.
17240         (missed_files): Omit CVS directory entries.
17241         (func_module): Make it work with sed-3.02.
17242         * MODULES.txt: Remove file.
17243
17244 2003-01-06  Jim Meyering  <jim@meyering.net>
17245
17246         * lib/version-etc.c: Update year in translatable copyright string.
17247
17248 2003-01-03  Karl Berry  <karl@gnu.org>
17249
17250         * config/config.{guess,sub}: update from prep.
17251
17252 2003-01-02  Karl Berry  <karl@gnu.org>
17253
17254         * doc/COPYING.DOC: belatedly updated to 1.2.
17255
17256 2003-01-01  Karl Berry  <karl@gnu.org>
17257
17258         * gnulib-tool (func_verify_module): report module name $module in
17259         error message, not $1.
17260         * gnulib-tool (create-testdir): don't complain if destdir couldn't
17261         be created, only if it doesn't exist.
17262         * gnulib-tool (last_checkin_date): don't expand the $Date here.
17263
17264 2002-12-31  Paul Eggert  <eggert@twinsun.com>
17265
17266         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
17267
17268 2002-12-31  Paul Eggert  <eggert@twinsun.com>
17269
17270         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
17271         memcmp if strcoll doesn't work.
17272
17273 2002-12-31  Bruno Haible  <bruno@clisp.org>
17274
17275         * lib/utime.c (utime_null): No need to call ftruncate if the file was
17276         nonempty.
17277
17278 2002-12-31  Bruno Haible  <bruno@clisp.org>
17279
17280         * lib/memcoll.c (STRCOLL): New macro.
17281         (memcoll): Use it.
17282
17283 2002-12-31  Bruno Haible  <bruno@clisp.org>
17284
17285         * lib/localcharset.h: New file.
17286         * lib/localcharset.c: Include it.
17287         * lib/unicodeio.c: Likewise.
17288
17289 2002-12-31  Bruno Haible  <bruno@clisp.org>
17290
17291         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
17292         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
17293
17294 2002-12-31  Bruno Haible  <bruno@clisp.org>
17295
17296         * lib/getline.h: Include <stddef.h>, for size_t.
17297
17298         * lib/unicodeio.h: Include <stddef.h>, for size_t.
17299         * lib/unicodeio.c: Don't include <stddef.h>.
17300
17301 2002-12-31  Bruno Haible  <bruno@clisp.org>
17302
17303         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
17304         HAVE_TM_ZONE.
17305
17306 2002-12-24  Karl Berry  <karl@gnu.org>
17307
17308         * config/config.guess: update from prep.
17309
17310 2002-12-24  Bruno Haible  <bruno@clisp.org>
17311
17312         General infrasructure.
17313         * m4/README: Rewritten.
17314         * m4/onceonly.m4: New file.
17315         * m4/onceonly_2_57.m4: New file.
17316
17317         Module atexit.
17318         * m4/atexit.m4: New file.
17319
17320         Module strtod.
17321         * m4/strtod.m4: New file.
17322
17323         Module strtol.
17324         * m4/strtol.m4: New file.
17325
17326         Module strtoul.
17327         * m4/strtoul.m4: New file.
17328
17329         Module memchr.
17330         * m4/memchr.m4: New file.
17331
17332         Module memcmp.
17333         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
17334         (jm_FUNC_MEMCMP): Invoke it.
17335
17336         Module memcpy.
17337         * m4/memcpy.m4: New file.
17338
17339         Module memmove.
17340         * m4/memmove.m4: New file.
17341
17342         Module memset.
17343         * m4/memset.m4: New file.
17344
17345         Module strcspn.
17346         * m4/strcspn.m4: New file.
17347
17348         Module strpbrk.
17349         * m4/strpbrk.m4: New file.
17350
17351         Module strstr.
17352         * m4/strstr.m4: New file.
17353
17354         Module strerror.
17355         * m4/strerror.m4: New file.
17356
17357         Module mktime.
17358         * m4/mktime.m4: Renamed from jm-mktime.m4.
17359         (gl_PREREQ_MKTIME): New macro.
17360         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
17361
17362         Module malloc.
17363         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
17364         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
17365         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
17366
17367         Module realloc.
17368         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
17369         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
17370         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
17371
17372         Module strftime.
17373         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
17374         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
17375         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
17376         gl_TM_GMTOFF.
17377         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
17378
17379         Module xalloc.
17380         * m4/xalloc.m4: New file.
17381
17382         Module alloca.
17383         * m4/alloca.m4: New file.
17384
17385         Module putenv.
17386         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
17387         (jm_FUNC_PUTENV): Invoke it.
17388
17389         Module setenv.
17390         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
17391         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
17392         when invoked twice.
17393         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
17394         gt_FUNC_SETENV.
17395
17396         Module memrchr.
17397         * m4/memrchr.m4: New file.
17398
17399         Module stpcpy.
17400         * m4/stpcpy.m4: New file.
17401
17402         Module strcase.
17403         * m4/strcase.m4: New file.
17404
17405         Module strdup.
17406         * m4/strdup.m4: New file.
17407
17408         Module strnlen.
17409         * m4/strnlen.m4: New file.
17410
17411         Module strndup.
17412         * m4/strndup.m4: New file.
17413
17414         Module xstrtod.
17415         * m4/xstrtod.m4: New file.
17416
17417         Module xstrtol.
17418         * m4/xstrtol.m4: New file.
17419
17420         Module getdate.
17421         * m4/getdate.m4: New file.
17422
17423         Module unlocked-io.
17424         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
17425         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
17426         * m4/jm-glibc-io.m4n: Remove file.
17427
17428         Module long-options.
17429         * m4/long-options.m4: New file.
17430
17431         Module md5.
17432         * m4/md5.m4: New file.
17433
17434         Module sha.
17435         * m4/sha.m4: New file.
17436
17437         Module getstr.
17438         * m4/getstr.m4: New file.
17439
17440         Module getline.
17441         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
17442         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
17443         <sys/types.h>, for size_t. Use the function name gnu_getline, not
17444         simply getline. Infoke gl_PREREQ_GETLINE.
17445
17446         Module obstack.
17447         * m4/obstack.m4: New file.
17448
17449         Module hash.
17450         * m4/hash.m4: New file.
17451
17452         Module readtokens.
17453         * m4/readtokens.m4: New file.
17454
17455         Module strverscmp.
17456         * m4/strverscmp.m4: New file.
17457
17458         Module stdbool.
17459         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
17460         OSF/1.
17461
17462         Module strtoll.
17463         * m4/strtoll.m4: New file.
17464
17465         Module strtoull.
17466         * m4/strtoull.m4: New file.
17467
17468         Module strtoimax.
17469         * m4/strtoimax.m4: New file.
17470
17471         Module strtoumax.
17472         * m4/strtoumax.m4: New file.
17473
17474         Module xstrtoimax.
17475         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
17476         jm_AC_PREREQ_XSTRTOIMAX.
17477         Moved the strtol prerequisites to strtol.m4.
17478         Moved the strtoll prerequisites to strtoll.m4.
17479         Moved the strtoimax prerequisites to strtoimax.m4.
17480
17481         Module xstrtoumax.
17482         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
17483         jm_AC_PREREQ_XSTRTOUMAX.
17484         Moved the strtoul prerequisites to strtoul.m4.
17485         Moved the strtoull prerequisites to strtoull.m4.
17486         Moved the strtoumax prerequisites to strtoumax.m4.
17487
17488         Module chown.
17489         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
17490         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
17491
17492         Module dup2.
17493         * m4/dup2.m4: New file.
17494
17495         Module ftruncate.
17496         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
17497         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
17498
17499         Module getgroups.
17500         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
17501         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
17502
17503         Module gettimeofday.
17504         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
17505         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
17506         gl_PREREQ_GETTIMEOFDAY.
17507
17508         Module mkdir.
17509         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
17510         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
17511
17512         Module mkstemp.
17513         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
17514         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
17515         jm_AC_TYPE_UINTMAX_T.
17516         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
17517
17518         Module stat.
17519         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
17520         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
17521
17522         Module lstat.
17523         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
17524         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
17525
17526         Module timespec.
17527         * m4/timespec.m4 (gl_TIMESPEC): New macro.
17528         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
17529         * m4/st_mtim.m4: Indentation.
17530
17531         Module nanosleep.
17532         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
17533         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
17534         gl_PREREQ_NANOSLEEP.
17535
17536         Module regex.
17537         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
17538         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
17539         (gl_REGEX): New macro.
17540
17541         Module rename.
17542         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
17543         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
17544
17545         Module rmdir.
17546         * m4/rmdir.m4: New file.
17547
17548         Module utime.
17549         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
17550         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
17551         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
17552
17553         Module dirname.
17554         * m4/dirname.m4: New file.
17555
17556         Module getopt.
17557         * m4/getopt.m4: New file.
17558
17559         Module unistd-safer.
17560         * m4/unistd-safer.m4: New file.
17561
17562         Module fnmatch.
17563         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
17564         declaration.
17565         (gl_PREREQ_FNMATCH_EXTRA): New macro.
17566         (gl_FUNC_FNMATCH_POSIX): New macro.
17567         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
17568         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
17569         simply fnmatch.
17570
17571         Module exclude.
17572         * m4/exclude.m4: New file.
17573
17574         Module human.
17575         * m4/human.m4: New file.
17576
17577         Module acl.
17578         * m4/acl.m4: Nop.
17579
17580         Module backupfile.
17581         * m4/backupfile.m4: New file.
17582         * m4/d-ino.m4: Indentation.
17583
17584         Module fsusage.
17585         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
17586         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
17587         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
17588
17589         Module dirfd.
17590         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
17591         requirements.
17592
17593         Module euidaccess.
17594         * m4/euidaccess.m4: New file.
17595
17596         Module file-type.
17597         * m4/file-type.m4: New file.
17598
17599         Module fileblocks.
17600         * m4/fileblocks.m4: New file.
17601
17602         Module filemode.
17603         * m4/filemode.m4: New file.
17604
17605         Module isdir.
17606         * m4/isdir.m4: New file.
17607
17608         Module lchown.
17609         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
17610         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
17611
17612         Module makepath.
17613         * m4/makepath.m4: New file.
17614
17615         Module modechange.
17616         * m4/modechange.m4: New file.
17617
17618         Module mountlist.
17619         * m4/mountlist.m4: New file.
17620         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
17621         Indentation.
17622
17623         Module path-concat.
17624         * m4/path-concat.m4: New file.
17625
17626         Module pathmax.
17627         * m4/pathmax.m4: New file.
17628
17629         Module same.
17630         * m4/same.m4: New file.
17631
17632         Module save-cwd.
17633         * m4/save-cwd.m4: New file.
17634
17635         Module savedir.
17636         * m4/savedir.m4: New file.
17637
17638         Module xgetcwd.
17639         * m4/xgetcwd.m4: New file.
17640         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
17641
17642         Module xreadlink.
17643         * m4/xreadlink.m4: New file.
17644
17645         Module safe-read.
17646         * m4/safe-read.m4: New file.
17647
17648         Module safe-write.
17649         * m4/safe-write.m4: New file.
17650
17651         Module closeout.
17652         * m4/closeout.m4: New file.
17653
17654         Module stdio-safer.
17655         * m4/stdio-safer.m4: New file.
17656
17657         Module getpass.
17658         * m4/getpass.m4: New file.
17659
17660         Module getugroups.
17661         * m4/getugroups.m4: New file.
17662
17663         Module group-member.
17664         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
17665         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
17666
17667         Module idcache.
17668         * m4/idcache.m4: New file.
17669
17670         Module userspec.
17671         * m4/userspec.m4: New file.
17672
17673         Module gettime.
17674         * m4/clock_time.m4: New file.
17675         * m4/gettime.m4: New file.
17676
17677         Module settime.
17678         * m4/settime.m4: New file.
17679
17680         Module posixtm.
17681         * m4/posixtm.m4: New file.
17682
17683         Module gethostname.
17684         * m4/gethostname.m4: New file.
17685
17686         Module canon-host.
17687         * m4/canon-host.m4: New file.
17688
17689         Module gettext.
17690         * m4/codeset.m4: New file, from gettext-0.11.5.
17691         * m4/gettext.m4: New file, from gettext-0.11.5.
17692         * m4/glibc21.m4: New file, from gettext-0.11.5.
17693         * m4/iconv.m4: New file, from gettext-0.11.5.
17694         * m4/intdiv0.m4: New file, from gettext-0.11.5.
17695         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
17696         * m4/inttypes.m4: New file, from gettext-0.11.5.
17697         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
17698         * m4/isc-posix.m4: New file, from gettext-0.11.5.
17699         * m4/lcmessage.m4: New file, from gettext-0.11.5.
17700         * m4/lib-ld.m4: New file, from gettext-0.11.5.
17701         * m4/lib-link.m4: New file, from gettext-0.11.5.
17702         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
17703         * m4/progtest.m4: New file, from gettext-0.11.5.
17704         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
17705         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
17706         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
17707
17708         Module localcharset.
17709         * m4/localcharset.m4: New file.
17710
17711         Module hard-locale.
17712         * m4/hard-locale.m4: New file.
17713
17714         Module mbswidth.
17715         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
17716         onceonly macros.
17717         * m4/mbrtowc.m4: Add comment.
17718
17719         Module memcasecmp.
17720         * m4/memcasecmp.m4: New file.
17721
17722         Module memcoll.
17723         * m4/memcoll.m4: New file.
17724
17725         Module unicodeio.
17726         * m4/unicodeio.m4: New file.
17727
17728         Module rpmatch.
17729         * m4/rpmatch.m4: New file.
17730
17731         Module yesno.
17732         * m4/yesno.m4: New file.
17733
17734         Module exitfail.
17735         * m4/exitfail.m4: New file.
17736
17737         Module c-stack.
17738         * m4/c-stack.m4 (gl_C_STACK): New macro.
17739         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
17740
17741         Module error.
17742         * m4/error.m4 (gl_ERROR): New macro.
17743         (jm_PREREQ_ERROR): Use onceonly macros.
17744
17745         Module fatal.
17746         * m4/fatal.m4: New file.
17747
17748         Module getloadavg.
17749         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
17750         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
17751
17752         Module getpagesize.
17753         * m4/getpagesize.m4: New file.
17754
17755         Module getusershell.
17756         * m4/getusershell.m4: New file.
17757
17758         Module physmem.
17759         * m4/physmem.m4: New file.
17760
17761         Module posixver.
17762         * m4/posixver.m4: New file.
17763
17764         Module quotearg.
17765         * m4/quotearg.m4: New file.
17766
17767         Module quote.
17768         * m4/quote.m4: New file.
17769
17770         Module readutmp.
17771         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
17772
17773         Module sig2str.
17774         * m4/sig2str.m4: New file.
17775
17776         Other.
17777         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
17778         ulonglong.m4.
17779         * m4/intmax_t.m4: New file.
17780         * m4/d-type.m4: Indentation.
17781         * m4/jm-macros.m4: Update.
17782         * m4/prereq.m4 (jm_PREREQ): Update.
17783         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
17784         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
17785         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
17786         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
17787         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
17788         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
17789         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
17790         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
17791         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
17792         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
17793         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
17794         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
17795         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
17796         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
17797         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
17798         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
17799         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
17800         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
17801         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
17802
17803 2002-12-24  Bruno Haible  <bruno@clisp.org>
17804
17805         * MODULES.txt: Update according to m4/ changes.
17806
17807         Module gettext.
17808         * config.rpath: New file, from gettext-0.11.5.
17809
17810         * modules/*: New module descriptions.
17811         * gnulib-tool: New file.
17812         * MODULES.html.sh: New file.
17813
17814 2002-12-21  Karl Berry  <karl@gnu.org>
17815
17816         * doc/fdl.texi: update to version 1.2.
17817
17818 2002-12-19  Karl Berry  <karl@gnu.org>
17819
17820         * config/config.guess: update from prep.
17821
17822 2002-12-18  Bruno Haible  <bruno@clisp.org>
17823
17824         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
17825         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
17826
17827 2002-12-17  Bruno Haible  <bruno@clisp.org>
17828
17829         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
17830         stdlib.h, string.h.
17831
17832 2002-12-17  Bruno Haible  <bruno@clisp.org>
17833
17834         * lib/canon-host.c (strdup): Remove unused declaration.
17835
17836         * lib/fsusage.c: Include full_read.h.
17837         (get_fs_usage): Use full_read instead of safe_read.
17838
17839         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
17840
17841 2002-12-12  Karl Berry  <karl@gnu.org>
17842
17843         * config/config.guess: update from prep.
17844
17845 2002-12-11  Bruno Haible  <bruno@clisp.org>
17846
17847         * m4/setenv.m4: New file, from gettext-0.11.5.
17848
17849 2002-12-11  Bruno Haible  <bruno@clisp.org>
17850
17851         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
17852         not unsetenv().
17853         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
17854         modifications:
17855
17856         2002-12-11  Bruno Haible  <bruno@clisp.org>
17857
17858                 * setenv.c (alloca): Fall back to malloc.
17859                 (freea): New macro.
17860                 (setenv): Use freea() to free memory allocated with alloca().
17861
17862         2002-11-13  Bruno Haible  <bruno@clisp.org>
17863
17864                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
17865                 function declarations.
17866                 * unsetenv.c (unsetenv): Likewise.
17867
17868         2002-03-04  Bruno Haible  <bruno@clisp.org>
17869
17870                 Portability to AIX 4.3.3.
17871                 * unsetenv.c: New file, extracted from setenv.c.
17872                 * setenv.c: Move the unsetenv() function to unsetenv.c.
17873
17874         2001-12-20  Bruno Haible  <bruno@clisp.org>
17875
17876                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
17877                 use malloc instead. For SunOS 4.
17878
17879         2001-12-11  Bruno Haible  <bruno@clisp.org>
17880
17881                 * setenv.c: Declare alloca.
17882                 (compar_fn_t): New typedef.
17883                 (KNOWN_VALUE, STORE_VALUE): Use it.
17884
17885         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
17886         setenv.h.
17887
17888 2002-12-10  Paul Eggert  <eggert@twinsun.com>
17889
17890         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
17891         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
17892         Choose values that are less likely to collide with system fnmatch
17893         options.
17894         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
17895         defined (e.g., a pure POSIX system).
17896         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
17897         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
17898
17899 2002-12-06  Paul Eggert  <eggert@twinsun.com>
17900
17901         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
17902         a pain in practice to deal with generated m4 files.  This change
17903         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
17904
17905         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
17906         and jm-glibc-io.m4, as they are no longer a special case.
17907         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
17908         kludge and the auto-generation stuff.  Check only whether the
17909         functions are declared, not whether they exist, since older hosts
17910         that don't declare the functions can't use the optimization anyway.
17911
17912 2002-12-06  Jim Meyering  <jim@meyering.net>
17913
17914         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
17915
17916         Merge in changes from libc's misc/error.c, in preparation
17917         for the merge of gnulib's changes back into libc.
17918
17919         * lib/error.c (_): Define only if not already defined.
17920         Move definition to follow all #include directives.
17921         Include unlocked-io.h only if !_LIBC.
17922         [_LIBC]: Include <libio/libioP.h>.
17923         [USE_IN_LIBIO]: Include <libio/iolibio.h>
17924         (fflush): Tweak definition to use INTUSE.
17925         (putc): Define.
17926
17927 2002-12-05  Paul Eggert  <eggert@twinsun.com>
17928
17929         * lib/alloca.c [defined emacs]: Include "lisp.h".
17930         (xalloc_die) [defined emacs]: New macro.
17931         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
17932         [! defined emacs]: Include <xalloc.h>.
17933         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
17934         (pointer): Typedef to POINTER_TYPE *.
17935         (malloc): Remove decl; we now always use xmalloc.
17936         (alloca): Use old-style definition, since Emacs needs this.
17937         Check for arithmetic overflow when computing combined size.
17938
17939 2002-12-04  Paul Eggert  <eggert@twinsun.com>
17940
17941         Do not generate unlocked-io.h automatically, since it's easier to
17942         maintain it by hand.
17943
17944         * lib/unlocked-io.h: New file, from GNU diffutils,
17945         but with proper copyright notice and attribution.
17946         * lib/gen-uio: Remove.
17947         * lib/Makefile.am: Add copyright notice.
17948         (libfetish_a_SOURCES): Add unlocked-io.h.
17949         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
17950         (DISTCLEANFILES, io_functions): Remove macros.
17951         (EXTRA_DIST): Remove gen_uio.
17952         (unlocked-io.h): Remove rule.
17953
17954 2002-12-04  Jim Meyering  <jim@meyering.net>
17955
17956         Reflect the fact that stat.c and lstat.c are no longer generated.
17957         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
17958         (DISTCLEANFILES): Likewise.
17959         (EXTRA_DIST): Likewise.
17960         (all_local): Don't depend on stat.c or lstat.c.
17961         (stat.c, lstat.c): Remove rules.
17962         (EXTRA_DIST): Remove xstat.in.
17963
17964         * lib/xstat.in: Remove file.  Contents moved into stat.c.
17965         * lib/stat.c: New file.  Contents mostly from xstat.in.
17966         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
17967         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
17968
17969         * lib/safe-read.c: Rework so that it may serve to define safe_write,
17970         too.
17971         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
17972
17973 2002-12-03  Jim Meyering  <jim@meyering.net>
17974
17975         * lib/safe-read.c, safe-write.c: Change variable names and comments,
17976         but not semantics, to minimize the differences between these two files.
17977         (safe_read): Change comment to mention SAFE_READ_ERROR.
17978
17979         * lib/safe-read.c (IS_EINTR): Define.
17980         (safe_read): Use IS_EINTR in place of in-function cpp directives.
17981
17982 2002-12-02  Jim Meyering  <jim@meyering.net>
17983
17984         * lib/safe-read.c (EINTR): Define.
17985         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
17986         (INT_MAX): Provide fallback.
17987         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
17988
17989         * lib/safe-read.h (SAFE_READ_ERROR): Define.
17990
17991 2002-12-02  Bruno Haible  <bruno@clisp.org>
17992
17993         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
17994         Define, taken from safe-read.c.
17995         (INT_MAX): Provide fallback.
17996         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
17997         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
17998
17999         * lib/safe-read.c (EINTR): Remove definition.
18000         (safe_read): Don't use EINTR if it is absent.
18001
18002 2002-12-01  Jim Meyering  <jim@meyering.net>
18003
18004         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
18005         zero.
18006         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
18007
18008 2002-11-27  Paul Eggert  <eggert@twinsun.com>
18009
18010         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
18011         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
18012         with `if (! (value < limit)) abort ();', for readability.
18013
18014 2002-11-26  Karl Berry  <karl@gnu.org>
18015
18016         * lib/strdup.c: copy from libc again, with jim's ok.
18017         * lib/.cppi-disable: re-add strdup.c
18018
18019 2002-11-25  Karl Berry  <karl@gnu.org>
18020
18021         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
18022         instead of "strtol.c".
18023
18024 2002-11-25  Karl Berry  <karl@gnu.org>
18025
18026         * config/install-sh: update from automake for variable quoting, $0 in
18027         error msgs, etc.
18028
18029         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
18030         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
18031         entry.
18032
18033 2002-11-25  Jim Meyering  <jim@meyering.net>
18034
18035         * lib/mktime.c: Sync from libc, now that it has the latest fix.
18036
18037 2002-11-24  Karl Berry  <karl@gnu.org>
18038
18039         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
18040         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
18041
18042 2002-11-24  Jim Meyering  <jim@meyering.net>
18043
18044         Update from coreutils:
18045
18046         * lib/mktime.c: Merge in changes from libc.
18047
18048         Avoid a link-time failure on some Linux systems.
18049         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
18050         (otherwise).
18051         (__mon_yday): Declare with the STATIC attribute.
18052         (__mktime_internal): Likewise.
18053         Based on a report from Greg Schafer.
18054
18055 2002-11-23  Jim Meyering  <jim@meyering.net>
18056
18057         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
18058         Use `unsigned', not `int', as type of index.
18059
18060         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
18061
18062         * lib/fsusage.c: Remove unneeded parentheses around operands of
18063         `defined'.
18064
18065 2002-11-22  Paul Eggert  <eggert@twinsun.com>
18066
18067         * lib/quotearg.h: Allow multiple inclusion by surrounding with
18068         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
18069         so that we can be included first.
18070         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
18071         * lib/quotearg.c: Include quotearg.h immediately after config.h.
18072         No need to include stddef.h or sys/types.h any more.
18073         Surround local include files with "", not "<>".
18074         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
18075         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
18076         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
18077         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
18078         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
18079         (ISPRINT): Remove; no longer needed now that we assume C89.
18080
18081         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
18082         Preserve errno.
18083
18084         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
18085         quotearg_char): Use SIZE_MAX rather than
18086         (size_t) -1 when we are talking about "infinity".
18087
18088         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
18089
18090 2002-11-22  Paul Eggert  <eggert@twinsun.com>
18091
18092         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
18093         hint that one should use `if (! x) abort ();' rather than `assert
18094         (x);', and anyway it's one less thing to worry about configuring.
18095         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
18096         hash_rehash, hash_insert): Use abort rather than assert.
18097
18098 2002-11-22  Bruno Haible  <bruno@clisp.org>
18099
18100         * lib/safe-read.h: Assume C89. Add comments.
18101         (safe_read): Change return type to size_t.
18102         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
18103         byte counts > SSIZE_MAX correctly.
18104         * lib/safe-write.h: New file.
18105         * lib/safe-write.c: New file.
18106         * lib/full-read.h: New file.
18107         * lib/full-read.c: New file.
18108         * lib/full-write.h: Assume C89. Add comments.
18109         * lib/full-write.c: Include safe-write.h.
18110         (full_write): Rewritten to use safe_write.
18111         Suggested by Jim Meyering and Paul Eggert.
18112
18113 2002-11-21  Jim Meyering  <jim@meyering.net>
18114
18115         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
18116
18117         Merge in changes from the coreutils.
18118
18119         2002-09-25  Paul Eggert  <eggert@twinsun.com>
18120         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
18121         <stdint.h>.
18122         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
18123         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
18124         int.  Work more efficiently if X is the same width as uintmax_t.
18125         Do not compare X to -1, to avoid bogus compiler warning.
18126         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
18127         Don't assume that f_frsize and f_bsize are the same type.
18128
18129         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
18130         warning on FreeBSD.
18131
18132         * lib/makepath.c (make_path): Restore umask *before* creating the final
18133         component.
18134         (make_path): Minor reformatting.
18135
18136         * lib/xmalloc.c: Adjust to work with new autoconf macros,
18137         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
18138         HAVE_MALLOC/HAVE_REALLOC.
18139
18140         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
18141         dummy ones.  At least on GNU/Linux systems, `auto' means something
18142         else.
18143         From Michael Stone.
18144
18145 2002-11-21  Bruno Haible  <bruno@clisp.org>
18146
18147         Remove case insensitive option matching.
18148         * lib/argmatch.h (argcasematch): Remove declaration.
18149         (ARGCASEMATCH): Remove macro.
18150         (__xargmatch_internal): Remove case_sensitive argument.
18151         (XARGMATCH): Update.
18152         (XARGCASEMATCH): Remove macro.
18153         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
18154         case_sensitive argument.
18155         (argcasematch): Remove function.
18156         (__xargmatch_internal): Remove case_sensitive argument.
18157         (main): Use XARGMATCH instead of XARGCASEMATCH.
18158
18159         * lib/xmalloc.c: Change compile-time error message. Add comment about
18160         required autoconf version.
18161
18162 2002-11-20  Paul Eggert  <eggert@twinsun.com>
18163
18164         Merge argmatch cleanups from Bison.  Assume C89.
18165
18166         * lib/argmatch.c: Include config.h here, not in argmatch.h.
18167         Include stdlib.h, for EXIT_FAILURE.
18168         Always include <string.h>, since we assume C89.
18169         (EXIT_FAILURE): Remove pre-C89 bug workaround.
18170         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
18171         Include <stddef.h> instead, since it's all we need for size_t.
18172         (PARAMS): Remove.  All uses removed.
18173         (ARRAY_CARDINALITY): Do not bother to #undef.
18174         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
18175         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
18176         Remove unnecessary parentheses.
18177         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
18178         Insert necessary parentheses.
18179         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
18180         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
18181
18182 2002-11-19  Bruno Haible  <bruno@clisp.org>
18183
18184         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
18185         * lib/mbswidth.h: Include <stddef.h>, for size_t.
18186
18187         * lib/mbswidth.h (PARAMS): Remove macro.
18188         (mbswidth, mbsnwidth): Use ANSI C function declarations.
18189         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
18190
18191         * lib/gcd.h (PARAMS): Remove macro.
18192         (gcd): Use ANSI C function declarations.
18193         * lib/gcd.c (gcd): Likewise.
18194
18195 2002-11-15  Bruno Haible  <bruno@clisp.org>
18196
18197         * lib/strcspn.c: Include <stddef.h>.
18198         (strcspn): Use ANSI C function declaration. Change return type to
18199         size_t. Use NULL.
18200         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
18201         (strpbrk): Use NULL.
18202         * lib/strpbrk.h (PARAMS): Remove macro.
18203         (strpbrk): Use ANSI C function declaration.
18204         * lib/strstr.c: Don't include <sys/types.h>.
18205         * lib/strstr.h (PARAMS): Remove macro.
18206         (strstr): Use ANSI C function declarations.
18207
18208 2002-11-14  Karl Berry  <karl@gnu.org>
18209
18210         * config/mkinstalldirs: `do' on separate line, instead of
18211         `for var; do'.
18212
18213 2002-11-06  Bruno Haible  <bruno@clisp.org>
18214
18215         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
18216         * lib/gcd.c (gcd): Likewise.
18217
18218 2002-11-05  Bruno Haible  <bruno@clisp.org>
18219
18220         * lib/gcd.h: New file, from gettext-0.11.5.
18221         * lib/gcd.c: New file, from gettext-0.11.5.
18222
18223 2002-11-05  Bruno Haible  <bruno@clisp.org>
18224
18225         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
18226         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
18227         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
18228         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
18229
18230         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
18231         <libintl.h>.
18232         * lib/makepath.c: Include gettext.h instead of <locale.h> and
18233         <libintl.h>.
18234
18235         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
18236         * lib/human.c: Include gettext.h instead of <libintl.h>.
18237         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
18238         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
18239         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
18240         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
18241         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
18242         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
18243         (textdomain): Remove definition.
18244         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
18245
18246         * lib/long-options.c: Remove include of <libintl.h> and definition of
18247         _.
18248         * lib/same.c: Remove include of <libintl.h> and definition of _.
18249
18250 2002-11-04  Owen Taylor  <otaylor@redhat.com>
18251
18252         * lib/config.charset: A few additions for Solaris.
18253
18254 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
18255
18256         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
18257         * lib/localcharset.c (locale_charset): Declare as extern "C".
18258
18259 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
18260
18261         * lib/config.charset: msdos in uk_UA uses CP1125.
18262
18263 2002-11-04  Bruno Haible  <bruno@clisp.org>
18264
18265         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
18266         * lib/strcase.h: New file, from GNU gettext-0.11.5.
18267         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
18268         * lib/strstr.h: New file, from GNU gettext-0.11.5.
18269         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
18270
18271 2002-11-04  Bruno Haible  <bruno@clisp.org>
18272
18273         * lib/localcharset.c (locale_charset): Don't return an empty string.
18274
18275 2002-11-04  Bruno Haible  <bruno@clisp.org>
18276
18277         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
18278         aliases.
18279
18280 2002-11-04  Bruno Haible  <bruno@clisp.org>
18281
18282         * lib/config.charset: Update for newest glibc. Add canonical names
18283         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
18284
18285 2002-11-04  Bruno Haible  <bruno@clisp.org>
18286
18287         * lib/config.charset: Add support for NetBSD.
18288
18289 2002-11-04  Bruno Haible  <bruno@clisp.org>
18290
18291         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
18292
18293 2002-11-01  Bruno Haible  <bruno@clisp.org>
18294
18295         * configure.in: Add AC_CONFIG_AUX_DIR call.
18296         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
18297         test/Makefile.
18298         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
18299
18300 2002-09-28  Karl Berry  <karl@gnu.org>
18301
18302         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
18303         installed automake until the next release, since changes have been
18304         made.
18305
18306 2002-09-25  Karl Berry  <karl@gnu.org>
18307
18308         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
18309         * lib/getopt*: copy from libc/posix.
18310         * lib/gettext.h: copy from gettext.
18311         * lib/.cppi-disable: add strdup.c, gettext.h.
18312
18313 2002-09-25  Karl Berry  <karl@gnu.org>
18314
18315         * config/srclist.txt: enable gettext.h check.
18316         * config/config.{guess,sub}: update from prep.
18317         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
18318                 from automake 1.6.3.
18319         See srclist*.
18320
18321 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
18322
18323         * regex.c (PATFETCH): Remove the translating fetch.
18324         (PATFETCH_RAW): Rename to PATFETCH.
18325         (set_image_of_range): New fun.
18326         (SET_RANGE_TABLE_WORK_AREA): Use it.
18327         (regex_compile): Don't translate the pattern chars so eagerly.
18328         Only do it when inserting an `exactn' bytecode or when handling
18329         a char-range.
18330         (mutually_exclusive_p): Avoid empty statement.
18331
18332 2002-07-06  Jim Meyering  <meyering@lucent.com>
18333
18334         * m4/README: Don't mention Makefile.am.in.
18335         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
18336
18337 2002-07-01  Jim Meyering  <meyering@lucent.com>
18338
18339         * lib/c-stack.c: Include sys/time.h.
18340         From Volker Borchert.
18341
18342 2002-06-26  Paul Eggert  <eggert@twinsun.com>
18343
18344         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
18345
18346 2002-06-26  Paul Eggert  <eggert@twinsun.com>
18347
18348         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
18349         New macro.  Use it uniformly instead of
18350         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
18351         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
18352         reported by Vin Shelton.
18353
18354 2002-06-22  Paul Eggert  <eggert@twinsun.com>
18355
18356         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
18357         Do not assume SA_SIGINFO behavior.
18358         Bug reported by Jim Meyering on NetBSD 1.5.2.
18359
18360 2002-06-22  Jim Meyering  <meyering@lucent.com>
18361
18362         * m4/c-stack.m4: New file, from diffutils-2.8.2.
18363         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
18364
18365         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
18366         now that configure.ac uses AC_GNU_SOURCE.
18367         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
18368         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
18369
18370         Update to latest tools.  Suggestions from Paul Eggert.
18371         * m4/stdbool.m4: New file, from diffutils-2.8.2.
18372         * m4/gnu-source.m4: Update from diffutils-2.8.2.
18373         * m4/fnmatch.m4: Likewise.
18374         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
18375         to AC_HEADER_STDBOOL
18376
18377 2002-06-22  Jim Meyering  <meyering@lucent.com>
18378
18379         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
18380         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
18381
18382 2002-06-22  Jim Meyering  <meyering@lucent.com>
18383
18384         * lib/c-stack.c, c-stack.h: New files, from diffutils-2.8.2.
18385
18386         * lib/exitfail.c, exitfail.h: Likewise.
18387         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
18388
18389         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
18390         of fnmatch.h.
18391         (EXTRA_DIST): Add fnmatch_loop.c.
18392         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
18393
18394         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
18395         * lib/fnmatch.c: Update from diffutils-2.8.2.
18396         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
18397         * lib/fnmatch.h: Remove file.
18398
18399 2002-06-21  Jim Meyering  <meyering@lucent.com>
18400
18401         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
18402         * m4/mbrtowc.m4: Likewise.
18403
18404         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
18405         * m4/mbswidth.m4: Reflect name change:
18406         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
18407         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
18408
18409         * m4/lib-link.m4: Update from gettext-0.11.2.
18410         * m4/gettext.m4: Likewise.
18411
18412         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
18413         From Alfred M. Szmidt.
18414
18415 2002-06-18  Paul Eggert  <eggert@twinsun.com>
18416
18417         * lib/file-type.h: Report an error if neither S_ISREG nor
18418         S_IFREG is defined, instead of using a test specific to glibc
18419         2.2.  This should be safe, since POSIX requires S_ISREG and
18420         Unix Version 7 had S_IFREG.  We don't need to check for
18421         <sys/types.h> since we don't use any symbols that it defines.
18422
18423 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
18424
18425         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
18426         $@-t, so that each temporary file name is unique and valid in the first
18427         8 characters, for operation under DOS.
18428
18429 2002-06-15  Paul Eggert  <eggert@twinsun.com>
18430
18431         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
18432
18433 2002-06-15  Jim Meyering  <meyering@lucent.com>
18434
18435         Work even with DJGPP 2.03, which lacks support for symlinks.
18436         From Richard Dawe.
18437         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
18438         is defined.
18439         * lib/lchown.c (S_ISLNK): Likewise.
18440
18441 2002-06-15  Jim Meyering  <meyering@lucent.com>
18442
18443         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
18444         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
18445         have been included before this file.
18446
18447 2002-06-14  Jim Meyering  <meyering@lucent.com>
18448
18449         * lib/file-type.h: Use the version from diffutils-2.8.2.
18450         * lib/file-type.c: Likewise.
18451
18452 2002-06-07  Jim Meyering  <meyering@lucent.com>
18453
18454         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
18455         They're needed at least for NetBSD 1.5.2.
18456         ($statxfs_includes): Include those same headers.
18457         ($statxfs_includes): Include sys/vfs.h if available.
18458         ($statxfs_includes): Likewise for sys/statvfs.h.
18459         Check for the following members in both structs statfs and statvfs:
18460         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
18461
18462 2002-06-01  Jim Meyering  <meyering@lucent.com>
18463
18464         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
18465         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
18466
18467 2002-05-28  Jim Meyering  <meyering@lucent.com>
18468
18469         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
18470         Reported by Volker Borchert.
18471
18472 2002-05-27  Jim Meyering  <meyering@lucent.com>
18473
18474         Fix a problem seen only on nonconforming systems whereby ls.c's
18475         use of localtime, and then of gettimeofday would cause trouble:
18476         the localtime call used to initialize rpl_gettimeofday's save
18477         mechanism would clobber ls's current local time information so
18478         that in any long listing the first file would always be listed
18479         with date 1970-01-01.  Analysis by Volker Borchert.
18480
18481         * lib/gettimeofday.c (localtime): Undefine.
18482         (rpl_localtime): New function.
18483
18484 2002-05-27  Jim Meyering  <meyering@lucent.com>
18485
18486         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
18487         localtime.
18488
18489         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
18490         use the replacement function; it wouldn't resolve at link time.
18491         Reported by Volker Borchert.
18492
18493 2002-05-22  Jim Meyering  <meyering@lucent.com>
18494
18495         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
18496         file-type.h.
18497         * lib/file-type.h: New file.
18498         * lib/file-type.c (file_type): New file/function.  Extracted from
18499         diffutils.
18500
18501 2002-04-30  Jim Meyering  <meyering@lucent.com>
18502
18503         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
18504
18505 2002-04-29  Paul Eggert  <eggert@twinsun.com>
18506
18507         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
18508
18509 2002-04-29  Paul Eggert  <eggert@twinsun.com>
18510
18511         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
18512         Do not check for alloca.h (no longer used) or stdbool.h (was never
18513         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
18514
18515 2002-04-29  Paul Eggert  <eggert@twinsun.com>
18516
18517         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
18518
18519 2002-04-29  Jim Meyering  <meyering@lucent.com>
18520
18521         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
18522         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
18523         Use AC_FUNC_STRNLEN here instead.
18524
18525         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
18526         With autoconf-2.53a, it's part of AC_PROG_CC.
18527
18528 2002-04-28  Paul Eggert  <eggert@twinsun.com>
18529
18530         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
18531         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
18532
18533 2002-04-28  Paul Eggert  <eggert@twinsun.com>
18534
18535         * lib/sig2str.h, sig2str.c: New files.
18536         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
18537
18538 2002-04-28  Paul Eggert  <eggert@twinsun.com>
18539
18540         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
18541         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
18542         of 127, since 64 is the largest conceivable number for ancient
18543         nonstandard hosts.
18544         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
18545
18546 2002-04-28  Jim Meyering  <meyering@lucent.com>
18547
18548         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
18549
18550 2002-04-24  Jim Meyering  <meyering@lucent.com>
18551
18552         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
18553         (jm_PREREQ): Use it.
18554
18555         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
18556         mach/mach.h fcntl.h.
18557         Check for this function: setlocale.
18558
18559 2002-04-24  Jim Meyering  <meyering@lucent.com>
18560
18561         * lib/gettext.h: New file, from Gettext.
18562         * lib/Makefile.am (INCLUDES): Remove -I../intl.
18563         (libfetish_a_SOURCES): Add gettext.h.
18564
18565 2002-04-16  Jim Meyering  <meyering@lucent.com>
18566
18567         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
18568         ut_pid, ut_id, ut_exit.
18569
18570 2002-04-16  Jim Meyering  <meyering@lucent.com>
18571
18572         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
18573         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
18574         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
18575
18576 2002-04-12  Jim Meyering  <meyering@lucent.com>
18577
18578         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
18579         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
18580         existence of the getmntinfo function.  Needed for Darwin 5.3.
18581
18582         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
18583         This is necessary at least on Darwin 5.3.
18584
18585         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
18586         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
18587         strnlen.o in the library, and that makes some versions of ranlib
18588         object.
18589
18590 2002-04-12  Jim Meyering  <meyering@lucent.com>
18591
18592         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
18593
18594 2002-04-09  Jim Meyering  <meyering@lucent.com>
18595
18596         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
18597         to be more precise.  Rather than saying we're checking whether the
18598         function `works', say what we're testing.
18599         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
18600         Reported by Bruno Haible.
18601
18602 2002-03-10  Jim Meyering  <meyering@lucent.com>
18603
18604         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
18605         Suggestion from Santiago Vila.
18606
18607 2002-03-08  Jim Meyering  <meyering@lucent.com>
18608
18609         * lib/rename.c: Mention that this wrapper is needed also on
18610         mips-dec-ultrix4.4 systems.
18611
18612 2002-03-02  Jim Meyering  <meyering@lucent.com>
18613
18614         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
18615         not HAVE_CLOCK_SETTIME.
18616
18617 2002-02-27  Paul Eggert  <eggert@twinsun.com>
18618
18619         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
18620         Check for clock_settime.
18621
18622 2002-02-27  Paul Eggert  <eggert@twinsun.com>
18623
18624         * lib/nanosleep.h: Rename to....
18625         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
18626
18627         * lib/gettime.c: New file.
18628         * lib/settime.c: New file.
18629         * lib/stime.c: Remove.
18630
18631         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
18632         timespec.h.  Remove nanosleep.h.
18633
18634 2002-02-25  Paul Eggert  <eggert@twinsun.com>
18635
18636         * m4/acl.m4: New file.
18637         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
18638         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
18639
18640 2002-02-25  Paul Eggert  <eggert@twinsun.com>
18641
18642         * lib/acl.c, acl.h: New files.
18643         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
18644
18645 2002-02-24  Jim Meyering  <meyering@lucent.com>
18646
18647         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
18648         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
18649         cause trouble.  Reported by Nelson Beebe.
18650
18651 2002-02-23  Paul Eggert  <eggert@twinsun.com>
18652
18653         * lib/path-concat.c (xpath_concat): Reorder code to pacify
18654         compilers that don't know that xalloc_die never returns.
18655
18656 2002-02-20  Jim Meyering  <meyering@lucent.com>
18657
18658         * lib/getdate.c: Regenerate using bison-1.33.
18659
18660 2002-02-17  Jim Meyering  <meyering@lucent.com>
18661
18662         * config/config.guess (main): Don't use `head -1'; it's no longer
18663         portable. Use `sed 1q' instead.
18664
18665 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
18666
18667         * m4/codeset.m4: Upgrade to gettext-0.11.
18668         * m4/gettext.m4: Upgrade to gettext-0.11.
18669         * m4/glibc21.m4: Upgrade to gettext-0.11.
18670         * m4/iconv.m4: Upgrade to gettext-0.11.
18671         * m4/isc-posix.m4: Upgrade to gettext-0.11.
18672         * m4/lcmessage.m4: Upgrade to gettext-0.11.
18673         * m4/lib-ld.m4: New file, from gettext-0.11.
18674         * m4/lib-link.m4: New file, from gettext-0.11.
18675         * m4/lib-prefix.m4: New file, from gettext-0.11.
18676         * m4/progtest.m4: Upgrade to gettext-0.11.
18677
18678 2002-02-15  Paul Eggert  <eggert@twinsun.com>
18679
18680         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
18681         (jm_PREREQ): Use it.
18682
18683 2002-02-15  Paul Eggert  <eggert@twinsun.com>
18684
18685         * lib/posixver.c, posixver.h: New files.
18686         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
18687
18688 2002-02-02  Paul Eggert  <eggert@twinsun.com>
18689             Bruno Haible  <bruno@clisp.org>
18690
18691         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
18692         (fwrite_success_callback): New declaration.
18693         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
18694         print_unicode_char. Call failure callback instead of error.
18695         (fwrite_success_callback): New function.
18696         (exit_failure_callback): New function.
18697         (fallback_failure_callback): New function.
18698         (print_unicode_char): Call unicode_to_mb.
18699
18700 2002-01-26  Jim Meyering  <meyering@lucent.com>
18701
18702         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
18703         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
18704
18705 2002-01-26  Jim Meyering  <meyering@lucent.com>
18706
18707         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
18708
18709 2002-01-22  Paul Eggert  <eggert@twinsun.com>
18710
18711         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
18712
18713 2002-01-22  Jim Meyering  <meyering@lucent.com>
18714
18715         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
18716         Otherwise, some versions of automake would omit the rule that makes
18717         Makefile from Makefile.in.
18718
18719 2002-01-21  Paul Eggert  <eggert@twinsun.com>
18720
18721         * lib/xmemcoll.h, xmemcoll.c: New files.
18722         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
18723         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
18724         (memcoll): Set errno to zero if there is no error.
18725
18726         * lib/quotearg.c (quotearg_buffer_restyled):
18727         Fix bug with quoting buffers containing NUL when backslashing escapes.
18728         This bug was exposed by the other changes in this patch.
18729         (quotearg_n_options): New arg ARGSIZE.
18730         All callers changed.
18731         (quoting_options_from_style): New function.
18732         (quotearg_n_style): Use it.
18733         (quotearg_n_style_mem): New function.
18734
18735         * lib/quotearg.h (quotearg_n_style_mem): New function.
18736
18737 2002-01-19  Jim Meyering  <meyering@lucent.com>
18738
18739         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
18740         Remove useless quotes: DF_PROG="df".
18741         * m4/strnlen.m4: New file.
18742
18743 2002-01-16  Paul Eggert  <eggert@twinsun.com>
18744
18745         * lib/backupfile.c (ISDIGIT): Comment fix.
18746         * lib/getdate.y (ISDIGIT): Likewise.
18747         * lib/posixtm.c (ISDIGIT, year): Likewise.
18748         * lib/strverscmp.c (ISDIGIT): Likewise.
18749         * lib/userspec.c (ISDIGIT): Likewise.
18750
18751 2002-01-16  Jim Meyering  <meyering@lucent.com>
18752
18753         * lib/getdate.y: Add three semicolons, each just before a closing
18754         brace. Bison (as of version 1.31) no longer papers over that mistake.
18755
18756 2002-01-05  Jim Meyering  <meyering@lucent.com>
18757
18758         * lib/version-etc.c (version_etc_copyright): Update copyright year.
18759
18760 2001-12-19  Paul Eggert  <eggert@twinsun.com>
18761
18762         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
18763         not silently exit merely because the output buffer happens to
18764         have nothing pending.
18765
18766 2001-12-18  Paul Eggert  <eggert@twinsun.com>
18767
18768         See the big note in ../ChangeLog.
18769         * lib/human.c (suffixes): Prefer K to k for 1024.
18770         (generate_suffix_backwards): New function.
18771         (human_readable_inexact): Use it.
18772         * lib/xstrtol.c (__xstrtol): If there is no number but there
18773         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
18774         Accept 'K' as well as 'k'.
18775
18776 2001-12-15  Jim Meyering  <meyering@lucent.com>
18777
18778         * lib/regex.h (__restrict_arr): Update from libc.
18779
18780         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
18781         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
18782         (STREQ): Define.
18783
18784 2001-12-14  Jim Meyering  <meyering@lucent.com>
18785
18786         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
18787         Suggestion from Bruno Haible.
18788
18789 2001-12-10  Jim Meyering  <meyering@lucent.com>
18790
18791         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
18792         xrealloc, Instead, include "xalloc.h".
18793         (initbuffer): Don't cast xmalloc return value to char*.
18794         (readline): Reword comment.
18795         Don't cast xrealloc return value to char*
18796         Return NULL, not 0.
18797
18798 2001-12-09  Jim Meyering  <meyering@lucent.com>
18799
18800         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
18801         about `signed and unsigned type in conditional expression'.
18802         * lib/posixtm.c (posix_time_parse): Likewise.
18803
18804         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
18805
18806         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
18807         to avoid a pedantic warning.
18808
18809         * lib/getstr.c: Don't include assert.h.
18810         (getstr): Remove warning-evoking assertions.
18811         Return -1 if offset parameter is out of bounds.
18812         Change the type of a local from int to size_t.
18813
18814         * lib/strftime.c (my_strftime_localtime_r): Include this function
18815         definition in the `#if ! HAVE_TM_GMTOFF' block.
18816
18817         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
18818         Include xalloc.h instead.
18819
18820 2001-12-02  Jim Meyering  <meyering@lucent.com>
18821
18822         * lib/tempname.c: Don't declare getenv, thus reverting the change of
18823         2001-11-18.  It's no longer necessary, now that stdlib.h is always
18824         included.
18825
18826         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
18827         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
18828
18829 2001-11-30  Akim Demaille  <akim@epita.fr>
18830
18831         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
18832         before being defined.
18833
18834 2001-11-27  Paul Eggert  <eggert@twinsun.com>
18835
18836         * lib/quotearg.h (quotearg_n, quotearg_n_style):
18837         First arg is int, not unsigned.
18838         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
18839         (SIZE_MAX, UINT_MAX): New macros.
18840         (quotearg_n_options): Abort if N is negative.
18841         Avoid overflow check on hosts where size_t is 64 bits and int
18842         is 32 bits, as overflow is impossible there.
18843         Fix off-by-one typo that caused unnecessary reallocation.
18844
18845 2001-11-27  Jim Meyering  <meyering@lucent.com>
18846
18847         * lib/tempname.c: Merge with version from libc.
18848         * lib/regex.c: Likewise.
18849
18850         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
18851         systems for which STDC_HEADERS is 0, it was not included, resulting in
18852         a warning about an integer-to-pointer conversion problem with getenv.
18853         Reported by Volker Borchert.
18854
18855 2001-11-26  Jim Meyering  <meyering@lucent.com>
18856
18857         * lib/gtod.h: Remove file.
18858         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
18859         * lib/gettimeofday.c: Don't include gtod.h.
18860         (GTOD_init): Remove function.
18861         (rpl_gettimeofday): Do its job here instead, rather than aborting.
18862         Suggestion from Volker Borchert.
18863
18864 2001-11-23  Jim Meyering  <meyering@lucent.com>
18865
18866         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
18867         it.
18868         * lib/hash.c (struct hash_table): Define it here instead.
18869
18870 2001-11-22  Jim Meyering  <meyering@lucent.com>
18871
18872         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
18873
18874 2001-11-20  Jim Meyering  <meyering@lucent.com>
18875
18876         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
18877         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
18878
18879 2001-11-19  Jim Meyering  <meyering@lucent.com>
18880
18881         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
18882         directory.  Use "conftestXXXXXX" as the template.
18883         Suggestion from Paul Eggert.
18884
18885         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
18886         immediately, so the test doesn't mistakenly hit the max-open-files
18887         limit.
18888
18889 2001-11-18  Paul Eggert  <eggert@twinsun.com>
18890
18891         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
18892         (TEMPORARIES): New macro.
18893         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
18894         removes an artificial limitation (e.g. HP-UX 10.20, where
18895         TMP_MAX is 17576).
18896
18897 2001-11-18  Jim Meyering  <meyering@lucent.com>
18898
18899         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
18900
18901 2001-11-18  Jim Meyering  <meyering@lucent.com>
18902
18903         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
18904         on SunOS 4.
18905
18906         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
18907         files will be created before anything else.
18908
18909 2001-11-17 Paul Eggert  <eggert@twinsun.com>
18910
18911         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
18912         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
18913
18914 2001-11-17  Jim Meyering  <meyering@lucent.com>
18915
18916         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
18917         Prompted by a report from Bob Proulx.
18918
18919         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
18920         Instead, require UTILS_FUNC_MKSTEMP.
18921
18922 2001-11-17  Jim Meyering  <meyering@lucent.com>
18923
18924         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
18925         Now, that's done as part of AC_FUNC_STRTOD.
18926
18927 2001-11-17  Jim Meyering  <meyering@lucent.com>
18928
18929         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
18930         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
18931         rather than group writable.  Patch by Juan F. Codagnone.
18932
18933         * lib/readtokens.c: Remove explicit declarations of xmalloc and
18934         xrealloc, Instead, include "xalloc.h".
18935
18936         * lib/mountlist.c: Include unlocked-io.h after all system headers.
18937         Remove explicit declarations of xmalloc, xrealloc,
18938         and xstrdup.  Instead, include "xalloc.h".
18939
18940         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
18941         unlocked-io.h.
18942         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
18943         Likewise.
18944         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
18945
18946         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
18947         Reported by Padraig Brady.
18948
18949         * lib/mkstemp.c: #undef mkstemp.
18950         Include config.h.
18951         (rpl_mkstemp): Rename from mkstemp.
18952         Protoize.
18953
18954 2001-11-16  Jim Meyering  <meyering@lucent.com>
18955
18956         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
18957         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
18958         determine the amount of total physical memory, use pstat_getstatic.
18959         HPUX-11 doesn't define _SC_PHYS_PAGES.
18960         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
18961         If sysconf couldn't be used to determine the amount of available
18962         physical memory, use both pstat_getstatic and pstat_getdynamic.
18963         Based on a patch from Bob Proulx.
18964
18965 2001-11-10  Jim Meyering  <meyering@lucent.com>
18966
18967         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
18968         (jm_PREREQ): Use it.
18969
18970 2001-11-09  Jim Meyering  <meyering@lucent.com>
18971
18972         * m4/jm-macros.m4: Require autoconf-2.52f.
18973         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
18974         Use these AC_-prefixed names, not the AM_-prefixed ones.
18975
18976         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
18977
18978 2001-11-05  Jim Meyering  <meyering@lucent.com>
18979
18980         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
18981
18982 2001-11-04  Jim Meyering  <meyering@lucent.com>
18983
18984         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
18985         $DEFS.
18986
18987 2001-11-03  Jim Meyering  <meyering@lucent.com>
18988
18989         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
18990         of AC_DEFUN.
18991
18992         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
18993         know the name of the variable in the macro definition.
18994
18995 2001-11-03  Jim Meyering  <meyering@lucent.com>
18996
18997         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
18998         in argmatch_to_argument call.
18999
19000         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
19001         argument.
19002
19003         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
19004         e.g., a fault due to an attempt to free a NULL pointer.
19005
19006 2001-11-01  Jim Meyering  <meyering@lucent.com>
19007
19008         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
19009         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
19010
19011 2001-11-01  Jim Meyering  <meyering@lucent.com>
19012
19013         * lib/dirfd.c, dirfd.h: New files.
19014         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
19015
19016         * lib/hash.c (hash_print) [TESTING]: Clean up.
19017
19018 2001-10-22  Paul Eggert  <eggert@twinsun.com>
19019
19020         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
19021         to avoid a warning if -Wall.
19022
19023 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
19024
19025         * README: New file
19026         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
19027         (per RMS's instructions, this is now the canonical source)
19028         * lgpl/, gpl/: New directories.
19029
19030 2001-10-21  Paul Eggert  <eggert@twinsun.com>
19031
19032         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
19033
19034 2001-10-21  Jim Meyering  <meyering@lucent.com>
19035
19036         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
19037         this code would end up calling gettext even in packages built
19038         with --disable-nls.
19039         * lib/getopt.c (_): Likewise.
19040         * lib/regex.c (_): Likewise.
19041
19042 2001-10-20  Paul Eggert  <eggert@twinsun.com>
19043
19044         * m4/error.m4 (jm_PREREQ_ERROR):
19045         Do not invoke AC_CHECK_FUNCS with strerror_r, as
19046         AC_FUNC_STRERROR_R does that.
19047         Check for strerror declaration.
19048
19049         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
19050         are supposed to have them these days.
19051         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
19052         Merge changes from latest Autoconf CVS.
19053         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
19054         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
19055         POSIX decided to standardize on the int flavor of strerror_r.
19056
19057 2001-10-20  Paul Eggert  <eggert@twinsun.com>
19058
19059         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
19060         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
19061         Use strerror_r that is only a macro, even if it is not a function.
19062         (strerror): Check for HAVE_DECL_STRERROR before declaring.
19063         (private_strerror): Use prototypes, not old-style function definition.
19064         (print_errno_message): New function.
19065         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
19066         char*-flavored one.
19067         (error_tail, error, error_at_line): Use it.
19068
19069 2001-10-11  Jim Meyering  <meyering@lucent.com>
19070
19071         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
19072         and quote_n (1, ... to avoid clobbering a buffer.
19073
19074 2001-10-05  Jim Meyering  <meyering@lucent.com>
19075
19076         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
19077         hash-pjw.h.
19078         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
19079         * lib/hash-pjw.h: New file.
19080
19081 2001-09-30  Jim Meyering  <meyering@lucent.com>
19082
19083         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
19084         `struct fsstat' has the `f_fstypename' member.
19085         Use that to define FS_TYPE, which is now used to make
19086         the getfsstat link test tighter.
19087
19088 2001-09-30  Jim Meyering  <meyering@lucent.com>
19089
19090         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
19091         Include <sys/ucred.h>, for Apple Darwin.
19092         Include sys/mount.h and sys/fs_types.h only if available.
19093         (FS_TYPE): Define.
19094         (read_filesystem_list): Use FS_TYPE.
19095
19096 2001-09-29  Paul Eggert  <eggert@twinsun.com>
19097
19098         * lib/exclude.c (excluded_filename): 0 -> false, since it's
19099         a boolean context.
19100
19101 2001-09-29  Jim Meyering  <meyering@lucent.com>
19102
19103         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
19104         [one-argument getmntent function]): Include stdio.h before mntent.h.
19105         SunOS 4.1.x needs it for the declaration of `FILE'.
19106         Patch by Volker Borchert.
19107
19108         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
19109         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
19110         sys/fs_types.h, and make the link-test for getfsstat guard #include
19111         directives with appropriate #if HAVE_*_H tests so that we can
19112         detect getfsstat on Apple Darwin1.3.7 systems.
19113         Reported by Nelson Beebe.
19114         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
19115
19116 2001-09-28  Paul Eggert  <eggert@twinsun.com>
19117
19118         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
19119         #defines strtoimax.  Also treat the other strto* functions
19120         like strtoimax.
19121
19122         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
19123         Check for strtoul and strtoumax,
19124         as those declarations are made even in the signed case.
19125         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
19126         Likewise, for strtol and strtoimax.
19127
19128 2001-09-28  Paul Eggert  <eggert@twinsun.com>
19129
19130         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
19131         #defines strtoimax.  Also treat the other strto* functions
19132         like strtoimax.
19133
19134         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
19135         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
19136         (strtoimax, strtoumax): Do not declare if already defined as a macro.
19137
19138 2001-09-26  Jim Meyering  <meyering@lucent.com>
19139
19140         Most macros in unlocked-io.h had the wrong number of arguments.
19141         * lib/gen-uio: New script.
19142         (USE_UNLOCKED_IO): Define to 1 if not already defined.
19143         * lib/unlocked-io.hin: Remove file.
19144         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
19145         rather than trying to embed it here.
19146         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
19147         Reported by Padraig Brady.
19148
19149 2001-09-25  Volker Borchert  <bt@teknon.de>
19150
19151         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
19152         `result'.
19153
19154 2001-09-24  Jim Meyering  <meyering@lucent.com>
19155
19156         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
19157
19158 2001-09-23  Jim Meyering  <meyering@lucent.com>
19159
19160         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
19161         instead of the mere test for existence of mntent.h.  The latter
19162         would get a false-positive on AIX 3.4 systems.
19163         In the outer getmntent if-block, don't die if neither of the getmntent
19164         tests succeeds.  Instead, just fall through and continue with the
19165         remaining tests.
19166
19167 2001-09-23  Jim Meyering  <meyering@lucent.com>
19168
19169         * lib/mountlist.c: Remove useless parentheses in #if directives.
19170         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
19171         the deprecated MOUNTED symbol is no longer defined in mntent.h.
19172
19173 2001-09-22  Jim Meyering  <meyering@lucent.com>
19174
19175         * m4/gettext.m4: New file.  From gettext.
19176         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
19177         * m4/progtest.m4: Likewise
19178         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
19179         * m4/glibc21.m4: Likewise.
19180
19181         * m4/libintl.m4: Remove.  No longer used.
19182
19183 2001-09-22  Jim Meyering  <meyering@lucent.com>
19184
19185         * lib/localcharset.c: Update from latest gettext.
19186         * lib/config.charset: Likewise.
19187
19188 2001-09-20  Jim Meyering  <meyering@lucent.com>
19189
19190         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
19191         strtoimax.
19192         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
19193         strtoumax.
19194
19195 2001-09-20  Jim Meyering  <meyering@lucent.com>
19196
19197         * lib/xstrtol.c (strtoimax): Guard declaration with
19198         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
19199         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
19200         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
19201         (strtoumax): Likewise, for completeness (it wasn't necessary).
19202
19203 2001-09-17  Paul Eggert  <eggert@twinsun.com>
19204
19205         * lib/strtoimax.c (HAVE_LONG_LONG):
19206         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
19207         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
19208         to work around bug in IBM C compiler.
19209
19210 2001-09-17  Jim Meyering  <meyering@lucent.com>
19211
19212         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
19213         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
19214         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
19215         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
19216         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
19217         whenever the right hand side need not be expanded by the shell.
19218
19219 2001-09-16  Paul Eggert  <eggert@twinsun.com>
19220
19221         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
19222         library.  It's not correct, as some older glibcs are buggy.
19223         fnmatch wasn't fixed until glibc 2.2.
19224
19225         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
19226         special shell magic here.
19227
19228 2001-09-16  Jim Meyering  <meyering@lucent.com>
19229
19230         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
19231         * m4/jm-macros.m4: Require it.
19232
19233 2001-09-16  Jim Meyering  <meyering@lucent.com>
19234
19235         * lib/mkdir.c: New file.
19236
19237 2001-09-15  Jim Meyering  <meyering@lucent.com>
19238
19239         * m4/jm-macros.m4: Check for help2man.
19240
19241 2001-09-11  Jim Meyering  <meyering@lucent.com>
19242
19243         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
19244         The body, by Paul Eggert, was moved here from configure.in.
19245         * m4/jm-macros.m4: Require UTILS_HOST_OS.
19246
19247 2001-09-04  Paul Eggert  <eggert@twinsun.com>
19248
19249         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
19250         (jm_PREREQ): Use it.
19251
19252 2001-09-04  Paul Eggert  <eggert@twinsun.com>
19253
19254         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
19255         Use ssize_t, not int, to store result of readlink.
19256         Check for ssize_t overflow as well as size_t overflow,
19257         as POSIX says the result of readlink is implementation-defined
19258         when ssize_t overflows.
19259         Remove unnecessary cast to char*.
19260         Use free+malloc instead of realloc, as the storage doesn't need
19261         to be preserved and it's clearer and can be more efficient that way.
19262         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
19263         * lib/xreadlink.h (xreadlink): Update prototype.
19264
19265 2001-09-04  Paul Eggert  <eggert@twinsun.com>
19266
19267         * lib/xgetcwd.c: Revert some of the previous change; intead,
19268         fix the HAVE_GETCWD_NULL code to behave more like the
19269         !HAVE_GETCWD_NULL code used to.
19270
19271         Include "xalloc.h".
19272         (xgetcwd): Do not return NULL when memory is exhausted; instead,
19273         invoke xalloc_die.
19274
19275 2001-09-03  Paul Eggert  <eggert@twinsun.com>
19276
19277         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
19278         sys/param.h, as pathmax.h includes them.
19279
19280 2001-09-03  Paul Eggert  <eggert@twinsun.com>
19281
19282         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
19283         (jm_PREREQ_XGETCWD): New macro.
19284
19285         * m4/getcwd.m4: New file.
19286
19287 2001-09-03  Paul Eggert  <eggert@twinsun.com>
19288
19289         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
19290         like the HAVE_GETCWD_NULL code.
19291         Include pathmax.h if not HAVE_GETCWD.
19292         Do not include xalloc.h.
19293         (INITIAL_BUFFER_SIZE): New symbol.
19294         Do not use xmalloc / xrealloc, since the caller is responsible for
19295         handling errors.  Preserve errno around `free' during failure.
19296         Do not overrun buffer when using getwd.
19297
19298 2001-09-03  Paul Eggert  <eggert@twinsun.com>
19299
19300         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
19301         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
19302         getcwd (NULL, 0).
19303
19304 2001-09-03  Paul Eggert  <eggert@twinsun.com>
19305
19306         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
19307         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
19308         spotted by Jim Meyering.
19309
19310 2001-09-03  Jim Meyering  <meyering@lucent.com>
19311
19312         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
19313         failure.
19314
19315 2001-09-02  Jim Meyering  <meyering@lucent.com>
19316
19317         * lib/error.c: Update from GNU libc.
19318
19319 2001-09-01  Jim Meyering  <meyering@lucent.com>
19320
19321         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
19322         Used by df.
19323
19324 2001-09-01  Jim Meyering  <meyering@lucent.com>
19325
19326         * lib/xreadlink.c: New file.
19327         * lib/xreadlink.h: New file.
19328         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
19329         xreadlink.h.
19330
19331         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
19332         doesn't conflict with sparc Solaris 7's definition in
19333         /usr/include/sys/int_types.h.
19334
19335         * lib/exclude.c: Use `""', not `<>' to #include non-system header
19336         files.
19337         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
19338         and strncasecmp as r-values.  Unixware didn't have declarations.
19339
19340 2001-08-31  Paul Eggert  <eggert@twinsun.com>
19341
19342         * lib/xstrtol.h: Add copyright notice.
19343         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
19344         LONGINT_INVALID_SUFFIX_CHAR.
19345
19346 2001-08-31  Paul Eggert  <eggert@twinsun.com>
19347
19348         * lib/xstrtol.c (strtoimax): New decl.
19349
19350 2001-08-31  Paul Eggert  <eggert@twinsun.com>
19351
19352         * lib/xgetcwd.c: Don't include pathmax.h.
19353         Include stdlib.h and unistd.h if available.
19354         Include xalloc.h.
19355         (xmalloc, xstrdup, free): Remove decls.
19356         (xgetcwd): Don't assume sizes fit in unsigned.
19357         Check for overflow when computing sizes.
19358         Simplify reallocation code.
19359
19360 2001-08-31  Paul Eggert  <eggert@twinsun.com>
19361
19362         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
19363         a directory's st_size can have an arbitrary value, so the old
19364         usage could waste an arbitrary amount of memory.  All uses
19365         changed.
19366         * lib/savedir.h: Update prototype.
19367
19368 2001-08-31  Paul Eggert  <eggert@twinsun.com>
19369
19370         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
19371
19372         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
19373         old strtoimax.c.
19374
19375         Also, make the following further changes to make this file's
19376         configuration more similar to that of strtol.c:
19377         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
19378         (strtoumax, uintmax_t, strtoull, strtol): Remove.
19379         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
19380         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
19381         changed to signed values.
19382
19383         And make the following changes as well:
19384         Fix copyright notice, as 1999 was missing.
19385         (verify): New macro.
19386         (strtoimax): Check sizes at compile-time, not run-time.
19387         Prefer strtol to strtoll if both work.
19388         (main): Remove; it was not that useful and was a pain to maintain.
19389
19390         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
19391
19392 2001-08-31  Jim Meyering  <meyering@lucent.com>
19393
19394         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
19395         Use an initial, malloc'd, buffer of length 128 rather than
19396         a statically allocated one of length 1024.
19397
19398 2001-08-30  Paul Eggert  <eggert@twinsun.com>
19399
19400         Simplify code, partly by assuming autoconf 2.52 semantics.
19401
19402         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
19403
19404         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
19405         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
19406         All uses removed.
19407         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
19408         Move AC_REQUIRE to next-to-top level, to avoid confusion.
19409         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
19410         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
19411         jm_AC_HEADER_INTTYPES_H.
19412         * m4/jm-macros.m4 (jm_MACROS): Likewise.
19413
19414         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
19415
19416         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
19417         Quote first arg of AC_DEFUN.
19418         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
19419         since they are needed to parse the include file even if we need
19420         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
19421         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
19422         but with opposite signedness.
19423
19424 2001-08-30  Paul Eggert  <eggert@twinsun.com>
19425
19426         Merge 'exclude' changes from tar 1.13.22.
19427         This fixes one or two unlikely storage allocation overflow bugs,
19428         but doesn't change user-visible behavior otherwise.
19429
19430 2001-08-30  Paul Eggert  <eggert@twinsun.com>
19431
19432         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
19433         (jm_PREREQ_EXCLUDE): New macro.
19434
19435 2001-08-30  Paul Eggert  <eggert@twinsun.com>
19436
19437         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
19438         tm to be declared.
19439
19440 2001-08-30  Paul Eggert  <eggert@twinsun.com>
19441
19442         * lib/hash.c: Remove '2001' from copyright notice.
19443
19444 2001-08-30  Paul Eggert  <eggert@twinsun.com>
19445
19446         * lib/full-write.h: New file.
19447         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
19448         * lib/full-write.c: Correct credits, as cccp.c no longer
19449         exists and anyway it was so heavily changed from the old cccp
19450         code as to be unrecognizable.  Include full-write.h.
19451         (full_write) Return size_t, with short writes meaning failure.
19452         All callers changed.  This fixes a bug with large buffers
19453         on 64-bit hosts.
19454         * lib/utime.c: Include full-write.h.
19455
19456 2001-08-30  Paul Eggert  <eggert@twinsun.com>
19457
19458         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
19459         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
19460         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
19461         Include if available.
19462         (<xalloc.h>): Include
19463         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
19464         (verify): New macro.  Use it to verify that EXCLUDE macros do not
19465         collide with FNM macros.
19466         (struct patopts): New struct.
19467         (struct exclude): Use it, as exclude patterns now come with options.
19468         (new_exclude): Support above changes.
19469         (new_exclude, add_exclude_file):
19470         Initial size must now be a power of two to simplify overflow checking.
19471         (free_exclude, fnmatch_no_wildcards): New function.
19472         (excluded_filename): No longer requires options arg, as the options
19473         are determined by add_exclude.  Now returns bool, not int.
19474         (excluded_filename, add_exclude):
19475         Add support for the fancy new exclusion options.
19476         (add_exclude, add_exclude_file): Now takes int options arg.
19477         Check for arithmetic overflow when computing sizes.
19478         (add_exclude_file): xrealloc might modify errno, so don't
19479         realloc until after errno might be used.
19480
19481         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
19482         New macros.
19483         (free_exclude): New decl.
19484         (add_exclude, add_exclude_file): Now takes int options arg.
19485         (excluded_filename): No longer requires options arg, as the options
19486         are determined by add_exclude.  Now returns bool, not int.
19487
19488 2001-08-30  Paul Eggert  <eggert@twinsun.com>
19489
19490         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
19491
19492 2001-08-27  Jim Meyering  <meyering@lucent.com>
19493
19494         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
19495
19496         * lib/version-etc.c (N_): Remove definition.
19497         Revert most of last change.
19498         Instead, simply don't mark the `Copyright...' string for translation.
19499         Based on advice from Paul Eggert.
19500
19501         * lib/strtoxmax.c: Tweak comment.
19502
19503 2001-08-26  Jim Meyering  <meyering@lucent.com>
19504
19505         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
19506
19507         * m4/xstrtoimax.m4: New file.
19508         * m4/xstrtoumax.m4: Add comments explaining why we
19509         AC_REPLACE_FUNCS(strtol).
19510
19511 2001-08-26  Jim Meyering  <meyering@lucent.com>
19512
19513         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
19514         of copyright with `%s' so translators don't get an untranslated
19515         message in 2002.
19516         (COPYRIGHT_YEAR): Define.
19517         (version_etc): Use fprintf rather than fputs.
19518         Suggestion from Ulrich Drepper.
19519
19520         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
19521
19522         * lib/strtoll.c: New file, from GNU libc.
19523         * lib/xstrtoimax.c: New file.
19524
19525         * lib/xstrtol.h: Add xstrtoimax.
19526         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
19527         * lib/strtoimax.c: New file.  Likewise, but first define
19528         STRTOUXMAX_SIGNED.
19529
19530         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
19531         ...
19532         * lib/strtoxmax.c: ... then renamed to this.
19533
19534 2001-08-18  Paul Eggert  <eggert@twinsun.com>
19535
19536         * m4/inttypes.m4: Add AC_PREREQ(2.13).
19537         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
19538         (jm_AC_TYPE_INTMAX_T): New macro.
19539         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
19540
19541         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
19542
19543         * m4/longlong.m4: Renamed from ulonglong.m4.
19544         * m4/inttypes.m4: Renamed from inttypes_h.m4.
19545         * m4/uintmax_t.m4: Removed.
19546
19547 2001-08-13  Paul Eggert  <eggert@twinsun.com>
19548
19549         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
19550         Port to Solaris 8, where 'sed' requires a space after the 'r'
19551         command, and where sh dislikes "$/".  Clean up the spacing a bit.
19552         Redirect output to $tmp just once.
19553
19554 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
19555
19556         * lib/addext.c (<errno.h>): Include.
19557         (errno): Declare if not defined.
19558         (addext): Work correctly when pathconf returns -1 and leaves
19559         errno alone because there is no limit.  Also, work even if
19560         pathconf returns a value greater than SIZE_MAX.
19561
19562 2001-08-12  Jim Meyering  <meyering@lucent.com>
19563
19564         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
19565         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
19566         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
19567         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
19568         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
19569         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
19570         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
19571         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
19572         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
19573         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
19574         utime.m4, utimes.m4, xstrtoumax.m4:
19575         Quote the first argument in each use of AC_DEFUN.
19576
19577 2001-08-12  Jim Meyering  <meyering@lucent.com>
19578
19579         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
19580         Simply `return getcwd (NULL, 0);'.
19581         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
19582         Use 1300 as initial value for length, not PATH_MAX.
19583
19584         * lib/pathmax.h: Clean up cpp syntax.
19585
19586 2001-08-12  Jim Meyering  <meyering@lucent.com>
19587
19588         * lib/gettimeofday.c: New file.
19589         * lib/gtod.h: New file.
19590         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
19591
19592 2001-08-05  Jim Meyering  <meyering@lucent.com>
19593
19594         * m4/jm-macros.m4: Require autoconf-2.52.
19595
19596 2001-08-04  Jim Meyering  <meyering@lucent.com>
19597
19598         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
19599         stmt, to get in sync with glibc.
19600
19601 2001-08-03  Paul Eggert  <eggert@twinsun.com>
19602
19603         The following changes are from gettext 0.10.39 as maintained by
19604         Bruno Haible.
19605
19606         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
19607         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
19608         with inverted sense.  All uses changed.
19609
19610         * lib/mbswidth.c: Don't include <limits.h>.
19611         Include <stdlib.h> and <string.h> unconditionally.
19612         (iswcntrl, mbsinit, ISCNTRL): New macros.
19613         (mbsnwidth): Use K&R style function declarations.
19614         Don't bother checking for MB_LEN_MAX == 1, since the compiler
19615         can optimize it when MB_CUR_MAX == 1.
19616         The width of control characters is zero, not 1.
19617
19618 2001-08-03  Paul Eggert  <eggert@twinsun.com>
19619
19620         The following changes are from gettext 0.10.39 as maintained by
19621         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
19622
19623         * m4/codeset.m4: Upgrade to serial AM1.
19624         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
19625         all uses changed.  Quote first arg of AC_DEFUN.
19626         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
19627
19628         * m4/iconv.m4: Upgrade to serial AM2.
19629         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
19630         Add --with-libconv-prefix.
19631         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
19632         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
19633         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
19634         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
19635         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
19636
19637         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
19638         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
19639         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
19640         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
19641         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
19642         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
19643         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
19644         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
19645         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
19646
19647         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
19648         string.h any more.
19649
19650         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
19651         not the default value.
19652
19653         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
19654         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
19655         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
19656         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
19657         Also check for iswcntrl, used for wcwidth fallback.
19658         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
19659         to Autoconf 2.13.
19660
19661 2001-08-03  Jim Meyering  <meyering@lucent.com>
19662
19663         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
19664         as it was in the original.  Reported by Paul Eggert.
19665
19666 2001-07-16  Jim Meyering  <meyering@lucent.com>
19667
19668         * m4/gettimeofday.m4: New file.
19669         Prompted by a report from Bernhard Baehr.
19670
19671 2001-07-15  Jim Meyering  <meyering@lucent.com>
19672
19673         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
19674         stuff. Now it's in ../Makefile.cfg.
19675
19676 2001-07-15  Jim Meyering  <meyering@lucent.com>
19677
19678         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
19679         (BUILT_SOURCES): Add unlocked-io.h.
19680         (io_functions): Define.
19681         (unlocked-io.h): New rule.
19682         (DISTCLEANFILES): Add unlocked-io.h.
19683         (all-local): Depend on unlocked-io.h, to ensure it is created.
19684
19685         * lib/unlocked-io.hin: New file
19686
19687         * lib/regex.c: Update from glibc.
19688
19689 2001-07-05  Jim Meyering  <meyering@lucent.com>
19690
19691         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
19692         recommendation.
19693         (libfetish_a_SOURCES): Put all .h files here instead.
19694         Remove a thus-exposed (better checks in automake) duplicate and
19695         two unnecessary .h files.
19696
19697 2001-07-04  Jim Meyering  <meyering@lucent.com>
19698
19699         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
19700         that generates jm-glibc-io.m4 so that it doesn't trigger any make
19701         distcheck failure.
19702
19703 2001-07-02  Jim Meyering  <meyering@lucent.com>
19704
19705         The following changes were prompted by suggestions from Bruno Haible.
19706
19707         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
19708         is now generated.
19709         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
19710         definition of EXTRA_DIST.
19711         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
19712         ensure that the generated file is created/updated whenever the list
19713         of $(unlocked_functions) is changed.
19714         (jm-glibc-io.m4): New rule.
19715         (unlocked-io.h): New rule -- currently unused.
19716
19717 2001-06-24  Jim Meyering  <meyering@lucent.com>
19718
19719         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
19720         unmatched right bracket, rather than kludging it with an extra,
19721         falsely-matching quote in a comment.  Patch by Akim Demaille.
19722
19723 2001-06-11  Jim Meyering  <meyering@lucent.com>
19724
19725         * lib/regex.c: Update from GNU libc.
19726
19727 2001-05-27  Jim Meyering  <meyering@lucent.com>
19728
19729         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
19730         Check for ut_type in struct utmp.
19731
19732 2001-05-27  Jim Meyering  <meyering@lucent.com>
19733
19734         * lib/readutmp.h (UT_TYPE): Define.
19735
19736 2001-05-24  Jim Meyering  <meyering@lucent.com>
19737
19738         * lib/argmatch.c: Include "quote.h".
19739         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
19740         quote function.  Reported by Göran Uddeborg.
19741
19742 2001-05-22  Jim Meyering  <meyering@lucent.com>
19743
19744         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
19745         now that we use the package-supplied version unconditionally.
19746         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
19747
19748 2001-05-21  Jim Meyering  <meyering@lucent.com>
19749
19750         * m4/regex.m4: Change a couple backticks to single quotes to avoid
19751         shell syntax errors.
19752
19753 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
19754
19755         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
19756
19757 2001-05-20  Paul Eggert  <eggert@twinsun.com>
19758
19759         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
19760         Don't bother to check library strftime, since
19761         we'll be using our own my_strftime function anyway.
19762         Define my_strftime instead of strftime.
19763
19764 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
19765
19766         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
19767         which is not yet declared.
19768
19769 2001-05-15  Jim Meyering  <meyering@lucent.com>
19770
19771         * m4/regex.m4: Use proper quoting so brackets appear in the test
19772         program.
19773         Reported by, and with help from, Bruno Haible.
19774
19775 2001-05-13  Jim Meyering  <meyering@lucent.com>
19776
19777         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
19778         undefined.
19779
19780 2001-05-11  Paul Eggert  <eggert@twinsun.com>
19781
19782         dirname code cleanup.  base_name now behaves more compatibly
19783         with POSIX basename when given file names that have trailing
19784         slashes, and similarly for dir_name.  Add new primitives
19785         base_len and dir_len.  Put the directory-name-related decls
19786         into dirname.h.
19787
19788         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
19789         * lib/backupfile.c (base_name): Likewise.
19790         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
19791         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
19792         * lib/makepath.c (strip_trailing_slashes): Likewise.
19793         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
19794         ISSLASH): Likewise.
19795         * lib/rename.c (strip_trailing_slashes): Likewise.
19796         * lib/same.c (base_name): Likewise.
19797         * lib/stripslash.c (ISSLASH): Likewise.
19798
19799         * lib/addext.c: Include <dirname.h> after size_t is defined.
19800         * lib/backupfile.c: Likewise.
19801
19802         * lib/addext.c (addext): Use base_len to trim redundant
19803         trailing slashes instead of doing it ourselves.
19804         But do not trim the last slash if it is not redundant.
19805
19806         * lib/backupfile.c (find_backup_file_name,
19807         max_backup_version): Use base_len instead of rolling it ourselves.
19808         Handle the case of "" and (on DOS) "C:" correctly.
19809
19810         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
19811         needed. Include <string.h>, <dirname.h>.
19812         (base_name): Allow file names ending in slashes, other than names
19813         that are all slashes.  In this case, return the basename followed
19814         by the slashes.  This is more general, and can be used in places
19815         where the original base_name purposely had an assertion failure.
19816         (base_len): New function.
19817
19818         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
19819         Do not include <assert.h>; no longer needed.
19820         Include xalloc.h.
19821         (memrchr): Remove decl.
19822         (dir_name_r): Remove.
19823         (dir_len): Renamed from dirlen.  All callers changed.
19824         Rewrite in terms of base_name, for simplicity and consistency.
19825         (dir_name): Never return NULL.  All callers changed.
19826         Do not include <stdlib.h> in test program; no longer needed.
19827         return 0; is fine for test program.
19828
19829         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
19830         New macros.
19831         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
19832
19833         * lib/path-concat.c (path_concat): Use base_len to compute
19834         base length, not strlen; this means we cannot rely on memcpy
19835         to null-terminate.
19836
19837         * lib/same.c (STREQ): Remove.
19838         (same_name): Handle the case where the basename ends in trailing '/'.
19839
19840         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
19841         a slash was stripped.  Do not strip the last slash after a
19842         file system prefix.
19843
19844 2001-05-11  Paul Eggert  <eggert@twinsun.com>
19845
19846         * lib/Makefile.am (libfetish_a_SOURCES):
19847         Add strftime.c, since we now compile it on all hosts.
19848
19849         * lib/strftime.c (my_strftime):
19850         Define to nstrftime if emacs, but only if my_strftime is not defined.
19851         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
19852         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
19853         Add one more extra argument: a nanoseconds value.
19854         All uses changed.
19855         (ns): New macro.
19856         (my_strftime function): Add %N format.
19857         (emacs_strftimeu): Renamed from emacs_strftime,
19858         with extra ut argument.
19859
19860 2001-05-09  Paul Eggert  <eggert@twinsun.com>
19861
19862         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
19863
19864 2001-04-21  Jim Meyering  <meyering@lucent.com>
19865
19866         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
19867         doesn't interfere.
19868
19869 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
19870
19871         * m4/ftruncate.m4: Check for chsize.
19872         Link with ftruncate.o unconditionally if ftruncate is missing.
19873         This was required when cross-compiling to i586-mingw32msvc.
19874
19875 2001-04-08  Jim Meyering  <meyering@lucent.com>
19876
19877         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
19878         recomputed; that's necessary when the offset spans a DST transition.
19879         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
19880
19881 2001-04-02  Jim Meyering  <meyering@lucent.com>
19882
19883         * lib/regex.h, regex.c: Update from GNU libc.
19884
19885 2001-03-24  Jim Meyering  <meyering@lucent.com>
19886
19887         * m4/jm-macros.m4: Require autoconf-2.49d.
19888
19889 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
19890
19891         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
19892
19893 2001-03-19  Paul Eggert  <eggert@twinsun.com>
19894
19895         * lib/version-etc.c (version_etc_copyright): Update to 2001.
19896
19897 2001-03-17  Jim Meyering  <meyering@lucent.com>
19898
19899         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
19900         now that the version in autoconf is equivalent.
19901         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
19902
19903         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
19904         Suggestion from Akim Demaille.
19905
19906         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
19907         (jm_PREREQ_TEMPNAME): New function.
19908
19909 2001-03-16  Paul Eggert  <eggert@twinsun.com>
19910
19911         * lib/tempname.c (uint64_t): Define to uintmax_t if
19912         not defined, and if UINT64_MAX is not defined.
19913         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
19914         Reported by John David Anglin.
19915
19916 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
19917
19918         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
19919         resolve alias if codeset is empty.
19920         * lib/config.charset (BeOS): Use wildcard syntax.
19921
19922 2001-03-13  Jim Meyering  <meyering@lucent.com>
19923
19924         * lib/path-concat.c (path_concat)
19925         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
19926         concatenating e.g., `C:' and `foo'.
19927         From Bruno Haible.
19928
19929 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
19930
19931         * lib/localcharset.c (locale_charset): Don't use
19932         setlocale(LC_CTYPE,NULL). Don't return NULL.
19933         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
19934
19935 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
19936
19937         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
19938         support for DOS/DJGPP.
19939
19940 2001-03-01  Paul Eggert  <eggert@twinsun.com>
19941
19942         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
19943         lacks mkstemp.  Compile our own tempname.c if we compile our own
19944         mkstemp.c, as mkstemp relies on tempname.
19945
19946 2001-03-01  Jim Meyering  <meyering@lucent.com>
19947
19948         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
19949         AH_VERBATIM really does output its argument verbatim.
19950
19951 2001-02-28  Paul Eggert  <eggert@twinsun.com>
19952
19953         * lib/Makefile.am (libfetish_a_SOURCES):
19954         Add dup-safer.c, fopen-safer.c.
19955         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
19956
19957         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h,
19958         lib/unistd-safer.h: New files.
19959
19960 2001-02-25  Paul Eggert  <eggert@twinsun.com>
19961
19962         The mkstemp replacement is taken from glibc 2.2.2, with some
19963         portability fixes for use outside glibc, as follows:
19964
19965         * lib/tempname.c (struct_stat64): New macro.
19966         (direxists, __gen_tempname): Use it.
19967         This avoids a portability problem with Solaris 8.
19968
19969         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
19970         (<stddef.h>, <stdint.h>, <string.h>):
19971         Include only if STDC_HEADERS || _LIBC.
19972         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
19973         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
19974         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
19975         (__set_errno): Define this macro if <errno.h> doesn't.
19976         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
19977         Define these macros if <stdio.h> doesn't.
19978         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
19979         Define these macros if <sys/stat.h>
19980         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
19981         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
19982         __xstat64): Define if not _LIBC.
19983         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
19984         (__gen_tempname): Invoke gettimeofday only if
19985         HAVE_GETTIMEOFDAY || _LIBC;
19986         otherwise, fall back on plain "time".
19987         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
19988
19989         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
19990
19991         * lib/mkstemp.c, tempname.c: New files, taken from glibc 2.2.2.
19992
19993 2001-02-18  Paul Eggert  <eggert@twinsun.com>
19994
19995         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
19996
19997 2001-02-17  Paul Eggert  <eggert@twinsun.com>
19998
19999         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
20000         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
20001         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
20002         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
20003
20004 2001-02-17  Paul Eggert  <eggert@twinsun.com>
20005
20006         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
20007         Remove workaround macros for hosts that have mbrtowc but not
20008         mbstate_t, as we now insist on proper declarations for both
20009         before using mbrtowc.
20010
20011 2001-02-17  Jim Meyering  <meyering@lucent.com>
20012
20013         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
20014         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
20015         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
20016         UnixWare 7.1.1.
20017
20018         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
20019         rather than AC_CACHE_VAL.
20020
20021 2001-02-17  Jim Meyering  <meyering@lucent.com>
20022
20023         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
20024         around included file name.
20025
20026         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
20027
20028         * lib/strftime.c: Update from GNU libc (the only changes were to
20029         comments).
20030
20031 2001-02-17  Jim Meyering  <meyering@lucent.com>
20032
20033         * lib/regex.c: Update from libc.
20034
20035 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
20036
20037         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
20038         clash.
20039
20040 2001-02-16  Paul Eggert  <eggert@twinsun.com>
20041
20042         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
20043         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
20044         Reported by Mark Hounschell via Paul Eggert.
20045
20046 2001-02-07  Jim Meyering  <meyering@lucent.com>
20047
20048         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
20049
20050 2001-02-05  Jim Meyering  <meyering@lucent.com>
20051
20052         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
20053         it includes the patch required for `large file' support with at least
20054         HP-UX's 10.20 /bin/cc.
20055
20056 2001-02-03  Jim Meyering  <meyering@lucent.com>
20057
20058         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
20059         AS_IF, now that it works once again (mysteriously).
20060         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
20061
20062 2001-01-30  Jim Meyering  <meyering@lucent.com>
20063
20064         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
20065         * m4/chown.m4: Rename conftestchown to conftest.chown.
20066         * m4/rename.m4: s/conftestdir/conftest.d1/ and
20067         s/conftestdir2/conftest.d2/.
20068         * m4/utimes.m4: s/conftestdata/conftest.data/
20069         Inspired by Pavel Roskin's change in autoconf.
20070
20071 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
20072
20073         * lib/config.charset: Update for FreeBSD 4.2.
20074
20075 2001-01-27  Jim Meyering  <meyering@lucent.com>
20076
20077         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
20078         a use of AS_IF.
20079         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
20080
20081 2001-01-26  Jim Meyering  <meyering@lucent.com>
20082
20083         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
20084         quotearg.c includes it.
20085
20086 2001-01-26  Jim Meyering  <meyering@lucent.com>
20087
20088         * lib/quotearg.c: Include stddef.h.
20089         * lib/quote.c: Include stddef.h.
20090         Reported by Axel Kittenberger.
20091
20092         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
20093         line in double quotes so that it evokes a better diagnostic.
20094         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
20095         Reported by Axel Kittenberger.
20096
20097 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
20098
20099         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
20100         as if it was a `charset'.
20101
20102 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
20103
20104         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
20105         has const.
20106
20107 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
20108
20109         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
20110         to avoid a warning.  Add back 'const' to inptr.
20111
20112 2001-01-20  Jim Meyering  <meyering@lucent.com>
20113
20114         Be sure that headers are checked before used in code compiled
20115         for the type checks.
20116         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
20117         In place of that, invoke jm_CHECK_ALL_TYPES.
20118         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
20119         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
20120         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
20121         The check for ssize_t was mistakenly run before the test for unistd.h.
20122
20123         The configure-time check for stdbool.h was missing.
20124         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
20125         (jm_PREREQ_HASH): New function.
20126
20127 2001-01-17  Jim Meyering  <meyering@lucent.com>
20128
20129         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
20130         for autoconf-2.49c.
20131         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
20132
20133 2001-01-16  Jim Meyering  <meyering@lucent.com>
20134
20135         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
20136         From Bruno Haible.
20137
20138 2001-01-14  Jim Meyering  <meyering@lucent.com>
20139
20140         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
20141         foo and bar.  Create conftestdir/ in the script, not in the C code.
20142         Remove directories in the script, not in the C code.
20143         Remove conftestdir{,2} before trying to create the directory.
20144         Make the entire configure script fail if the mkdir fails.
20145
20146 2001-01-14  Jim Meyering  <meyering@lucent.com>
20147
20148         * lib/rename.c: New file.  From Volker Borchert.
20149         Include stdlib.h, string.h or strings.h, and xalloc.h.
20150         Use strip_trailing_slashes rather than open-coding it.
20151
20152 2001-01-03  Paul Eggert  <eggert@twinsun.com>
20153
20154         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
20155
20156 2001-01-03  Jim Meyering  <meyering@lucent.com>
20157
20158         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
20159         of local `inptr' to avoid warning with some system declarations of
20160         iconv.
20161
20162 2001-01-02  Volker Borchert  <bt@teknon.de>
20163
20164         * m4/rename.m4: New file.
20165         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
20166
20167 2001-01-01  Jim Meyering  <meyering@lucent.com>
20168
20169         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
20170         even on systems with utmpx.h.  It's necessary for the declaration of
20171         utmp's ut_user member.  Reported by Andreas Jaeger.
20172
20173         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
20174         available. They are required for the declarations of getgrgid and
20175         getpwuid resp.
20176         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
20177         Reported by Andreas Jaeger.
20178
20179 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
20180
20181         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
20182         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
20183         so `make install' also works in VPATH builds.
20184
20185 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
20186
20187         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
20188         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
20189         can be used in subdirectories.
20190
20191 2000-12-29  Paul Eggert  <eggert@twinsun.com>
20192
20193         * lib/modechange.c: Do not assume that mode_t uses the
20194         traditional octal encoding.  E.g. "chmod 1 FOO" should set
20195         the other-execute bit of FOO even if S_IXOTH != 1.
20196
20197         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
20198         WOTH, XOTH, ALLM): New macros.
20199         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
20200          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
20201         Use them.
20202         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
20203         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
20204         (mode_compile):
20205         No need to use uintmax_t; unsigned long is long enough.
20206         Don't bother to get suffix since we don't use it.
20207
20208 2000-12-26  Jim Meyering  <meyering@lucent.com>
20209
20210         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
20211         better with autoheader.
20212
20213 2000-12-24  Jim Meyering  <meyering@lucent.com>
20214
20215         * lib/hash.c (is_prime): Return explicit boolean values.
20216         (hash_get_first): Return NULL to appease Irix5.6's 89.
20217         Reported by Nelson Beebe.
20218
20219 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
20220
20221         * lib/localcharset.c (locale_charset): Add support for Win32.
20222
20223 2000-12-18  Paul Eggert  <eggert@twinsun.com>
20224
20225         * lib/physmem.h, physmem.c: New files.
20226
20227         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
20228         (noinst_HEADERS): Add physmem.h.
20229
20230         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
20231         't' for compatibility with Solaris 8 sort.
20232
20233 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
20234
20235         * lib/config.charset: Add support for BeOS.
20236
20237 2000-12-17  Jim Meyering  <meyering@lucent.com>
20238
20239         * m4/dos.m4 (jm_AC_DOS): New file and macro.
20240         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
20241
20242 2000-12-16  Jim Meyering  <meyering@lucent.com>
20243
20244         This bug had a serious impact on chown: `chown N:M FILE' (for integer
20245         N and M) would have treated it like `chown N:N FILE'.
20246
20247         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
20248
20249 2000-12-16  Jim Meyering  <meyering@lucent.com>
20250
20251         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
20252         SHELLS_FILE to a file name that's useful on djgpp systems.
20253         Include stdlib.h.
20254         (ADDITIONAL_DEFAULT_SHELLS): Define.
20255         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
20256         Based mostly on a patch from Prashant TR.
20257
20258 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
20259
20260         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
20261         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
20262         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
20263
20264 2000-12-08  Andreas Schwab  <schwab@suse.de>
20265
20266         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
20267         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
20268
20269 2000-12-07  Jim Meyering  <meyering@lucent.com>
20270
20271         * lib/stripslash.c (ISSLASH): Define.
20272         (strip_trailing_slashes): Use ISSLASH rather than comparing against
20273         `/'.
20274         From Prashant TR.
20275
20276         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
20277         (dir_name_r): Declare this function as static.
20278         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
20279         manifest itself on a name containing a mix of slashes and
20280         backslashes.
20281         Make this function work with names starting with a DOS-style
20282         drive letter and colon prefix.
20283         (dir_name): Append `.' if necessary.
20284         Based mostly on patches from Prashant TR and Eli Zaretskii.
20285
20286         * lib/dirname.h (dir_name_r): Remove prototype.
20287
20288 2000-12-06  Paul Eggert  <eggert@twinsun.com>
20289
20290         * m4/off_t-format.m4: Remove this file.
20291         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
20292
20293 2000-12-06  Jim Meyering  <meyering@lucent.com>
20294
20295         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
20296         replacement strtoull, we may well need the replacement strtoul, too.
20297         Check for declarations of strtoul and strtoull.
20298         Check for strtol.  Mainly as a cue to cause automake to include
20299         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
20300         Check for limits.h -- strtol.c needs it.
20301
20302 2000-12-05  Jim Meyering  <meyering@lucent.com>
20303
20304         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
20305
20306 2000-12-04  Jim Meyering  <meyering@lucent.com>
20307
20308         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
20309         Also include memory.h, stdlib.h, unistd.h if appropriate.
20310         Reported by Andreas Jaeger (conflicting declaration of malloc).
20311
20312 2000-12-02  Jim Meyering  <meyering@lucent.com>
20313
20314         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
20315         * m4/jm-macros.m4 (jm_MACROS): require it.
20316
20317 2000-12-02  Jim Meyering  <meyering@lucent.com>
20318
20319         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
20320
20321 2000-12-01  Paul Eggert  <eggert@twinsun.com>
20322
20323         * lib/memrchr.c: Include <config.h> before any system include file.
20324
20325 2000-11-30  Jim Meyering  <meyering@lucent.com>
20326
20327         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
20328
20329 2000-11-30  Jim Meyering  <meyering@lucent.com>
20330
20331         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
20332
20333 2000-11-29  Paul Eggert  <eggert@twinsun.com>
20334
20335         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
20336
20337 2000-11-26  Jim Meyering  <meyering@lucent.com>
20338
20339         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
20340
20341 2000-11-22  Paul Eggert  <eggert@twinsun.com>
20342
20343         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
20344         size of (size_t) -1; it's not portable.
20345
20346 2000-11-17  Jim Meyering  <meyering@lucent.com>
20347
20348         * lib/strstr.c: Update from GNU libc.
20349
20350 2000-11-17  Akim Demaille  <akim@epita.fr>
20351
20352         * lib/obstack.h: Formatting changes.
20353         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
20354         prevent type checking.
20355         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
20356         cast the value to (void *): assigning a `foo *' to a `void *'
20357         variable is valid.
20358         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
20359
20360 2000-11-16  Jim Meyering  <meyering@lucent.com>
20361
20362         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
20363
20364 2000-11-11  Jim Meyering  <meyering@lucent.com>
20365
20366         * lib/error.c: Add a couple #includes, merging from GNU libc version.
20367
20368 2000-11-10  Jim Meyering  <meyering@lucent.com>
20369
20370         * lib/obstack.h: Update from GNU libc.
20371         * lib/obstack.c: Likewise.
20372
20373 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
20374
20375         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
20376
20377 2000-11-06  Paul Eggert  <eggert@twinsun.com>
20378
20379         * lib/getusershell.c (setusershell): Use rewind rather than
20380         fseek/fseeko, to avoid configuration hassles with fseeko.
20381         Don't bother opening SHELLS_FILE if shellstream is NULL;
20382         it's not necessary.
20383
20384 2000-11-05  Jim Meyering  <meyering@lucent.com>
20385
20386         * lib/makepath.h (make_dir): Declare.
20387         * lib/makepath.c (make_dir): Remove `static' attribute.
20388         Tweak a comment.
20389
20390 2000-11-04  Jim Meyering  <meyering@lucent.com>
20391
20392         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
20393
20394 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
20395
20396         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
20397         last one in a bucket, advance to the next bucket.
20398
20399 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
20400
20401         * lib/fnmatch.c: Do not comment out all the code if we are using
20402         the GNU C library, because in some cases we are replacing buggy
20403         code in the GNU C library itself.
20404
20405 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
20406
20407         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
20408         (regex_compile): Catch bogus \(\1\).
20409
20410 2000-10-30  Paul Eggert  <eggert@twinsun.com>
20411
20412         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
20413         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
20414         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
20415
20416 2000-10-30  Paul Eggert  <eggert@twinsun.com>
20417
20418         * lib/error.h, getline.h, modechange.h:
20419         Remove "2000" from Copyright line, as the file hasn't been
20420         changed this year other than in the copyright notice.
20421
20422         * lib/xalloc.h: Add "2000" to Copyright line, as this file
20423         was changed this year.
20424
20425 2000-10-29  Jim Meyering  <meyering@lucent.com>
20426
20427         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
20428         renaming.
20429         * m4/ls-mntd-fs.m4: Likewise
20430
20431 2000-10-29  Jim Meyering  <meyering@lucent.com>
20432
20433         * lib/xstat.in: Fix grammar in comment.
20434
20435 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
20436
20437         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
20438         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
20439         doesn't define __restrict_arr.
20440
20441 2000-10-28  Jim Meyering  <meyering@lucent.com>
20442
20443         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
20444         (jm_PREREQ_MEMCHR): New function.
20445
20446 2000-10-28  Jim Meyering  <meyering@lucent.com>
20447
20448         * lib/memchr.c: Update from libc.
20449         Adjust for portability:
20450         [HAVE_STDLIB_H]: Include stdlib.h.
20451         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
20452         Undef __memchr, too.
20453         [!weak_alias]: Define __memchr to memchr.
20454
20455         * lib/regex.c: Update from libc.
20456         * lib/regex.h: Likewise.
20457         * lib/getopt1.c: Likewise.
20458         * lib/memcmp.c: Likewise.
20459
20460         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
20461         Avoid using fseek, when possible -- it's broken by design.
20462         Patch by Ulrich Drepper.
20463
20464 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
20465
20466         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
20467         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
20468         Giving in to popular pressure to shut up the compiler with casts.
20469
20470 2000-10-26  Jim Meyering  <meyering@lucent.com>
20471
20472         * lib/strftime.c: Update from libc.
20473
20474 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
20475
20476         * regex.c: More `unsigned char' -> `re_char' changes.
20477         Also change several `int' into `re_wchar_t'.
20478         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
20479         (PUSH_FAILURE_POINTER): Don't cast any more.
20480         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
20481         We want GCC to complain, since this piece of code makes
20482         re_match non-reentrant, which *should* be fixed.
20483         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
20484         (EXTEND_BUFFER): Use RETALLOC.
20485         (SET_LIST_BIT): Don't cast.
20486         (re_wchar_t): New type.
20487         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
20488         that those two functions will always properly return.
20489         (IMMEDIATE_QUIT_CHECK): Cast to void.
20490         (analyse_first): Use recursion rather than an explicit stack.
20491         (re_compile_fastmap): Can't fail anymore.
20492         (re_search_2): Don't check re_compile_fastmap for failure.
20493         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
20494         Now also sets the new value (passed in a new argument).
20495         (re_match_2_internal): Use it.
20496         Also, use a new var `reg' of type size_t when looping through regs
20497         rather than reuse the inappropriate `mcnt'.
20498
20499 2000-10-25  Jim Meyering  <meyering@lucent.com>
20500
20501         * lib/obstack.c: Update from libc.
20502
20503 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
20504
20505         * regex.c (regex_compile): Change the way of handling a range from
20506         a char less than 256 to a char not less than 256.
20507
20508 2000-10-24  Andrew Innes  <andrewi@gnu.org>
20509
20510         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
20511         NT-Emacs only.
20512         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
20513         so that re_search functions only quit when callers expect them to.
20514
20515 2000-10-23  Jim Meyering  <meyering@lucent.com>
20516
20517         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
20518         wrong.  That set_locale call must not have any side effects.
20519         From Paul Eggert.
20520
20521 2000-10-22  Jim Meyering  <meyering@lucent.com>
20522
20523         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
20524         [CYCLIC]: Remove now-unused definition.
20525
20526         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
20527         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
20528         Suggestion from Ulrich Drepper.
20529
20530 2000-10-21  Jim Meyering  <meyering@lucent.com>
20531
20532         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
20533         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
20534         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
20535
20536 2000-10-21  Jim Meyering  <meyering@lucent.com>
20537
20538         * lib/dirname.c (memrchr): Declare if necessary.
20539         (dir_name): Remove the restriction that there be no
20540         trailing slashes.  Now, this code skips past them, effectively
20541         ignoring them.
20542         [TEST_DIRNAME] (main): New unit tests.
20543
20544         * lib/memrchr.c: New file from GNU libc.
20545         Undef __memrchr, too.
20546         [!weak_alias]: Define __memrchr to memrchr.
20547         Guard weak_alias use with `#ifdef weak_alias'.
20548
20549 2000-10-21  Jim Meyering  <meyering@lucent.com>
20550
20551         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
20552         (dir_name): Use dir_name_r.
20553         * lib/dirname.h (dir_name_r): Declare it.
20554
20555 2000-10-17  Jim Meyering  <meyering@lucent.com>
20556
20557         * lib/quote.h (PARAMS): Define and use.
20558         Reported by Akim Demaille.
20559
20560         * lib/getopt.c: Update from libc.
20561
20562 2000-10-16  Jim Meyering  <meyering@lucent.com>
20563
20564         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
20565         setlocale.
20566         From Jan Fedak.
20567
20568 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
20569
20570         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
20571
20572 2000-09-25  Jim Meyering  <meyering@lucent.com>
20573
20574         * lib/md5.h (rol): Define (from GnuPG).
20575
20576         * lib/sha.c: Give credit (GnuPG) where due.
20577         (M): Use rol rather than open-coding it.
20578         Add a FIXME comment.
20579
20580 2000-09-21  Jim Meyering  <meyering@lucent.com>
20581
20582         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
20583         Reported by Michael Stone.
20584
20585 2000-09-20  Jim Meyering  <meyering@lucent.com>
20586
20587         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
20588         (noinst_HEADERS): Add sha.h.
20589         Based on code from Scott G. Miller and from GnuPG.
20590
20591 2000-09-18  Jim Meyering  <meyering@lucent.com>
20592
20593         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
20594         LIBS. Otherwise, everyone ends up linking with -lelf for some
20595         configurations.
20596         Reported by Mike Stone.
20597
20598 2000-09-15  Jim Meyering  <meyering@lucent.com>
20599
20600         * lib/regex.c: Update from libc.
20601
20602 2000-09-10  Jim Meyering  <meyering@lucent.com>
20603
20604         * lib/getopt.c (_getopt_internal): Update from glibc.
20605
20606 2000-09-09  Jim Meyering  <meyering@lucent.com>
20607
20608         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
20609         think it should be used as a general replacement for isascii.
20610         * lib/fnmatch.c: Likewise.
20611         * lib/mbswidth.c: Likewise
20612         * lib/regex.c: Likewise.
20613
20614         Don't use atoi.
20615         * lib/userspec.c: Include sys/param.h and limits.h.
20616         Include xstrtol.h.
20617         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
20618         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
20619         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
20620         UID, GID.  Check range.
20621
20622 2000-09-06  Jim Meyering  <meyering@lucent.com>
20623
20624         * lib/getopt.c (_getopt_internal): Update from glibc.
20625
20626 2000-08-30  Jim Meyering  <meyering@lucent.com>
20627
20628         * lib/strftime.c: Merge in changes from GNU libc.
20629
20630 2000-08-26  Jim Meyering  <meyering@lucent.com>
20631
20632         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
20633         * m4/fpending.m4: New file.
20634
20635 2000-08-26  Jim Meyering  <meyering@lucent.com>
20636
20637         * lib/closeout.c: Include "__fpending.h".
20638         (close_stdout_status): Return right away if there's nothing to flush.
20639
20640         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
20641         * lib/__fpending.c: New file.
20642         * lib/__fpending.h: New file.
20643
20644 2000-08-20  Jim Meyering  <meyering@lucent.com>
20645
20646         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
20647         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
20648         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
20649
20650 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
20651
20652         Improve fileutils installation on systems where running
20653         programs (like install) can't be unlinked.
20654         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
20655         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
20656
20657 2000-08-07  Paul Eggert  <eggert@twinsun.com>
20658
20659         Standardize on "memory exhausted" instead of "Memory exhausted"
20660         or "virtual memory exhausted".
20661         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
20662         "virtual memory exhausted".
20663         * lib/same.c (same_name): Invoke xalloc_die instead of printing
20664         our own message.
20665         * lib/userspec.c (parse_user_spec): Likewise.
20666         * lib/bumpalloc.h: comment fix
20667         * lib/same.c, userspec.c: Include xalloc.h.
20668
20669         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
20670         not char *const and pointing to a constant array.
20671         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
20672         (xrealloc): Comment fix.
20673
20674         * lib/userspec.c (parse_user_spec):
20675         Don't translate a message until just before returning,
20676         to avoid unnecessary translation.
20677
20678 2000-08-07  Jim Meyering  <meyering@lucent.com>
20679
20680         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
20681         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
20682         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
20683         getgroups.c, gethostname.c, getopt.h, group-member.c,
20684         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
20685         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
20686         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
20687         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
20688         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
20689         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
20690         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
20691         yesno.c: Back out Copyright date changes for each file with no change
20692         this year.  This eases coordination with other programs using the same
20693         source code modules.  From Paul Eggert.
20694
20695 2000-08-06  Paul Eggert  <eggert@twinsun.com>
20696
20697         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
20698         not char, for compatibility with glibc 2.1.3 strftime.c.
20699
20700 2000-08-03  Greg McGary  <greg@mcgary.org>
20701
20702         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
20703         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
20704         (EXTEND_BUFFER): Use them.
20705
20706 2000-08-01  Jim Meyering  <meyering@lucent.com>
20707
20708         * lib/dirname.c (ISSLASH): Define.
20709         (BACKSLASH_IS_PATH_SEPARATOR): Define.
20710         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
20711         both `\' and `/' may be use as path separators.
20712         Based on a patch from Prashant TR.
20713
20714 2000-07-31  Paul Eggert  <eggert@twinsun.com>
20715
20716         * lib/quotearg.c (quotearg_n_options): Don't make the initial
20717         slot vector a constant, since it might get modified.
20718
20719 2000-07-31  Jim Meyering  <meyering@lucent.com>
20720
20721         * lib/xmalloc.c: Use `virtual memory exhausted', not
20722         `Memory exhausted'.
20723         * lib/obstack.c (print_and_abort): Likewise.
20724
20725 2000-07-30  Paul Eggert  <eggert@twinsun.com>
20726
20727         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
20728         buffer, so that the caller can always quote one small
20729         component of a "memory exhausted" message in slot 0.
20730         From a suggestion by Jim Meyering.
20731
20732 2000-07-30  Jim Meyering  <meyering@lucent.com>
20733
20734         * lib/makepath.c (make_path): Quote the other instance, too.
20735
20736         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
20737         (STATIC_BUF_SIZE): Define.
20738         (quotearg_n_options): Use only statically allocated storage when
20739         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
20740         than STATIC_BUF_SIZE.
20741
20742 2000-07-29  Jim Meyering  <meyering@lucent.com>
20743
20744         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
20745         * lib/dirname.c (dir_name): Likewise.
20746
20747         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
20748         `/'.
20749
20750         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
20751         (dir_name): Assert that there are no trailing slashes.
20752
20753 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
20754
20755         * lib/mbswidth.h (mbswidth): Add a flags argument.
20756         (mbswidth): New declaration.
20757         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
20758         * lib/mbswidth.c (mbswidth): Add a flags argument.
20759         (mbsnwidth): New function.
20760
20761 2000-07-24  Jim Meyering  <meyering@lucent.com>
20762
20763         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
20764
20765 2000-07-23  Paul Eggert  <eggert@twinsun.com>
20766
20767         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
20768
20769 2000-07-23  Paul Eggert  <eggert@twinsun.com>
20770
20771         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
20772         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
20773         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
20774         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
20775         invoke multibyte primitives.
20776
20777 2000-07-23  Paul Eggert  <eggert@twinsun.com>
20778
20779         * lib/quotearg.c:
20780         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
20781         so that mbstate_t is always defined.
20782
20783         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
20784         be 1 in at least one GCC installation, and this configuration
20785         error is likely to be common.  Ignoring MB_LEN_MAX hurts
20786         performance on hosts that have mbrtowc but have only unibyte
20787         locales, but I assume these hosts are rare.
20788
20789 2000-07-23  Paul Eggert  <eggert@twinsun.com>
20790
20791         * lib/mbswidth.c (_XOPEN_SOURCE):
20792         Don't define; this causes problems on Solaris 7.
20793         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
20794
20795 2000-07-23  Jim Meyering  <meyering@lucent.com>
20796
20797         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
20798         too: getgrgid, getpwuid, getuid.
20799
20800 2000-07-23  Jim Meyering  <meyering@lucent.com>
20801
20802         * lib/basename.c (base_name): Add an assertion.
20803
20804 2000-07-23  Bruno Haible  <clisp.cons.org>
20805
20806         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
20807         shadow its mbsinit function.
20808
20809 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
20810
20811         * lib/mbswidth.h: New file.
20812         * lib/mbswidth.c: New file.
20813         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
20814         (noinst_HEADERS): Add mbswidth.h.
20815
20816 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
20817
20818         * lib/config.charset: Add support for FreeBSD. Improve support for
20819         HP-UX and IRIX 6.
20820
20821 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
20822
20823         * m4/mbswidth.m4: New file.
20824         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
20825
20826 2000-07-15  Jim Meyering  <meyering@lucent.com>
20827
20828         * lib/makepath.c: Include quote.h.
20829         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
20830         corresponding argument in a `quote (...)' call.
20831         Give better diagnostics.
20832
20833         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
20834         (noinst_HEADERS): Add quote.h.
20835
20836         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
20837         from tar's src/misc.c.
20838         * lib/quote.h: New file.  Prototypes for same.
20839
20840 2000-07-14  Paul Eggert  <eggert@twinsun.com>
20841
20842         From a suggestion by Bruno Haible.
20843         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
20844         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
20845         to decide whether to define the BeOS workaround macro;
20846         this adjusts to the change to AC_MBSTATE_T.
20847
20848 2000-07-14  Jim Meyering  <meyering@lucent.com>
20849
20850         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
20851         jm_AC_TYPE_UINTMAX_T.
20852
20853 2000-07-13  Paul Eggert  <eggert@twinsun.com>
20854
20855         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
20856
20857         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
20858         quotearg_buffer_restyled): Add support for
20859         clocale_quoting_style.  Undo previous change to
20860         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
20861         and "{RIGHT QUOTATION MARK}" msgids.
20862
20863 2000-07-10  Paul Eggert  <eggert@twinsun.com>
20864
20865         From a suggestion by Bruno Haible.
20866         * m4/mbstate_t.m4 (AC_MBSTATE_T):
20867         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
20868         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
20869         and mbstate_t, to a single-part test that simply defines mbstate_t.
20870         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
20871         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
20872
20873 2000-07-10  Jim Meyering  <meyering@lucent.com>
20874
20875         * m4/strerror_r.m4: Mirror the correction made in autoconf.
20876
20877         * m4/gnu-source.m4: Output to confdefs.h directly.
20878         Suggestion from Akim Demaille.
20879
20880 2000-07-09  Paul Eggert  <eggert@twinsun.com>
20881
20882         The old behavior of quoting `like this' doesn't look good with
20883         newer, ISO-style fonts.  See:
20884         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
20885
20886         Instead, quote "like this" by default.  Let the translator
20887         tailor the locale-specific quoting behavior by providing
20888         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
20889
20890         * lib/quotearg.c (N_): New macro.
20891         (gettext_default): New function.
20892         (quotearg_buffer_restyled): Use
20893         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
20894         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
20895
20896 2000-07-09  Jim Meyering  <meyering@lucent.com>
20897
20898         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
20899         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
20900
20901         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
20902         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
20903
20904 2000-07-09  Jim Meyering  <meyering@lucent.com>
20905
20906         * lib/Most files: Update copyright dates to include 2000.
20907
20908 2000-07-08  Jim Meyering  <meyering@lucent.com>
20909
20910         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
20911         if not defined.
20912         (xgethostname): Remove now-unnecessary #ifdef.
20913         Move declaration of `err' into loop where it's used.
20914
20915 2000-07-05  Paul Eggert  <eggert@twinsun.com>
20916         and Bruno Haible  <haible@clisp.cons.org>
20917
20918         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
20919         only if the test for an object-type mbstate_t fails.  This
20920         prevents us from mistakenly reporting that mbstate_t is a
20921         system object type after we "#define mbstate_t int" to work
20922         around its lack.
20923
20924 2000-07-05  Paul Eggert  <eggert@twinsun.com>
20925         and Bruno Haible  <haible@clisp.cons.org>
20926
20927         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
20928
20929 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
20930
20931         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
20932         to strerror_r.
20933         Include <ctype.h> for use of isalpha.
20934
20935 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
20936
20937         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
20938         by allocating a larger buffer. Test the gethostname return value for
20939         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
20940         returns an error and ENAMETOOLONG isn't defined.
20941
20942 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
20943
20944         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
20945         dimension.
20946
20947 2000-07-04  Jim Meyering  <meyering@lucent.com>
20948
20949         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
20950         of the deprecated AC_CHECKING.
20951
20952 2000-07-04  Jim Meyering  <meyering@lucent.com>
20953
20954         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
20955         Reported by Bruno Haible.
20956
20957 2000-07-04  Jim Meyering  <meyering@lucent.com>
20958
20959         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
20960         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
20961         lacks mbrtowc.
20962
20963 2000-07-03  Paul Eggert  <eggert@twinsun.com>
20964
20965         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
20966         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
20967
20968 2000-07-03  Paul Eggert  <eggert@twinsun.com>
20969         and Bruno Haible  <haible@clisp.cons.org>
20970
20971         * lib/quotearg.c (mbrtowc):
20972         Assign to *pwc, and return 1 only if result is nonzero.
20973         (iswprint): Use ISPRINT when substituting our own mbrtowc.
20974
20975 2000-07-03  Jim Meyering  <meyering@lucent.com>
20976
20977         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
20978
20979 2000-07-03  Jim Meyering  <meyering@lucent.com>
20980
20981         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
20982         This is necessary to get a definition of e.g., UTMP_FILE on
20983         HP-UX 10.20.
20984         From Bob Proulx.
20985
20986 2000-07-02  Jim Meyering  <meyering@lucent.com>
20987
20988         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
20989
20990         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
20991         AC_LIBOBJ(function_name).
20992         * m4/chown.m4: Likewise.
20993         * m4/fnmatch.m4: Likewise.
20994         * m4/ftruncate.m4: Likewise.
20995         * m4/getgroups.m4: Likewise.
20996         * m4/getline.m4: Likewise.
20997         * m4/group-member.m4: Likewise.
20998         * m4/jm-macros.m4: Likewise.
20999         * m4/lstat.m4: Likewise.
21000         * m4/malloc.m4: Likewise.
21001         * m4/memcmp.m4: Likewise.
21002         * m4/nanosleep.m4: Likewise.
21003         * m4/putenv.m4: Likewise.
21004         * m4/realloc.m4: Likewise.
21005         * m4/regex.m4: Likewise.
21006         * m4/stat.m4: Likewise.
21007         * m4/strftime.m4: Likewise.
21008
21009 2000-07-02  Jim Meyering  <meyering@lucent.com>
21010
21011         * lib/quotearg.c (mbstate_t): Don't define here.
21012
21013 2000-07-02  Jim Meyering  <meyering@lucent.com>
21014
21015         * lib/nanosleep.c (SIGCONT): Define if not already defined.
21016
21017 2000-07-01  Jim Meyering  <meyering@lucent.com>
21018
21019         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
21020
21021 2000-07-01  Jim Meyering  <meyering@lucent.com>
21022
21023         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
21024         problem.
21025
21026 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
21027
21028         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
21029         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
21030
21031 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
21032
21033         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
21034         per change in ../m4/ls-mntd-fs.m4.
21035         (read_filesystem_list): Ignore symbolic links.
21036
21037 2000-06-29  Jim Meyering  <meyering@lucent.com>
21038
21039         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
21040         for declaration of strcmp.
21041
21042         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
21043
21044         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
21045         Avoid warning by casting result to `char *' to remove `const'.
21046
21047 2000-06-28  Jim Meyering  <meyering@lucent.com>
21048
21049         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
21050         included by quotearg.c, for which we perform this test.  From
21051         Bruno Haible.
21052
21053 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
21054
21055         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
21056         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
21057         <utmpx.h> exists, put readutmp.o into LIBOBJS.
21058
21059 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
21060
21061         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
21062
21063 2000-06-26  Paul Eggert  <eggert@twinsun.com>
21064
21065         savedir now sets errno on failure and invokes xmalloc to get memory.
21066         Fix a couple of other minor bugs while we're at it.
21067
21068         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
21069         (NAMLEN): Remove macro.
21070         (malloc, realloc): Remove decls.
21071         (stpcpy): Likewise.
21072         ("xalloc.h"): Include.
21073         (NAME_SIZE_DEFAULT): New macro.
21074         (savedir): Use xmalloc / xrealloc to allocate memory.
21075         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
21076         Skip "" directory entries.
21077         Use strlen to calculate directory entry length, since the old method
21078         is rarely used these days and isn't worth supporting.
21079         Don't use a pointer after freeing it.
21080         Check for integer overflow when calculating allocation size.
21081         Use memcpy to copy entries, instead of stpcpy.
21082         Set errno properly when returning NULL.
21083         Check for readdir error.
21084
21085 2000-06-26  Jim Meyering  <meyering@lucent.com>
21086
21087         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
21088
21089 2000-06-25  Jim Meyering  <meyering@lucent.com>
21090
21091         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
21092         Linux header bug when _XOPEN_SOURCE is defined to 500.
21093
21094 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
21095
21096         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
21097         deficiency.
21098
21099 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
21100
21101         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
21102         Include xalloc.h.
21103         Don't include <stdlib.h>.  Don't declare malloc, realloc.
21104
21105 2000-06-24  Jim Meyering  <meyering@lucent.com>
21106
21107         * m4/strerror_r.m4: Revive this file -- to try out an experimental
21108         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
21109         for which strerror does return char*, but which lacks a conveniently
21110         accessible declaration of the function.  If the compile-test says
21111         strerror_r doesn't work, then resort to a `run'-test that works on
21112         BeOS and segfaults on DEC Unix.
21113
21114 2000-06-24  Jim Meyering  <meyering@lucent.com>
21115
21116         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
21117
21118 2000-06-23  Paul Eggert  <eggert@twinsun.com>
21119
21120         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
21121         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
21122
21123 2000-06-23  Paul Eggert  <eggert@twinsun.com>
21124
21125         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
21126         (mbrtowc, mbstate_t): Define substitutes if
21127         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
21128         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
21129         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
21130
21131 2000-06-23  Jim Meyering  <meyering@lucent.com>
21132
21133         * m4/afs.m4: Add missing AC_MSG_RESULT.
21134         Reported by Bruno Haible.
21135
21136         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
21137         Suggestion from Bruno Haible.
21138
21139 2000-06-23  Jim Meyering  <meyering@lucent.com>
21140
21141         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
21142
21143 2000-06-21  Jim Meyering  <meyering@lucent.com>
21144
21145         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
21146
21147 2000-06-21  Jim Meyering  <meyering@lucent.com>
21148
21149         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
21150         (noinst_HEADERS): Add getstr.h.
21151
21152         * lib/getline.c (getstr): Move into a separate file.
21153         * lib/getstr.c (getstr): New file, extracted from getline.c, with
21154         the following changes: new parameter, delim2; both delim[12]
21155         parameters have type `int', not `char'.  The latter would lose
21156         with 8-bit delimiters.
21157         * lib/getstr.h: New file.
21158
21159 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
21160
21161         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
21162         than 1024, return a memory chunk of least possible size, instead
21163         of size PATH_MAX + 2. In the loop, increment the size proportionally.
21164         Use free/xmalloc instead of xrealloc to avoid copying for very long
21165         paths.
21166
21167 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
21168
21169         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
21170         the empty string.
21171
21172 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
21173
21174         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
21175         address, not strdup.  Include <stdlib.h> and don't declare free().
21176
21177 2000-06-19  Jim Meyering  <meyering@lucent.com>
21178
21179         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
21180
21181 2000-06-18  Jim Meyering  <meyering@lucent.com>
21182
21183         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
21184
21185         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
21186         `checking whether...' message to be consistent with that of the
21187         lstat test.
21188
21189 2000-06-18  Jim Meyering  <meyering@lucent.com>
21190
21191         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
21192         Besides, these days every porting target provides a mkdir function.
21193
21194         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
21195         needed. (this snippet comes from src/system.h).
21196
21197 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
21198
21199         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
21200
21201 2000-06-15  Paul Eggert  <eggert@twinsun.com>
21202
21203         * lib/human.c (adjust_value): New function.
21204         (human_readable_inexact): Apply rounding style even when
21205         printing approximate values.
21206
21207 2000-06-14  Paul Eggert  <eggert@twinsun.com>
21208
21209         * lib/human.c (human_readable_inexact): Allow an input block
21210         size that is not a multiple of the output block size, and vice versa.
21211         Reported by Piergiorgio Sartor.
21212
21213 2000-06-14  Paul Eggert  <eggert@twinsun.com>
21214
21215         * lib/getdate.y (get_date): Apply relative times after time
21216         zone indicator, not before.  Reported by Todd A. Jacobs.
21217
21218 2000-06-13  Jim Meyering  <meyering@lucent.com>
21219
21220         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
21221
21222         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
21223
21224 2000-06-12  Paul Eggert  <eggert@twinsun.com>
21225
21226         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
21227
21228 2000-06-12  Jim Meyering  <meyering@lucent.com>
21229
21230         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
21231         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
21232         optional argument.
21233         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
21234         the optional argument, `lib'.
21235
21236 2000-06-08  Jim Meyering  <meyering@lucent.com>
21237
21238         * m4/largefile.m4: Remove file (now that it's part of autoconf).
21239
21240 2000-06-04  Paul Eggert  <eggert@twinsun.com>
21241
21242         Rewrite largefile configuration so that we don't need to run
21243         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
21244         AC_CANONICAL_HOST in configure.in -- jmm]
21245
21246         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
21247         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
21248         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
21249         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
21250         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
21251         All uses changed.
21252         Instead of inspecting the output of getconf, try to compile the
21253         test program without and with the macro definition.
21254         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
21255         for getconf.  Instead, check for the needed flags by compiling
21256         test programs.
21257
21258 2000-06-04  Paul Eggert  <eggert@twinsun.com>
21259
21260         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
21261
21262 2000-06-04  Jim Meyering  <meyering@lucent.com>
21263
21264         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
21265         SunOS 4.1.4 for which gid_t is an unsigned type.
21266
21267 2000-06-03  Jim Meyering  <meyering@lucent.com>
21268
21269         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
21270         now that autoconf requires that.
21271
21272         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
21273         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
21274         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
21275
21276 2000-06-03  Jim Meyering  <meyering@lucent.com>
21277
21278         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
21279
21280 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
21281
21282         * m4/glibc21.m4: New file.
21283         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
21284
21285 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
21286
21287         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
21288         newer, don't install charset.alias.
21289         * lib/config.charset: Change the Linux/glibc rules so they become empty
21290         on glibc-2.1 or newer.
21291
21292 2000-06-02  Jim Meyering  <meyering@lucent.com>
21293
21294         * lib/mountlist.c: Back out last change.  Instead, do this...
21295         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
21296         me_dummy member using the same `ignore'-testing code.
21297         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
21298         fs_type strings.
21299         From Mark D. Roth.
21300
21301 2000-05-29  Jim Meyering  <meyering@lucent.com>
21302
21303         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
21304         mounts with the `ignore' attribute.  Based on a patch from
21305         Mark D. Roth.
21306
21307 2000-05-28  Jim Meyering  <meyering@lucent.com>
21308
21309         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
21310         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
21311         * m4/stat.m4: Likewise.
21312         * m4/lstat.m4: Likewise.
21313         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
21314
21315         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
21316         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
21317
21318 2000-05-26  Jim Meyering  <meyering@lucent.com>
21319
21320         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
21321
21322 2000-05-24  Jim Meyering  <meyering@lucent.com>
21323
21324         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
21325         autoconf requires that.
21326         * m4/lib-check.m4: Likewise.
21327         * m4/jm-macros.m4: Likewise.
21328         * m4/strftime.m4: Likewise.
21329
21330         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
21331         AC_CHECK_DECLS, now that autoconf requires that.
21332
21333 2000-05-22  Jim Meyering  <meyering@lucent.com>
21334
21335         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
21336         * m4/lstat.m4: Likewise.
21337
21338 2000-05-22  Jim Meyering  <meyering@lucent.com>
21339
21340         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
21341
21342 2000-05-20  Jim Meyering  <meyering@lucent.com>
21343
21344         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
21345         (jm_PREREQ): Use it.
21346
21347 2000-05-18  Jim Meyering  <meyering@lucent.com>
21348
21349         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
21350         back, too, since it may have been modified by allocate_entry.
21351         (hash_delete): Rewrite to use neither the assignment operator
21352         nor the comma operator in an if-expression.
21353
21354 2000-05-15  Paul Eggert  <eggert@twinsun.com>
21355
21356         * lib/closeout.c:
21357         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
21358         Remove; no longer needed.
21359         "quotearg.h": Add include.
21360         (file_name): Do not bother to explicitly initialize to NULL; it's less
21361         efficient on some hosts.
21362         (close_stdout_status): Remove test as to whether stdout was already
21363         closed; it breaks for the case "echo x | sort >&-".
21364         Quote file name colons.
21365         Do not assume that _("write error") lacks format strings.
21366
21367 2000-05-15  Jim Meyering  <meyering@lucent.com>
21368
21369         * lib/version-etc.c (version_etc_copyright): Update the copyright
21370         string used in all --version output.
21371
21372 2000-05-14  Jim Meyering  <meyering@lucent.com>
21373
21374         * lib/closeout.c (close_stdout_set_file_name): New function.
21375         (close_stdout_status): Use new file-scoped global.
21376         Return right away if fstat says the stdout file descriptor is invalid.
21377         * lib/closeout.h (close_stdout_set_file_name): Declare.
21378
21379 2000-05-10  Jim Meyering  <meyering@lucent.com>
21380
21381         * lib/closeout.c [default_exit_status]: New file-scoped variable.
21382         (close_stdout_set_status): New function.
21383         * lib/closeout.h (close_stdout_set_status): Declare.
21384
21385 2000-05-09  Jim Meyering  <meyering@lucent.com>
21386
21387         * m4/gettext.m4: Rename this...
21388         * m4/libintl.m4: ...to this.
21389
21390 2000-05-08  Jim Meyering  <meyering@lucent.com>
21391
21392         * lib/long-options.c: Don't include closeout.h.
21393         (parse_long_options): Don't call close_stdout for --version.
21394
21395 2000-05-06  Paul Eggert  <eggert@twinsun.com>
21396
21397         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
21398         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
21399         2.1.3 bug.  This avoids a clash when files like regex.c define
21400         _GNU_SOURCE.
21401
21402 2000-05-06  Jim Meyering  <meyering@lucent.com>
21403
21404         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
21405         (AC_REPLACE_FUNCS): Add strnlen.
21406
21407         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
21408         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
21409
21410         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
21411         AC_SEARCH_LIBS call for nanosleep.
21412         (LIB_NANOSLEEP): Set and AC_SUBST.
21413
21414 2000-05-06  Jim Meyering  <meyering@lucent.com>
21415
21416         * lib/strnlen.c: Undefine __strnlen and strnlen.
21417         [!weak_alias]: Define __strnlen to strnlen.
21418
21419         * lib/atexit.c: New file, from libiberty.
21420
21421 2000-05-06  Jim Meyering  <meyering@lucent.com>
21422
21423         * lib/closeout.c (close_stdout_status): Also check for errors on the
21424         stderr stream.
21425
21426 2000-05-05  Jim Meyering  <meyering@lucent.com>
21427
21428         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
21429         AC_SEARCH_LIBS call for clock_gettime.
21430         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
21431
21432         * m4/search-libs.m4: Update from autoconf.
21433
21434         su doesn't work on Solaris 2.6.
21435         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
21436         <shadow.h>.  Reported by Dragos Harabor.
21437
21438 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
21439
21440         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
21441         memcpy instead of xmalloc, xrealloc, path_concat.
21442         (locale_charset): Treat empty environment variables as absent.
21443         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
21444
21445 2000-05-04  Jim Meyering  <meyering@lucent.com>
21446
21447         * lib/getopt.c: Update from glibc.
21448         * lib/obstack.c: Likewise.
21449         * lib/obstack.h: Likewise.
21450         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
21451         file
21452
21453         * lib/regex.h: Likewise.
21454         * lib/strndup.c: Likewise.
21455         * lib/strnlen.c: New file, from glibc.
21456
21457 2000-05-03  Jim Meyering  <meyering@lucent.com>
21458
21459         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
21460
21461 2000-05-02  Paul Eggert  <eggert@twinsun.com>
21462
21463         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
21464         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
21465         compile-time test, rather than inspecting host and OS, to
21466         decide whether to define _LARGEFILE_SOURCE.
21467
21468 2000-05-01  Jim Meyering  <meyering@lucent.com>
21469
21470         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
21471
21472         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
21473         Based on a patch from Bruno Haible.
21474
21475 2000-05-01  Jim Meyering  <meyering@lucent.com>
21476
21477         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
21478
21479 2000-04-29  Jim Meyering  <meyering@lucent.com>
21480
21481         * lib/path-concat.c: Declare strdup only if it's not defined.
21482         * lib/canon-host.c: Likewise.
21483
21484 2000-04-28  Jim Meyering  <meyering@lucent.com>
21485
21486         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
21487         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
21488         is included first, then limits.h is included by locale.h by libintl.h.
21489         From John David Anglin.
21490
21491 2000-04-25  Jim Meyering  <meyering@lucent.com>
21492
21493         * lib/makepath.c (S_IRWXUGO): Define.
21494         (make_path): Always perform explicit chmod if MODE specifies any
21495         of the `special' permission bits.  Prompted by a bug report against
21496         install from Mate Wierdl and Joost van Baal.
21497
21498 2000-04-18  Jim Meyering  <meyering@lucent.com>
21499
21500         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
21501         (jm_PREREQ): Use it.
21502
21503 2000-04-18  Jim Meyering  <meyering@lucent.com>
21504
21505         * lib/README: New file.
21506
21507         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
21508         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
21509
21510 2000-04-17  Jim Meyering  <meyering@lucent.com>
21511
21512         Get it right :-)
21513         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
21514         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
21515         Suggestion from Akim Demaille.
21516
21517 2000-04-17  Jim Meyering  <meyering@lucent.com>
21518
21519         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
21520         the definition of it to rpl_strftime also defined-away the system's
21521         declaration.
21522
21523 2000-04-15  Jim Meyering  <meyering@lucent.com>
21524
21525         Use `C' to denote so-called `contiguous' files, the same way
21526         that tar does.
21527         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
21528         (ftypelet): Use S_ISCTG.
21529         From Michael Deutschmann.
21530
21531 2000-04-14  Jim Meyering  <meyering@lucent.com>
21532
21533         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
21534         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
21535         clobbered.
21536
21537 2000-04-14  Jim Meyering  <meyering@lucent.com>
21538
21539         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
21540
21541 2000-04-13  Jim Meyering  <meyering@lucent.com>
21542
21543         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
21544         AH_VERBATIM to insert required #ifndef into config.h.in.
21545         Suggestion from Akim Demaille.
21546
21547 2000-04-12  Jim Meyering  <meyering@lucent.com>
21548
21549         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
21550         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
21551         Christian Krackowizer.
21552
21553         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
21554         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
21555         (AC_SYS_LARGEFILE): Require.
21556         (AM_C_PROTOTYPES): Require.
21557
21558 2000-04-08  Jim Meyering  <meyering@lucent.com>
21559
21560         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
21561         names don't conflict.  Reported by Eli Zaretskii.
21562
21563 2000-04-07  Jim Meyering  <meyering@lucent.com>
21564
21565         * lib/putenv.c: Move inclusion of errno.h so it follows that of
21566         sys/types.h, to work around system header problems on AIX 3.2.5.
21567         From Bruno Haible.
21568
21569 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
21570
21571         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
21572         bug.  Deal with the different error behavior of Irix iconv.
21573
21574 2000-04-05  Paul Eggert  <eggert@twinsun.com>
21575
21576         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
21577         IRIX if the installer said otherwise.
21578
21579 2000-04-05  Jim Meyering  <meyering@lucent.com>
21580
21581         Portability tweaks required for ultrix4.3.
21582         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
21583         (jm_CHECK_DECLS): Add getutent to the list of functions.
21584         (_jm_DECL_HEADERS): Add utmpx.h.
21585         From John David Anglin.
21586
21587         * m4/strftime.m4: Back out the 2000-04-02 change.
21588         Instead of that change, simply undefine putenv in the test program.
21589
21590 2000-04-05  Jim Meyering  <meyering@lucent.com>
21591
21592         Portability tweaks required for ultrix4.3.
21593         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
21594         getutent.
21595         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
21596         * lib/canon-host.c: Declare strdup.
21597         * lib/path-concat.c: Likewise.
21598         From John David Anglin.
21599
21600 2000-04-04  Jim Meyering  <meyering@lucent.com>
21601
21602         Be more DOS 8.3-friendly.
21603         * lib/ref-add.sin: Renamed from ref-add.sed.in.
21604         * lib/ref-del.sin: Renamed from ref-del.sed.in.
21605         * lib/Makefile.am: Reflect renaming.
21606         Reported by Eli Zaretskii.
21607
21608         Use a temporary file name that won't clash with `charset.alias'
21609         in the DOS 8.3 name space.
21610         * lib/Makefile.am (charset_tmp): Define.
21611         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
21612         (uninstall-local): Likewise.
21613         Reported by Eli Zaretskii.
21614
21615 2000-04-03  Jim Meyering  <meyering@lucent.com>
21616
21617         * m4/gettext.m4: Fix typo in comment.
21618
21619         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
21620         textutils/configure.in).  Suggestion from Paul Eggert.
21621         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
21622
21623 2000-04-02  Paul Eggert  <eggert@twinsun.com>
21624
21625         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
21626         variable in the shell rather than using putenv, which isn't
21627         portable.  This avoids the configure-time inter-test dependency
21628         on the potentially-renamed putenv function.
21629
21630 2000-03-30  Paul Eggert  <eggert@twinsun.com>
21631
21632         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
21633         before checking struct stat.st_blksize, so that
21634         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
21635
21636 2000-03-29  Paul Eggert  <eggert@twinsun.com>
21637
21638         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
21639         since strftime.c uses HAVE_STRFTIME to decide whether to use
21640         the underlying strftime.
21641
21642 2000-03-29  Paul Eggert  <eggert@twinsun.com>
21643
21644         * lib/time/strftime.c (my_strftime): Make sure we call the system
21645         strftime, not ourselves, when invoking the underlying strftime.
21646
21647 2000-03-24  Jim Meyering  <meyering@lucent.com>
21648
21649         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
21650         (charset_alias): Define.
21651         (install-exec-local): Factor out common code.
21652         (uninstall-local): Split lines longer than 80.
21653         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
21654         (SUFFIXES): Define.
21655         (.sed.in.sed): New rule.  Don't redirect directly to $@.
21656         (CLEANFILES): Add ref-add.sed and ref-del.sed.
21657
21658 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
21659
21660         * lib/config.charset: Output a line containing "Packages using this
21661         file".
21662         * lib/ref-add.sed.in, ref-del.sed.in: New files.
21663         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
21664         ref-del.sed): New rules.
21665
21666 2000-03-17  Jim Meyering  <meyering@lucent.com>
21667
21668         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
21669         Otherwise, include <strings.h>
21670
21671 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
21672
21673         * lib/unicodeio.c (utf8_wctomb): New function.
21674         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
21675         format instead of in UCS-4 with platform dependent endianness.
21676
21677 2000-03-10  Jim Meyering  <meyering@lucent.com>
21678
21679         * m4/lib-check.m4: Look for getspnam in -lgen, too.
21680         From Marco Franzen.
21681
21682 2000-03-07  Paul Eggert  <eggert@twinsun.com>
21683
21684         * lib/savedir.c (savedir): Work even if directory size is
21685         negative; this can happen with some screwy NFS configurations.
21686
21687 2000-03-06  Jim Meyering  <meyering@lucent.com>
21688
21689         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
21690         if it's NULL (because we ran out of memory).  From Bruno Haible.
21691
21692 2000-03-05  Jim Meyering  <meyering@lucent.com>
21693
21694         * lib/localcharset.c ("path-concat.h"): Include.
21695         (get_charset_aliases): Use path_concat instead of ANSI string
21696         concatenation.
21697
21698         * lib/unicodeio.h (PARAMS): Define.
21699         Use it to guard prototype.
21700
21701 2000-03-04  Jim Meyering  <meyering@lucent.com>
21702
21703         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
21704         for lib/localcharset.c.
21705
21706 2000-03-04  Jim Meyering  <meyering@lucent.com>
21707
21708         * lib/Makefile.am (install-exec-local): Create $(libdir) before
21709         installing into it.
21710         (uninstall-local): Uncomment this rule so `make distcheck' works
21711         once again.
21712
21713         * lib/unicodeio.c (<errno.h>): Include it.
21714         (errno): Declare if not defined.
21715
21716         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
21717
21718         * lib/config.charset: New version, incorporating remarks from a linux
21719         i18n mailing list.  From Bruno Haible.
21720
21721 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
21722
21723         * m4/codeset.m4: New file.
21724         * m4/iconv.m4: New file.
21725         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
21726
21727 2000-03-03  Jim Meyering  <meyering@lucent.com>
21728
21729         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
21730
21731 2000-03-02  Jim Meyering  <meyering@lucent.com>
21732
21733         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
21734         the messages come out on separate lines.
21735
21736         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
21737         rather than jm_CHECK_DECLARATIONS.
21738         * m4/decl.m4: Remove now-unused file.
21739
21740         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
21741         geteuid.
21742
21743 2000-03-02  Jim Meyering  <meyering@lucent.com>
21744
21745         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
21746
21747 2000-03-01  Jim Meyering  <meyering@lucent.com>
21748
21749         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
21750         * lib/unicodeio.c: Likewise.
21751
21752 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
21753
21754         * lib/config.charset: New file.
21755         * lib/localcharset.c: New file.
21756         * lib/unicodeio.h, unicodeio.c: New files.
21757         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
21758         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
21759         (noinst_HEADERS): Add unicodeio.h.
21760         (all-local, install-exec-local, charset.alias): New targets.
21761
21762 2000-02-28  Paul Eggert  <eggert@twinsun.com>
21763
21764         * lib/quotearg.c (ALERT_CHAR): New macro.
21765         (quotearg_buffer_restyled): Use it.
21766
21767 2000-02-27  Jim Meyering  <meyering@lucent.com>
21768
21769         * m4/check-decl.m4: Add getenv to the list.
21770
21771 2000-02-27  Jim Meyering  <meyering@lucent.com>
21772
21773         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
21774         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
21775
21776         * lib/backupfile.c: Guard inclusion of stdlib.h with
21777         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
21778         Declare malloc if needed.
21779
21780         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
21781         `#ifndef HAVE_DECL..'
21782         now that autoconf always defines the HAVE_DECL_ symbols.
21783         * lib/human.c: Likewise.
21784         * lib/same.c: Likewise.
21785         * lib/strtoumax.c: Likewise.
21786
21787         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
21788         declaration check was not run.
21789         * lib/hash.c: Likewise.
21790         * lib/human.c: Likewise.
21791         * lib/same.c: Likewise.
21792         * lib/strtoumax.c: Likewise.
21793
21794         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
21795         `.', then first look up the entire `.'-containing string as a login
21796         name.
21797
21798 2000-02-23  Jim Meyering  <meyering@lucent.com>
21799
21800         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
21801         in place of my hack.
21802
21803 2000-02-18  Paul Eggert  <eggert@twinsun.com>
21804
21805         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
21806         (textint): New typedef.
21807         (parser_control): Member year changed from int to textint.
21808         All uses changed.
21809         (YYSTYPE): Removed; replaced by %union with int and textint members.
21810         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
21811         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
21812         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
21813         (tSNUMBER, tUNUMBER): Now of type <textintval>.
21814         (date, number, to_year): Use width of number in digits, not its value,
21815         to determine whether it's a 2-digit year, or a 2-digit time.
21816         (yylex): Store number of digits of numeric tokens.
21817         Reported by John Kendall.
21818
21819         (parser_control): Changed from struct parser_control to typedef (for
21820         consistency).  All uses changed.
21821
21822         (tID): Removed; not used.
21823         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
21824
21825 2000-02-14  Paul Eggert  <eggert@twinsun.com>
21826
21827         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
21828         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
21829
21830 2000-02-12  Jim Meyering  <meyering@lucent.com>
21831
21832         * lib/userspec.c (ISDIGIT): Define it.
21833         (isdigit): Remove definition.
21834         (is_number): Use ISDIGIT, not isdigit.
21835         <libintl.h>: Include.
21836         (_ and N_): Define.
21837         (parse_user_spec): Mark translatable strings.
21838
21839 2000-02-10  Jim Meyering  <meyering@lucent.com>
21840
21841         With these changes, nanosleep.[ch] are finally enough like the other
21842         lib/* replacement files to compile on a few more losing systems.
21843
21844         * lib/nanosleep.h: Don't include config.h.
21845         Remove prototype from declaration of nanosleep.
21846         (PARAMS): Remove now-unneeded definition.
21847         * lib/nanosleep.c: #undef nanosleep.
21848         (rpl_nanosleep): Rename from nanosleep.
21849
21850 2000-02-10  Jim Meyering  <meyering@lucent.com>
21851
21852         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
21853         gnu_nanosleep to rpl_nanosleep.
21854
21855 2000-02-09  Jim Meyering  <meyering@lucent.com>
21856
21857         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
21858         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
21859
21860 2000-02-08  Akim Demaille  <akim@epita.fr>
21861
21862         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
21863         `[' and `]' and remove uses of `changequote'.
21864         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
21865         (AC_SYS_LARGEFILE): Likewise.
21866         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
21867         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
21868         of changequote.
21869         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
21870         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
21871         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
21872         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
21873
21874 2000-02-05  Jim Meyering  <meyering@lucent.com>
21875
21876         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
21877         Remove explicit use of AC_HEADER_TIME.  It is required by
21878         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
21879         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
21880         in autoconf whereby the expansion of the latter ended up preceding
21881         the expansion of its prerequisite, AC_HEADER_TIME.
21882         Reported by Volker Borchert.
21883
21884 2000-02-03  Jim Meyering  <meyering@lucent.com>
21885
21886         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
21887
21888 2000-02-03  Jim Meyering  <meyering@lucent.com>
21889
21890         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
21891         rather than with `#if HAVE_UTMPNAME'.
21892
21893 2000-02-02  Jim Meyering  <meyering@lucent.com>
21894
21895         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
21896         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
21897         Reported by Eli Zaretskii.
21898
21899 2000-02-01  Jim Meyering  <meyering@lucent.com>
21900
21901         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
21902
21903 2000-01-31  Jim Meyering  <meyering@lucent.com>
21904
21905         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
21906         functions.  Add the time.h and sys/time.h headers along with the
21907         AC_REQUIRE'ment of AC_HEADER_TIME.
21908
21909 2000-01-31  Jim Meyering  <meyering@lucent.com>
21910
21911         * lib/nanosleep.h (nanosleep): Guard declaration with
21912         `#if ! HAVE_DECL_NANOSLEEP'.
21913         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
21914         the declaration in that vendor's sys/timers.h.
21915         Reported by Christian Krackowizer.
21916
21917         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
21918         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
21919         (ISPRINT): Likewise.
21920         Reported by Tom Tromey.
21921
21922 2000-01-30  Jim Meyering  <meyering@lucent.com>
21923
21924         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
21925
21926         * m4/prereq.m4 (utmp_includes): Define.
21927         Check for ut_user and ut_name members in both struct utmpx
21928         and struct utmp.
21929
21930 2000-01-30  Jim Meyering  <meyering@lucent.com>
21931
21932         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
21933         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
21934         header files where only utmpx.ut_user is declared.
21935
21936         * lib/readutmp.h (UT_USER): Define.
21937
21938 2000-01-29  Jim Meyering  <meyering@lucent.com>
21939
21940         * m4/lib-check.m4: New file containing library-related checks from
21941         fileutils and sh-utils (textutils had none).
21942
21943 2000-01-28  Jim Meyering  <meyering@lucent.com>
21944
21945         * m4/perl.m4: Change format of warning message to look more like that
21946         from the missing script.  Suggestion from François Pinard.
21947
21948 2000-01-25  Jim Meyering  <meyering@lucent.com>
21949
21950         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
21951         well as time.h in the compile check.
21952         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
21953         Fix typo in cross-compiling case: s/yes/no/.
21954
21955 2000-01-23  Jim Meyering  <meyering@lucent.com>
21956
21957         * m4/jm-macros.m4: Move df-related tests here from
21958         fileutils/configure.in
21959
21960         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
21961         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
21962
21963         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
21964         s/space/ac_fsusage_space/.
21965         (jm_FILE_SYSTEM_USAGE): Take two parameters.
21966
21967         * m4/ftruncate.m4: New file (derived from part of
21968         fileutils/configure.in).
21969         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
21970         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
21971
21972         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
21973         AC_SUBST these here, rather than just in sh-util/configure.in, so
21974         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
21975         all the same.
21976         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
21977         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
21978         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
21979         (AC_SUBST(POW_LIBM)): Likewise.
21980         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
21981
21982 2000-01-23  Jim Meyering  <meyering@lucent.com>
21983
21984         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
21985         obstack.c.
21986
21987 2000-01-22  Jim Meyering  <meyering@lucent.com>
21988
21989         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
21990
21991         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
21992
21993         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
21994         configure.in
21995         (AC_CHECK_HEADERS): Likewise for sh-utils.
21996         (AC_CHECK_HEADERS): Likewise for textutils.
21997         Merge the three lists of headers.
21998
21999         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
22000         from fileutils' configure.in.
22001
22002         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
22003         code. Moved tests into their own function (_jm_DECL_HEADERS) in
22004         check-decl.m4.
22005
22006         * m4/check-decl.m4: Use #if rather than #ifdef.
22007         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
22008         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
22009         (_jm_DECL_HEADERS): Define new function.
22010         (jm_CHECK_DECLARATIONS): Require it.
22011
22012 2000-01-22  Jim Meyering  <meyering@lucent.com>
22013
22014         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
22015         [! HAVE_DECL_STRTOULL]: Declare strtoull.
22016         Required for some AIX systems.  Reported by Christian Krackowizer.
22017         [TESTING] (main): New function.
22018
22019         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
22020         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
22021         letters.
22022
22023         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
22024         iswprint.
22025
22026         * lib/strverscmp.c (ISDIGIT): Define.
22027         (strverscmp): Use ISDIGIT, not isdigit.
22028
22029 2000-01-19  Jim Meyering  <meyering@lucent.com>
22030
22031         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
22032         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
22033         defines `struct timespec' in <sys/time.h>
22034
22035         * m4/c-bs-a.m4: Remove uses of changequote altogether.
22036         Thanks to Akim for explaining.
22037
22038 2000-01-17  Paul Eggert  <eggert@twinsun.com>
22039
22040         * lib/nanosleep.c (nanosleep):
22041         Don't use SA_INTERRUPT to decide whether to call sigaction, as
22042         POSIX.1 doesn't require SA_INTERRUPT and some systems
22043         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
22044         it's been part of POSIX.1 since day 1 (in 1988).
22045
22046 2000-01-17  Jim Meyering  <meyering@lucent.com>
22047
22048         * lib/interlock: Remove unused file.  Reported by François Pinard.
22049
22050 2000-01-16  Paul Eggert  <eggert@twinsun.com>
22051
22052         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
22053         alert, backslash, formfeed, and vertical tab unnecessarily in
22054         shell quoting style.
22055
22056 2000-01-16  Jim Meyering  <meyering@lucent.com>
22057
22058         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
22059         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
22060         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
22061         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
22062
22063 2000-01-16  Jim Meyering  <meyering@lucent.com>
22064
22065         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
22066         because the latter didn't work.
22067
22068 2000-01-15  Jim Meyering  <meyering@lucent.com>
22069
22070         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
22071         (AC_REPLACE_FUNCS): Add memcpy and memset.
22072         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
22073         Add strpbrk.
22074         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
22075
22076 2000-01-12  Jim Meyering  <meyering@lucent.com>
22077
22078         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
22079         (jm_PREREQ): Use it.
22080         (jm_PREREQ_READUTMP): New macro.
22081         (jm_PREREQ): Use it.
22082
22083 2000-01-11  Paul Eggert  <eggert@twinsun.com>
22084
22085         Quote multibyte characters correctly.
22086         * m4/c-bs-a.m4: New file.
22087         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
22088         (jm_PREREQ): Use it.
22089
22090 2000-01-11  Paul Eggert  <eggert@twinsun.com>
22091
22092         * m4/uintmax_t.m4: Port to autoconf 2.13.
22093
22094 2000-01-08  Jim Meyering  <meyering@ascend.com>
22095
22096         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
22097         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
22098
22099 2000-01-04  Jim Meyering  <meyering@ascend.com>
22100
22101         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
22102         jm_STRUCT_DIRENT_D_TYPE.
22103         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
22104         jm_STRUCT_DIRENT_D_INO.
22105         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
22106         jm_STRUCT_UTIMBUF.
22107         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
22108         renamings.
22109         * m4/utime.m4: Likewise.
22110
22111         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
22112         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
22113
22114 2000-01-03  Paul Eggert  <eggert@twinsun.com>
22115
22116         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
22117         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
22118
22119 2000-01-02  Jim Meyering  <meyering@ascend.com>
22120
22121         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
22122         remember if this is necessary.
22123
22124 1999-12-26  Jim Meyering  <meyering@ascend.com>
22125
22126         * m4/jm-macros.m4: Use it here.
22127         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
22128
22129 1999-12-23  Jim Meyering  <meyering@ascend.com>
22130
22131         * m4/jm-macros.m4: Check for clock_gettime (moved from
22132         fileutils/configure.in)
22133         Check for gettimeofday.
22134
22135 1999-12-20  Jim Meyering  <meyering@ascend.com>
22136
22137         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
22138         autoconf-2.14a-1999-12-20.
22139
22140 1999-12-19  Jim Meyering  <meyering@ascend.com>
22141
22142         * m4/lstat-slash.m4: New file.
22143         * m4/jm-macros.m4: Use the new macro:
22144         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
22145
22146 1999-12-07  Jim Meyering  <meyering@ascend.com>
22147
22148         * m4/perl.m4: Require that File::Compare be available, too.
22149         Too many systems seem to lack it.
22150
22151         * m4/strftime.m4: Add checks for most of the cpp macros tested in
22152         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
22153
22154 1999-11-18  Paul Eggert  <eggert@twinsun.com>
22155
22156         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
22157         problem with the QNX 4.25 shell, which doesn't propagate exit
22158         status of failed commands inside shell assignments.
22159
22160 1999-11-17  Jim Meyering  <meyering@ascend.com>
22161
22162         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
22163
22164 1999-11-07  Jim Meyering  <meyering@ascend.com>
22165
22166         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
22167
22168 1999-11-06  Jim Meyering  <meyering@ascend.com>
22169
22170         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
22171         * m4/jm-macros.m4 (jm_MACROS): Use it here.
22172
22173 1999-11-05  Jim Meyering  <meyering@ascend.com>
22174
22175         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
22176         configure.in of textutils, fileutils, and sh-utils into this one
22177         (shared between those packages) file.
22178         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
22179         AC_STRUCT_ST_BLKSIZE.
22180
22181 1999-11-03  Jim Meyering  <meyering@ascend.com>
22182
22183         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
22184         of AC_CHECK_TYPE checks includes unistd.h.
22185         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
22186         Suggestion from Akim Demaille.
22187
22188 1999-10-30  Jim Meyering  <meyering@ascend.com>
22189
22190         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
22191         m4-quoted string.
22192         * m4/ls-mntd-fs.m4: Likewise.
22193         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
22194         * m4/jm-winsz1.m4: Likewise.
22195
22196         * m4/const.m4: Remove file, since the fix made it into the experimental
22197         version of autoconf.
22198         * m4/mktime.m4: Likewise.
22199
22200         * m4/check-type.m4: Remove file, now that the latest version of
22201         AC_CHECK_TYPE takes a third arg to specify additional #includes.
22202
22203         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
22204         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
22205         AC_CHECK_TYPE.
22206
22207 1999-10-04  Jim Meyering  <meyering@ascend.com>
22208
22209         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
22210
22211 1999-09-22  Paul Eggert  <eggert@twinsun.com>
22212
22213         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
22214         2.95.1 bug with HP-UX 10.20.
22215
22216 1999-09-17  Jim Meyering  <meyering@ascend.com>
22217
22218         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
22219         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
22220         due to missing strdup (against sh-utils-2.0).
22221
22222 1999-08-29  Jim Meyering  <meyering@ascend.com>
22223
22224         * m4/jm-macros.m4: Require jm_BISON.
22225         * m4/bison.m4: New file.
22226
22227 1999-08-17  Paul Eggert  <eggert@twinsun.com>
22228
22229         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
22230         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
22231
22232 1999-08-05  Jim Meyering  <meyering@ascend.com>
22233
22234         * m4/getline.m4: Rename test file from conftestdata to conftest.data
22235         to avoid conflicts with `conftest' on 8+3 filesystems.
22236         Suggestion from Eli Zaretskii.
22237
22238 1999-08-04  Jim Meyering  <meyering@ascend.com>
22239
22240         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
22241         fileutils and sh-utils (textutils's getline test was inadequate).
22242         (AM_FUNC_GETLINE): Run this test.
22243         (AC_CHECK_FUNCS): Check for getdelim.
22244         Reported by Bob Proulx.
22245
22246 1999-08-02  Jim Meyering  <meyering@ascend.com>
22247
22248         * m4/jm-macros.m4: Add a comment.
22249
22250 1999-08-01  Paul Eggert  <eggert@twinsun.com>
22251
22252         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
22253         <inttypes.h> defines strtoumax as a macro (and not as a
22254         function).
22255
22256 1999-08-01  Paul Eggert  <eggert@twinsun.com>
22257
22258         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
22259         that we can shift, multiply and divide unsigned long long
22260         values; Ultrix cc can't do it.
22261
22262 1999-08-01  Paul Eggert  <eggert@twinsun.com>
22263
22264         * m4/mktime.m4: New file, which is a preview of what should appear
22265         in the next public autoconf release.
22266
22267 1999-08-01  Paul Eggert  <eggert@twinsun.com>
22268
22269         * m4/lfs.m4: Remove this file.
22270         * m4/largefile.m4: New file.  It contains the old contents of
22271         lfs.m4, except that all names with prefix AC_LFS have been
22272         changed to use the prefix AC_SYS_LARGEFILE instead, to be
22273         compatible with future autoconf versions.  Also, some minor m4
22274         quoting problems have been fixed.
22275
22276 1999-08-01  Paul Eggert  <eggert@twinsun.com>
22277
22278         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
22279         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
22280         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
22281         and simplify the shell code.
22282
22283 1999-08-01  Jim Meyering  <meyering@ascend.com>
22284
22285         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
22286         m4.
22287
22288 1999-07-20  Jim Meyering  <meyering@ascend.com>
22289
22290         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
22291
22292 1999-07-15  Jim Meyering  <meyering@ascend.com>
22293
22294         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
22295
22296 1999-05-22  Jim Meyering  <meyering@ascend.com>
22297
22298         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
22299
22300 1999-05-20  Jim Meyering  <meyering@ascend.com>
22301
22302         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
22303         Add a colon after each `then' in case $4 is empty.
22304
22305 1999-05-16  Jim Meyering  <meyering@ascend.com>
22306
22307         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
22308
22309 1999-05-10  Jim Meyering  <meyering@ascend.com>
22310
22311         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
22312
22313         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
22314         AC_FUNC_MKTIME.
22315
22316 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
22317
22318         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
22319
22320 1999-05-04  Paul Eggert  <eggert@twinsun.com>
22321
22322         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
22323         not CPPFLAGS, so that linking works correctly in IRIX.
22324
22325 1999-04-30  Paul Eggert  <eggert@twinsun.com>
22326
22327         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
22328
22329 1999-04-20  Paul Eggert  <eggert@twinsun.com>
22330
22331         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
22332         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
22333         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
22334         jm_AC_TYPE_UNSIGNED_LONG_LONG.
22335         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
22336
22337         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
22338
22339 1999-04-20  Jim Meyering  <meyering@ascend.com>
22340
22341         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
22342         AC_REPLACE xstroull if necessary.  From Paul Eggert.
22343         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
22344
22345 1999-04-18  Jim Meyering  <meyering@ascend.com>
22346
22347         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
22348         * m4/jm-macros.m4: Use it.
22349
22350 1999-04-06  Jim Meyering  <meyering@ascend.com>
22351
22352         * m4/strftime.m4: Remove test for %f.
22353
22354 1999-03-29  Jim Meyering  <meyering@ascend.com>
22355
22356         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
22357         superset of the AC_TYPE_* checks in the textutils, fileutils,
22358         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
22359         AC_TYPE_PID_T.
22360
22361 1999-03-28  Jim Meyering  <meyering@ascend.com>
22362
22363         * m4/jm-macros.m4: Define GNU_PACKAGE here.
22364         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
22365         replaced e.g., in the *.sh files of the sh-utils.
22366
22367 1999-03-20  Jim Meyering  <meyering@ascend.com>
22368
22369         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
22370         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
22371         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
22372
22373 1999-03-19  Jim Meyering  <meyering@ascend.com>
22374
22375         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
22376
22377 1999-03-12  Jim Meyering  <meyering@ascend.com>
22378
22379         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
22380
22381 1999-03-07  Jim Meyering  <meyering@ascend.com>
22382
22383         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
22384         declared.
22385
22386 1999-02-17  Jim Meyering  <meyering@ascend.com>
22387
22388         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
22389         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
22390
22391 1999-02-07  Jim Meyering  <meyering@ascend.com>
22392
22393         * m4/group-member.m4: New file -- extracted from sh-utils'
22394         configure.in.
22395
22396         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
22397         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
22398
22399 1999-02-06  Jim Meyering  <meyering@ascend.com>
22400
22401         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
22402         * m4/fnmatch.m4: Likewise.
22403         * m4/getgroups.m4: Likewise.
22404         * m4/lstat.m4: Likewise.
22405         * m4/malloc.m4: Likewise.
22406         * m4/putenv.m4: Likewise.
22407         * m4/realloc.m4: Likewise.
22408         * m4/regex.m4: Likewise.
22409         * m4/stat.m4: Likewise.
22410         * m4/strftime.m4: Likewise.
22411         Suggestion from Alain Magloire.
22412
22413         * m4/chown.m4: Use `.$ac_objext', not `.o'.
22414         * m4/fnmatch.m4: Likewise.
22415         * m4/getgroups.m4: Likewise.
22416         * m4/getline.m4: Likewise.
22417         * m4/lstat.m4: Likewise.
22418         * m4/malloc.m4: Likewise.
22419         * m4/memcmp.m4: Likewise.
22420         * m4/putenv.m4: Likewise.
22421         * m4/realloc.m4: Likewise.
22422         * m4/regex.m4: Likewise.
22423         * m4/stat.m4: Likewise.
22424         * m4/strftime.m4: Likewise.
22425         Suggestion from Alain Magloire.
22426
22427         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
22428         an argument.
22429
22430         * m4/regex.m4: Add a run-time Test for proper operation of
22431         re_compile_pattern.
22432
22433 1999-01-31  Jim Meyering  <meyering@ascend.com>
22434
22435         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
22436
22437 1999-01-30  Jim Meyering  <meyering@ascend.com>
22438
22439         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
22440
22441         * m4/jm-mktime.m4: Make this a wrapper around the official
22442         AM_FUNC_MKTIME rather than my private copy, now that the official one
22443         is up to date.
22444         * m4/mktime.m4: Remove file.
22445
22446         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
22447         * m4/uptime.m4: Likewise.
22448         * m4/uintmax_t.m4: Likewise.
22449
22450 1999-01-28  Jim Meyering  <meyering@ascend.com>
22451
22452         * m4/jm-macros.m4: Use jm_AFS.
22453         * m4/afs.m4: New file (from fileutils' configure.in).
22454
22455         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
22456         * m4/chown.m4: Likewise.
22457         * m4/d-ino.m4: Likewise.
22458         * m4/d-type.m4: Likewise.
22459         * m4/fnmatch.m4: Likewise.
22460         * m4/getgroups.m4: Likewise.
22461         * m4/gettext.m4: Likewise.
22462         * m4/jm-mktime.m4: Likewise.
22463         * m4/jm-winsz2.m4: Likewise.
22464         * m4/lcmessage.m4: Likewise.
22465         * m4/ls-mntd-fs.m4: Likewise.
22466         * m4/malloc.m4: Likewise.
22467         * m4/memcmp.m4: Likewise.
22468         * m4/putenv.m4: Likewise.
22469         * m4/realloc.m4: Likewise.
22470         * m4/st_mtim.m4: Likewise.
22471         * m4/strftime.m4: Likewise.
22472
22473 1999-01-16  Jim Meyering  <meyering@ascend.com>
22474
22475         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
22476         (ARGMATCH_DIE_DECL): Define.
22477
22478 1999-01-12  Jim Meyering  <meyering@ascend.com>
22479
22480         * m4/Makefile.am.in: Rewrite to avoid using fmt.
22481         Reported by Lars Hecking.
22482
22483 1999-01-10  Jim Meyering  <meyering@ascend.com>
22484
22485         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
22486         gross kludge.
22487         * m4/inttypes_h.m4: Likewise.
22488         * m4/lstat.m4: Likewise.
22489         * m4/malloc.m4: Likewise.
22490         * m4/readdir.m4: Likewise.
22491         * m4/realloc.m4: Likewise.
22492         * m4/st_dm_mode.m4: Likewise.
22493         * m4/stat.m4: Likewise.
22494         * m4/utimbuf.m4: Likewise.
22495         * m4/utimes.m4: Likewise.
22496
22497         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
22498         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
22499         comments in config.h.in are meaningful.
22500
22501         * m4/jm-macros.m4: Require autoconf-2.13 here.
22502
22503         * m4/regex.m4: By default, don't use the included regex.c on systems
22504         with glibc 2.  Suggestion from Uli Drepper.
22505
22506 1999-01-02  Jim Meyering  <meyering@ascend.com>
22507
22508         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
22509
22510 1998-12-18  Jim Meyering  <meyering@ascend.com>
22511
22512         * m4/Makefile.am.in (Makefile.am): Simplify rule.
22513         Based on a suggestion from Lars Hecking.
22514
22515 1998-11-16  Paul Eggert  <eggert@twinsun.com>
22516
22517         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
22518
22519 1998-11-16  Jim Meyering  <meyering@ascend.com>
22520
22521         * m4/lfs.m4: Double-quote the `uname...` expression.
22522
22523 1998-11-14  Jim Meyering  <meyering@ascend.com>
22524
22525         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
22526         * m4/stat.m4: Likewise.
22527
22528 1998-11-03  Jim Meyering  <meyering@ascend.com>
22529
22530         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
22531         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
22532
22533 1998-10-18  Jim Meyering  <meyering@ascend.com>
22534
22535         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
22536
22537 1998-10-17  Jim Meyering  <meyering@ascend.com>
22538
22539         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
22540         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
22541         calls for those previously hard-coded headers.  Instead, take a new
22542         parameter.
22543         (jm_CHECK_DECLARATIONS): Reflect interface change.
22544         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
22545         (jm_CHECK_DECL_LOCALTIME_R): New macro.
22546
22547         * m4/mktime.m4: Test for spring-forward gap before long-running test.
22548
22549 1998-10-14  Jim Meyering  <meyering@ascend.com>
22550
22551         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
22552         instead of "TZ=America/Vancouver".  From Paul Eggert.
22553
22554 1998-10-11  Jim Meyering  <meyering@ascend.com>
22555
22556         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
22557         This adds a test for a recently added compatibility fix for mktime.c.
22558         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
22559
22560 1998-09-27  Jim Meyering  <meyering@ascend.com>
22561
22562         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
22563
22564         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
22565         ../configure.in, including a change from Gordon Matzigkeit to allow
22566         cross-compiling for the Hurd.
22567
22568         * m4/glibc.m4: New file/macro to test for the GNU C Library
22569         versions 1 and 2.  From Gordon Matzigkeit.
22570         Indent.
22571
22572 1998-09-21  Jim Meyering  <meyering@ascend.com>
22573
22574         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
22575
22576 1998-08-18  Paul Eggert  <eggert@twinsun.com>
22577
22578         Port nanosecond-resolution times to UnixWare 2.1.2 and
22579         pedantic Solaris 2.6.
22580
22581         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
22582         AC_STRUCT_ST_MTIM.
22583         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
22584         Generate name of ns member, instead of just 1 or undef.
22585         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
22586
22587 1998-08-15  Jim Meyering  <meyering@ascend.com>
22588
22589         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
22590         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
22591         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
22592         instead of jm_TYPE_SSIZE_T.
22593
22594 1998-08-12  Jim Meyering  <meyering@ascend.com>
22595
22596         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
22597
22598 1998-08-02  Jim Meyering  <meyering@ascend.com>
22599
22600         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
22601         in acconfig.h manually.
22602
22603 1998-07-31  Paul Eggert  <eggert@twinsun.com>
22604
22605         * m4/st_mtim.m4: New file.
22606
22607 1998-07-28  Jim Meyering  <meyering@ascend.com>
22608
22609         * m4/utimes.m4: Undef stat.
22610
22611 1998-07-25  Jim Meyering  <meyering@ascend.com>
22612
22613         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
22614         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
22615
22616 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
22617
22618         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
22619         uid and gid actually remain unchanged.
22620
22621 1998-07-07  Jim Meyering  <meyering@ascend.com>
22622
22623         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
22624
22625 1998-07-04  Jim Meyering  <meyering@ascend.com>
22626
22627         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
22628         to prove that this macro can be used in packages without regex.c.
22629
22630 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
22631
22632         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
22633         is to be used.
22634
22635 1998-07-03  Jim Meyering  <meyering@ascend.com>
22636
22637         * m4/gettext.m4: Add -lintl if it's found to be necessary.
22638
22639         * m4/gettext.m4: New file -- from gettext-0.10.35.
22640         * m4/lcmessage.m4: Likewise.
22641         * m4/progtest.m4: Likewise.
22642
22643         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
22644         * m4/jm-macros.m4: Require the new macro.
22645
22646 1998-06-29  Jim Meyering  <meyering@ascend.com>
22647
22648         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
22649         for the definition of NGROUPS (used in a system header included
22650         by sys/mount.h).
22651
22652 1998-06-28  Jim Meyering  <meyering@ascend.com>
22653
22654         * m4/ls-mntd-fs.m4: New file.
22655         * m4/fstypename.m4: New file.
22656
22657         * m4/jm-macros.m4: Require the new macro.
22658         * m4/jm-glibc-io.m4: New file.
22659
22660 1998-05-19  Jim Meyering  <meyering@ascend.com>
22661
22662         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
22663         * m4/lchown.m4: New file.
22664
22665         * m4/Makefile.am.in: New file.
22666         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
22667
22668 1998-05-14  Jim Meyering  <meyering@ascend.com>
22669
22670         * m4/Makefile.am (EXTRA_DIST): Add them.
22671         * m4/jm-macros.m4: New file.
22672         * m4/utimbuf.m4: New file.
22673
22674 1998-05-12  Jim Meyering  <meyering@ascend.com>
22675
22676         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
22677
22678 1998-05-11  Jim Meyering  <meyering@ascend.com>
22679
22680         * m4/isc-posix.m4: New file.
22681
22682 1998-05-10  Jim Meyering  <meyering@ascend.com>
22683
22684         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
22685
22686 1998-05-09  Jim Meyering  <meyering@ascend.com>
22687
22688         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
22689         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
22690         with automake.
22691
22692         * m4/ssize_t.m4: New file.
22693         * m4/mktime.m4: Remove file -- the new automake has this now.
22694
22695 1998-04-26  Jim Meyering  <meyering@ascend.com>
22696
22697         * m4/assert.m4: New file.
22698         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
22699
22700 1998-04-05  Jim Meyering  <meyering@ascend.com>
22701
22702         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
22703         (jm_PREREQ): Use it here.
22704
22705 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
22706
22707         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
22708         in acconfig.h.
22709
22710 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
22711
22712         * m4/prereq.m4: New file.
22713         * m4/error.m4: New file.
22714         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
22715
22716 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
22717
22718         * m4/getline.m4: Don't set am_cv_func_working_getline before the
22719         cache-check for the same variable -- that defeated the purpose of
22720         the test; the test program was never run.  This was a problem only
22721         on systems with losing getline functions -- HP-UX 10.20 is one.
22722         Reported by Bjorn Helgaas.
22723
22724 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
22725
22726         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
22727
22728 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
22729
22730         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
22731
22732         * m4/const.m4: New file.  Use an initializer in this declaration
22733         typedef int charset[2]; const charset x;
22734         Reported by Bob Glickstein.
22735
22736 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
22737
22738         * m4/chown.m4: Fix reversed types on -1 args to chown.
22739         From Kaveh Ghazi.
22740
22741 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
22742
22743         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
22744         Add lseek and memchr.
22745
22746         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
22747         T.E.Dickey <dickey@clark.net> said that some older preprocessors
22748         have a 20-character limit on names.
22749
22750 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
22751
22752         * m4/inttypes_h.m4: New file.
22753         * m4/uintmax_t.m4: New file.
22754         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
22755
22756 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
22757   Free Software Foundation, Inc.
22758 Copying and distribution of this file, with or without modification,
22759 are permitted provided the copyright notice and this notice are preserved.