Fix memmem test for mingw.
[gnulib.git] / ChangeLog
1 2008-01-05  Eric Blake  <ebb9@byu.net>
2
3         Fix memmem test for mingw.
4         * modules/memmem-tests (configure.ac): Check for alarm.
5         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
6         it.
7         * doc/functions/memmem.texi: New file.
8         * doc/gnulib.texi (Function Substitutes): Add memmem.
9         Reported by Bruno Haible.
10
11 2008-01-04  Bruno Haible  <bruno@clisp.org>
12
13         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
14         Require gl_HEADER_STRINGS_H_DEFAULTS, not
15         gl_HEADER_STRING_H_DEFAULTS.
16
17 2008-01-04  Eric Blake  <ebb9@byu.net>
18
19         Shorten duration of memmem test.
20         * tests/test-memmem.c (main): Use alarm to declare failure if test
21         is taking too long.
22         Reported by Ralf Wildenhues.
23
24 2007-12-21  Simon Josefsson  <simon@josefsson.org>
25
26         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
27         string, needed by strerror.
28
29 2008-01-03  Colin Watson  <cjwatson@debian.org>
30             Bruno Haible  <bruno@clisp.org>
31
32         * doc/gnulib-tool.texi (Localization): New section.
33
34 2008-01-02  Bruno Haible  <bruno@clisp.org>
35
36         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
37         variables to 'unsigned char *' type.
38         Reported by Paul Eggert.
39
40 2008-01-02  Jim Meyering  <jim@meyering.net>
41
42         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
43
44 2007-12-31  Jim Meyering  <jim@meyering.net>
45
46         Avoid use of private FTS type name.
47         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
48
49 2007-12-30  Karl Berry  <karl@gnu.org>
50
51         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
52         work around defect in Texinfo and/or the standalone Info browser.
53
54 2007-12-30  Bruno Haible  <bruno@clisp.org>
55
56         Unify 5 copies of the KMP code.
57         * lib/str-kmp.h: New file.
58         * lib/c-strcasestr.c: Include str-kmp.h.
59         (knuth_morris_pratt): Remove function.
60         (c_strcasestr): Update.
61         * lib/c-strstr.c: Include str-kmp.h.
62         (knuth_morris_pratt): Remove function.
63         (c_strcasestr): Update.
64         * lib/mbscasestr.c: Include str-kmp.h.
65         (knuth_morris_pratt_unibyte): Remove function.
66         * lib/mbsstr.c: Include str-kmp.h.
67         (knuth_morris_pratt_unibyte): Remove function.
68         * lib/strcasestr.c: Include str-kmp.h.
69         (knuth_morris_pratt): Remove function.
70         (strcasestr): Update.
71         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
72         * modules/c-strstr (Files): Likewise.
73         * modules/mbscasestr (Files): Likewise.
74         * modules/mbsstr (Files): Likewise.
75         * modules/strcasestr (Files): Likewise.
76         Suggested by Paul Eggert.
77
78 2007-12-30  Bruno Haible  <bruno@clisp.org>
79
80         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
81         defined.
82
83 2007-12-30  Bruno Haible  <bruno@clisp.org>
84
85         * lib/xmalloca.h: Include xalloc.h.
86         (xnmalloca): New macro.
87
88 2007-12-30  Bruno Haible  <bruno@clisp.org>
89
90         * lib/malloca.h (nmalloca): New macro.
91         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
92         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
93         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
94         knuth_morris_pratt_multibyte): Likewise.
95         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
96         knuth_morris_pratt_multibyte): Likewise.
97         * lib/memmem.c (knuth_morris_pratt): Likewise.
98         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
99
100 2007-12-25  Bruno Haible  <bruno@clisp.org>
101
102         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
103         * lib/glob.c: Don't include openat.h.
104         (link_exists2_p): Add back the code that deals with the
105         !GLOB_ALTDIRFUNC case.
106         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
107         let it do the filename concatenation.
108         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
109         * modules/glob (Depends-on): Remove openat.
110
111 2007-12-31  Bruno Haible  <bruno@clisp.org>
112
113         * modules/dirfd (License): Change to LGPLv2+.
114         Approved by Jim Meyering.
115
116 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
117
118         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
119         when multiplying M by sizeof (size_t).
120
121 2007-12-10  Martin Lambers  <marlam@marlam.de>
122
123         Override getpagesize on mingw.
124         * lib/getpagesize.c: New file.
125         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
126         * modules/getpagesize (Files): Add lib/getpagesize.c.
127         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
128         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
129         REPLACE_GETPAGESIZE.
130         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
131
132 2007-12-25  Bruno Haible  <bruno@clisp.org>
133
134         * modules/localcharset (Notice): New field.
135         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
136         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
137
138 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
139             Bruno Haible  <bruno@clisp.org>
140
141         Avoid using the syntax symbol() in formatted documentation.
142         * MODULES.html.sh (func_module): When replacing symbol() with a
143         hyperlink, remove the parentheses. Show an error if some remain.
144         Recognize and render the '...' syntax.
145         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
146         Rework. Add paragraph about GCC's inlining.
147         * doc/alloca.texi: Likewise.
148         * doc/error.texi: Remove parentheses from symbol reference.
149         * doc/gnulib-intro.texi: Likewise.
150         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
151         * modules/fnmatch (Description): Reword to say "the ... function".
152         * modules/full-read (Description): Likewise.
153         * modules/full-write (Description): Likewise.
154         * modules/safe-read (Description): Likewise.
155         * modules/safe-write (Description): Likewise.
156         * modules/strchrnul (Description): Likewise.
157         * modules/trim (Description): Likewise.
158         * modules/error (Description): Remove parentheses from symbol
159         references.
160         * modules/verror (Description): Likewise.
161         Reported by Karl Berry.
162
163 2007-12-25  Bruno Haible  <bruno@clisp.org>
164
165         Fixup after 2007-10-16 commit.
166         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
167
168 2007-12-24  Bruno Haible  <bruno@clisp.org>
169
170         Make --enable-relocatable work with DESTDIR.
171         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
172         to compute installdir from destprog.
173         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
174         also set the RELOC_DESTDIR variable.
175         Reported by Левашев Иван <octagram@bluebottle.com>.
176
177 2007-12-24  Bruno Haible  <bruno@clisp.org>
178
179         Fix link error due to xalloc_die().
180         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
181         of xreadlink.
182         * lib/relocwrapper.c: Update comments.
183         * build-aux/install-reloc: Remove xreadlink.c from file list.
184         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
185         xreadlink.c.
186         Reported by Левашев Иван <octagram@bluebottle.com>.
187
188 2007-12-24  Bruno Haible  <bruno@clisp.org>
189
190         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
191         * lib/setenv.h: Remove file.
192         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
193         lib/setenv.h.
194         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
195         (Depends-on): Add stdlib.
196         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
197         gl_FUNC_UNSETENV.
198         (Include): Replace setenv.h with <stdlib.h>.
199         * modules/unsetenv: New file.
200         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
201         * lib/unsetenv.c: Include <stdlib.h> first.
202         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
203         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
204         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
205         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
206         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
207         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
208         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
209         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
210         * doc/functions/unsetenv.texi: Update.
211         * modules/xsetenv (Depends-on): Add unsetenv.
212         * modules/getdate (Depends-on): Likewise.
213         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
214         * lib/xsetenv.c: Don't include setenv.h.
215         * lib/getdate.y: Likewise.
216         * lib/relocwrapper.c: Likewise.
217         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
218         (Depends-on): Add stdlib.
219         * NEWS: Mention the changes.
220         Reported by Левашев Иван <octagram@bluebottle.com>.
221
222 2007-12-23  Bruno Haible  <bruno@clisp.org>
223
224         * lib/memmem.c (memmem): Use lowercase variable names. Tab
225         indentation.
226
227 2007-12-23  Bruno Haible  <bruno@clisp.org>
228
229         * lib/c-strcasestr.c: Add more comments.
230         * lib/c-strstr.c: Likewise.
231         * lib/mbscasestr.c: Likewise.
232         * lib/mbsstr.c: Likewise.
233         * lib/strcasestr.c: Likewise.
234         * lib/memmem.c: Likewise.
235
236 2007-12-23  Bruno Haible  <bruno@clisp.org>
237
238         * tests/test-memmem.c: Include <string.h> first.
239
240 2007-12-22  Bruno Haible  <bruno@clisp.org>
241
242         * gnulib-tool (func_create_testdir): Change $auxdir while generating
243         the contents of $testsbase.
244         Reported by Ralf Wildenhues.
245
246 2007-12-22  Bruno Haible  <bruno@clisp.org>
247
248         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
249         two variables local_ldadd_before, local_ldadd_last.
250
251 2007-12-20  Eric Blake  <ebb9@byu.net>
252
253         Work around circular library issue when cross-compiling.
254         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
255         that progname.o does not need to pull in rpl_memcmp.
256
257 2007-12-19  Eric Blake  <ebb9@byu.net>
258
259         Fix memmem to avoid O(n^2) worst-case complexity.
260         * lib/memmem.c (knuth_morris_pratt): New function.
261         (memmem): Use it if first few naive iterations fail.
262         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
263         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
264         * modules/memchr (License): Likewise.
265         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
266         malloca.
267         * tests/test-memmem.c: Rewrite, borrowing ideas from
268         test-mbsstr1.c; the old version wouldn't even compile!
269         * modules/memmem-tests: New file.
270         * lib/string.in.h (rpl_memmem): Add declaration.
271         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
272         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
273         REPLACE_MEMMEM.
274
275 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
276
277         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
278         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
279         before any system include files, and undef after them all.  This
280         should fix a problem on VMS reported by John E. Malmberg in
281         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
282
283 2007-12-17  Eric Blake  <ebb9@byu.net>
284
285         Revert addition of verify, for BSD/OS.
286         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
287         can't handle large files, for the sake of obsolete platforms.
288         * modules/fseeko (Depends-on): Remove verify.
289         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
290         * doc/functions/ftello.texi (ftello): Likewise.
291         * doc/functions/fgetpos.texi (fgetpos): Likewise.
292         Reported by Larry Jones.
293
294 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
295
296         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
297         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
298
299 2007-12-17  Jim Meyering  <meyering@redhat.com>
300
301         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
302         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
303         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
304         * modules/getcwd (Depends-on): Add openat.
305         Reported by Petr Salinger.
306
307 2007-12-17  Bruno Haible  <bruno@clisp.org>
308
309         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
310         avoid a segmentation fault of the configure test on x86_64 systems.
311
312 2007-12-15  Jim Meyering  <meyering@redhat.com>
313
314         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
315
316 2007-12-13  Eric Blake  <ebb9@byu.net>
317
318         Another fseek test.
319         * tests/test-fseek.c (main): Also test ungetc handling.
320         * tests/test-fseeko.c (main): Likewise.
321         * modules/fseeko (Depends-on): Add verify.
322         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
323         large.
324         Reported by Larry Jones.
325
326         Fix fseeko on mingw.
327         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
328         seek.
329
330         Beef up fseek tests.
331         * tests/test-fseek.c (main): Also test eof handling.
332         * tests/test-fseeko.c (main): Likewise.
333         Reported by Larry Jones.
334
335 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
336
337         Fix fseeko on BSD-based platforms.
338         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
339         successful seek.
340
341 2007-12-12  Eric Blake  <ebb9@byu.net>
342
343         Allow circular dependency of separate libtests.a
344         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
345         when use_libtests.
346
347 2007-12-11  Eric Blake  <ebb9@byu.net>
348
349         Fix bug with -0.0L in previous patch.
350         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
351         * tests/test-isnan.c (main): Also test on zeroes.
352         * tests/test-isnanf.c (main): Likewise.
353         * tests/test-isnanl.h (main): Likewise.
354
355         Detect pseudo-denormals on x86 even when cross-compiling.
356         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
357         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
358         invalid bit patterns that happen to satisfy ==.
359
360         Avoid link failures with separate libtests.a.
361         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
362         last, to satisfy circular dependencies.
363
364 2007-12-11  Eric Blake  <ebb9@byu.net>
365         and Bruno Haible  <bruno@clisp.org>
366
367         Fix OpenBSD 4.0 <float.h> handling of long double.
368         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
369         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
370         * doc/headers/float.texi (float.h): Document OpenBSD bug.
371
372 2007-12-11  Jim Meyering  <meyering@redhat.com>
373
374         * users.txt: Add libvirt.
375
376         Support versions of autoconf prior to 2.59c.
377         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
378         if it is not already defined.
379
380 2007-12-09  Bruno Haible  <bruno@clisp.org>
381
382         Let 'gnulib-tool --import' collect sources needed for the tests in
383         tests/ rather than in lib/.
384         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
385         argument. If true, add rules to generate libtests.a, and put libtests.a
386         into $(LDADD). Consider source files in subdirectories and set
387         uses_subdirs.
388         (func_emit_initmacro_start, func_emit_initmacro_end,
389         func_emit_initmacro_done): Pass all arguments explicitly.
390         (func_import): Determine two module lists main_modules,
391         testsrelated_modules. Determine use_libtests. Determine two variables
392         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
393         instead of just sed_transform_lib_file. Determine two variables
394         main_files and testsrelated_files. Compute 'files' as the union of
395         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
396         func_add_or_update. In the generated gnulib-comp.m4, collect the
397         object files for tests/ in different variables than those for lib/.
398         Substitute LIBTESTS_LIBDEPS.
399         (func_create_testdir): Combine the uses_subdirs results from
400         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
401
402 2007-12-09  Bruno Haible  <bruno@clisp.org>
403
404         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
405         the build-aux directory.
406
407 2007-12-09  Bruno Haible  <bruno@clisp.org>
408
409         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
410         introduced on 2006-09-09.
411
412 2007-12-07  Jim Meyering  <meyering@redhat.com>
413
414         Let these macros work also with autoconf-2.59.
415         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
416         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
417         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
418
419 2007-12-06  Jim Meyering  <meyering@redhat.com>
420
421         Avoid a configure-time syntax error in gl_FUNC_ACL.
422         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
423         function in each branch, before testing the cache variable.
424
425 2007-12-04  Eric Blake  <ebb9@byu.net>
426
427         Make scripts executable.
428         * build-aux/config.guess: Add execute permissions.
429         * build-aux/config.sub: Likewise.
430         * build-aux/gendocs.sh: Likewise.
431
432         Fix frexp on mingw.
433         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
434         cross-compiling.
435         * doc/functions/frexp.texi (frexp): Document the bug.
436
437         Make cygwin fseeko check more reliable.
438         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
439         version numbers, rather than unrelated feature check.
440         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
441         * doc/functions/ftello.texi (ftello): Likewise.
442         Reported by Bruno Haible.
443
444         * m4/strerror.m4: Bump version number.
445
446 2007-12-03  Bruno Haible  <bruno@clisp.org>
447
448         * doc/functions/mprotect.texi: Mention the mingw problem.
449
450 2007-12-03  Eric Blake  <ebb9@byu.net>
451
452         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
453         REPLACE_STRERROR is initialized before this macro.
454
455 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
456
457         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
458         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
459         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
460         put -lsec in even for programs other than 'ls'.  This fixes a problem
461         for gettext reported by Bruno Haible in
462         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
463         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
464         Add support for Solaris 10.  This isn't efficient, but should get the
465         job done for now.
466
467 2007-12-03  James Youngman  <jay@gnu.org>
468
469         * doc/regexprops-generic.texi: change "an close-group" to "a
470         close-group" and "illegal" to "not allowed".
471
472 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
473
474         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
475         pr_byname.h. Needed for the rare case when the maintainer has done
476         "make maintainer-clean" in the source directory and then attempts a
477         build outside the source directory.
478         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
479         scripts_byname.h.
480
481 2007-12-02  Martin Lambers <marlam@marlam.de>
482             Bruno Haible  <bruno@clisp.org>
483
484         * lib/getpagesize.h: Remove file.
485         * lib/unistd.in.h: Include declaration of getpagesize here.
486         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
487         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
488         HAVE_SYS_PARAM_H.
489         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
490         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
491         * modules/getpagesize (Files): Remove lib/getpagesize.h.
492         (Depends-on): Add unistd.
493         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
494         (Include): Use <unistd.h> instead of getpagesize.h.
495         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
496         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
497         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
498         gl_GETPAGESIZE invocation, already handled by module dependency.
499         * lib/pagealign_alloc.c: Don't include getpagesize.h.
500
501 2007-12-02  Bruno Haible  <bruno@clisp.org>
502
503         * modules/strings-tests: New file.
504         * tests/test-strings.c: New file.
505
506         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
507         * lib/strings.in.h: New file.
508         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
509         * m4/strings_h.m4: New file.
510         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
511         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
512         * modules/strings: New file.
513         * modules/string (Makefile.am): Update.
514         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
515         Reported by Karl Berry.
516
517 2007-12-01  Eric Blake  <ebb9@byu.net>
518
519         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
520         accomodate fix in cygwin 1.5.25.
521
522 2007-12-01  Jim Meyering  <meyering@redhat.com>
523
524         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
525         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
526         that would inhibit utf8-optimization of a regexp containing line-
527         or buffer-anchors, e.g., `^', `$'.
528
529 2007-11-30  Bruno Haible  <bruno@clisp.org>
530
531         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
532         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
533         glthread_recursive_lock_init.
534         * lib/lock.c (glthread_recursive_lock_init)
535         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
536         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
537
538 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
539
540         New function qset_acl, like set_acl but with syscall semantics.
541         * lib/acl.h (qset_acl): New decl.
542         * lib/acl.c (qset_acl): New function.
543         (set_acl): Use new function.  Use more-consistent diagnostics.
544
545 2007-11-28  Jim Meyering  <meyering@redhat.com>
546
547         * modules/physmem (License): Change from GPL to LGPLv2+.
548
549 2007-11-26  Bruno Haible  <bruno@clisp.org>
550
551         * lib/vasnprintf.c (decode_long_double): Don't abort if the
552         'long double' type has excess precision.
553         Reported by Jim Meyering in
554         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
555
556 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
557
558         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
559         Sync from <http://gnu.org/licenses>.
560         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
561         with license text from same location.
562         * doc/maintain.texi, doc/standards.texi:  Sync from
563         <http://savannah.gnu.org/projects/gnustandards>.
564
565 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
566         and Jim Meyering  <meyering@redhat.com>
567
568         Adjust getdate' grammar to accept a slightly more regular language.
569         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
570         Before, the former was rejected.
571         * lib/getdate.y (digits_to_date_time): New function, factored
572         out of ...
573         (number): ...here.  Just call digits_to_date_time.
574         (hybrid): New non-terminal to handle an <unsigned number,
575         signed relative offset> sequence consistently.
576
577 2007-11-18  Jim Meyering  <meyering@redhat.com>
578
579         Pull my changes from coreutils:
580         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
581         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
582         use of $gnulib_tool_option_extras, so that it's separated from the
583         preceding argument.
584
585         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
586         * build-aux/bootstrap (cp_mark_as_generated): Create any required
587         parent destination directories before copying a file into place.
588
589 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
590
591         bootstrap: work also with 4-argument variant of AC_INIT
592         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
593
594 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
595
596         Port test-getaddrinfo to Solaris.
597         Problem reported by Bruno Haible in
598         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
599         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
600         explanation of setting 'hints'.
601         Don't reject an implementation merely because it returns EAI_SERVICE.
602         (EAI_SERVICE): Define to 0 if not defined.
603
604 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
605
606         The license of gnu-make and posix-shell is now "GPLed build tool".
607         * modules/gnu-make (License): Likewise.
608         * modules/posix-shell (License): Likewise.
609
610         New module posix-shell, for determining a POSIX shell
611         or perhaps something that is close enough to a POSIX shell.
612         * m4/posix-shell.m4: New file.
613         * modules/posix-shell: New file.
614
615         * MODULES.html.sh: Mention new module.
616
617         New module gnu-make, for determining whether we're using GNU Make.
618         * m4/gnu-make.m4: New file.
619         * modules/gnu-make: New file.
620         * MODULES.html.sh: Mention new module.
621
622 2007-11-14  Jim Meyering  <meyering@redhat.com>
623
624         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
625         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
626         use this macro to create a function _definition_.
627         Remove useless "#undef ARGMATCH_DIE".
628
629 2007-11-14  Bruno Haible  <bruno@clisp.org>
630
631         * lib/config.charset: Update for OpenBSD 4.1.
632         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
633
634 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
635
636         Document 64-bit #if problems in stdint.texi.
637         * doc/headers/stdint.texi (stdint.h): Mention problems with
638         64-bit-#if, and how to work around them.
639
640         Don't insist on 'long long int' support in the preprocessor.  It
641         breaks too many things.  For example, PRIdMAX still uses a 'long
642         long int' format with the latest Sun compiler, even though
643         HAVE_LONG_LONG_INT isn't defined due to that compiler's
644         preprocessor problem.  This causes the latest coreutils to dump
645         core on Solaris 10 sparc with the Sun C compiler.
646         Instead, fix the 2007-10-16 problem in a different way, by evaluating
647         the troublesome expressions at configure-time, not at #if-time.
648         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
649         preprocessor.
650         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
651         compile-time C checks, done at 'configure'-time.
652         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
653         * modules/inttypes (Makefile): Substitute the new symbols that
654         gl_INTTYPES_H now generates.
655         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
656
657 2007-11-12  Bruno Haible  <bruno@clisp.org>
658
659         Tests for Unicode character classification functions.
660
661         * modules/unictype/bidicategory-byname-tests: New file.
662         * modules/unictype/bidicategory-name-tests: New file.
663         * modules/unictype/bidicategory-of-tests: New file.
664         * modules/unictype/bidicategory-test-tests: New file.
665         * modules/unictype/block-list-tests: New file.
666         * modules/unictype/block-of-tests: New file.
667         * modules/unictype/block-test-tests: New file.
668         * modules/unictype/category-C-tests: New file.
669         * modules/unictype/category-Cc-tests: New file.
670         * modules/unictype/category-Cf-tests: New file.
671         * modules/unictype/category-Cn-tests: New file.
672         * modules/unictype/category-Co-tests: New file.
673         * modules/unictype/category-Cs-tests: New file.
674         * modules/unictype/category-L-tests: New file.
675         * modules/unictype/category-Ll-tests: New file.
676         * modules/unictype/category-Lm-tests: New file.
677         * modules/unictype/category-Lo-tests: New file.
678         * modules/unictype/category-Lt-tests: New file.
679         * modules/unictype/category-Lu-tests: New file.
680         * modules/unictype/category-M-tests: New file.
681         * modules/unictype/category-Mc-tests: New file.
682         * modules/unictype/category-Me-tests: New file.
683         * modules/unictype/category-Mn-tests: New file.
684         * modules/unictype/category-N-tests: New file.
685         * modules/unictype/category-Nd-tests: New file.
686         * modules/unictype/category-Nl-tests: New file.
687         * modules/unictype/category-No-tests: New file.
688         * modules/unictype/category-P-tests: New file.
689         * modules/unictype/category-Pc-tests: New file.
690         * modules/unictype/category-Pd-tests: New file.
691         * modules/unictype/category-Pe-tests: New file.
692         * modules/unictype/category-Pf-tests: New file.
693         * modules/unictype/category-Pi-tests: New file.
694         * modules/unictype/category-Po-tests: New file.
695         * modules/unictype/category-Ps-tests: New file.
696         * modules/unictype/category-S-tests: New file.
697         * modules/unictype/category-Sc-tests: New file.
698         * modules/unictype/category-Sk-tests: New file.
699         * modules/unictype/category-Sm-tests: New file.
700         * modules/unictype/category-So-tests: New file.
701         * modules/unictype/category-Z-tests: New file.
702         * modules/unictype/category-Zl-tests: New file.
703         * modules/unictype/category-Zp-tests: New file.
704         * modules/unictype/category-Zs-tests: New file.
705         * modules/unictype/category-and-not-tests: New file.
706         * modules/unictype/category-and-tests: New file.
707         * modules/unictype/category-byname-tests: New file.
708         * modules/unictype/category-name-tests: New file.
709         * modules/unictype/category-none-tests: New file.
710         * modules/unictype/category-of-tests: New file.
711         * modules/unictype/category-or-tests: New file.
712         * modules/unictype/category-test-withtable-tests: New file.
713         * modules/unictype/combining-class-tests: New file.
714         * modules/unictype/ctype-alnum-tests: New file.
715         * modules/unictype/ctype-alpha-tests: New file.
716         * modules/unictype/ctype-blank-tests: New file.
717         * modules/unictype/ctype-cntrl-tests: New file.
718         * modules/unictype/ctype-digit-tests: New file.
719         * modules/unictype/ctype-graph-tests: New file.
720         * modules/unictype/ctype-lower-tests: New file.
721         * modules/unictype/ctype-print-tests: New file.
722         * modules/unictype/ctype-punct-tests: New file.
723         * modules/unictype/ctype-space-tests: New file.
724         * modules/unictype/ctype-upper-tests: New file.
725         * modules/unictype/ctype-xdigit-tests: New file.
726         * modules/unictype/decimal-digit-tests: New file.
727         * modules/unictype/digit-tests: New file.
728         * modules/unictype/mirror-tests: New file.
729         * modules/unictype/numeric-tests: New file.
730         * modules/unictype/property-alphabetic-tests: New file.
731         * modules/unictype/property-ascii-hex-digit-tests: New file.
732         * modules/unictype/property-bidi-arabic-digit-tests: New file.
733         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
734         * modules/unictype/property-bidi-block-separator-tests: New file.
735         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
736         * modules/unictype/property-bidi-common-separator-tests: New file.
737         * modules/unictype/property-bidi-control-tests: New file.
738         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
739         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
740         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
741         * modules/unictype/property-bidi-european-digit-tests: New file.
742         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
743         * modules/unictype/property-bidi-left-to-right-tests: New file.
744         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
745         * modules/unictype/property-bidi-other-neutral-tests: New file.
746         * modules/unictype/property-bidi-pdf-tests: New file.
747         * modules/unictype/property-bidi-segment-separator-tests: New file.
748         * modules/unictype/property-bidi-whitespace-tests: New file.
749         * modules/unictype/property-byname-tests: New file.
750         * modules/unictype/property-combining-tests: New file.
751         * modules/unictype/property-composite-tests: New file.
752         * modules/unictype/property-currency-symbol-tests: New file.
753         * modules/unictype/property-dash-tests: New file.
754         * modules/unictype/property-decimal-digit-tests: New file.
755         * modules/unictype/property-default-ignorable-code-point-tests: New file.
756         * modules/unictype/property-deprecated-tests: New file.
757         * modules/unictype/property-diacritic-tests: New file.
758         * modules/unictype/property-extender-tests: New file.
759         * modules/unictype/property-format-control-tests: New file.
760         * modules/unictype/property-grapheme-base-tests: New file.
761         * modules/unictype/property-grapheme-extend-tests: New file.
762         * modules/unictype/property-grapheme-link-tests: New file.
763         * modules/unictype/property-hex-digit-tests: New file.
764         * modules/unictype/property-hyphen-tests: New file.
765         * modules/unictype/property-id-continue-tests: New file.
766         * modules/unictype/property-id-start-tests: New file.
767         * modules/unictype/property-ideographic-tests: New file.
768         * modules/unictype/property-ids-binary-operator-tests: New file.
769         * modules/unictype/property-ids-trinary-operator-tests: New file.
770         * modules/unictype/property-ignorable-control-tests: New file.
771         * modules/unictype/property-iso-control-tests: New file.
772         * modules/unictype/property-join-control-tests: New file.
773         * modules/unictype/property-left-of-pair-tests: New file.
774         * modules/unictype/property-line-separator-tests: New file.
775         * modules/unictype/property-logical-order-exception-tests: New file.
776         * modules/unictype/property-lowercase-tests: New file.
777         * modules/unictype/property-math-tests: New file.
778         * modules/unictype/property-non-break-tests: New file.
779         * modules/unictype/property-not-a-character-tests: New file.
780         * modules/unictype/property-numeric-tests: New file.
781         * modules/unictype/property-other-alphabetic-tests: New file.
782         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
783         * modules/unictype/property-other-grapheme-extend-tests: New file.
784         * modules/unictype/property-other-id-continue-tests: New file.
785         * modules/unictype/property-other-id-start-tests: New file.
786         * modules/unictype/property-other-lowercase-tests: New file.
787         * modules/unictype/property-other-math-tests: New file.
788         * modules/unictype/property-other-uppercase-tests: New file.
789         * modules/unictype/property-paired-punctuation-tests: New file.
790         * modules/unictype/property-paragraph-separator-tests: New file.
791         * modules/unictype/property-pattern-syntax-tests: New file.
792         * modules/unictype/property-pattern-white-space-tests: New file.
793         * modules/unictype/property-private-use-tests: New file.
794         * modules/unictype/property-punctuation-tests: New file.
795         * modules/unictype/property-quotation-mark-tests: New file.
796         * modules/unictype/property-radical-tests: New file.
797         * modules/unictype/property-sentence-terminal-tests: New file.
798         * modules/unictype/property-soft-dotted-tests: New file.
799         * modules/unictype/property-space-tests: New file.
800         * modules/unictype/property-terminal-punctuation-tests: New file.
801         * modules/unictype/property-test-tests: New file.
802         * modules/unictype/property-titlecase-tests: New file.
803         * modules/unictype/property-unassigned-code-value-tests: New file.
804         * modules/unictype/property-unified-ideograph-tests: New file.
805         * modules/unictype/property-uppercase-tests: New file.
806         * modules/unictype/property-variation-selector-tests: New file.
807         * modules/unictype/property-white-space-tests: New file.
808         * modules/unictype/property-xid-continue-tests: New file.
809         * modules/unictype/property-xid-start-tests: New file.
810         * modules/unictype/property-zero-width-tests: New file.
811         * modules/unictype/scripts-tests: New file.
812         * modules/unictype/syntax-c-ident-tests: New file.
813         * modules/unictype/syntax-c-whitespace-tests: New file.
814         * modules/unictype/syntax-java-ident-tests: New file.
815         * modules/unictype/syntax-java-whitespace-tests: New file.
816         * tests/unictype/test-bidi_byname.c: New file.
817         * tests/unictype/test-bidi_name.c: New file.
818         * tests/unictype/test-bidi_of.c: New file.
819         * tests/unictype/test-bidi_test.c: New file.
820         * tests/unictype/test-block_list.c: New file.
821         * tests/unictype/test-block_of.c: New file.
822         * tests/unictype/test-block_test.c: New file.
823         * tests/unictype/test-categ_and.c: New file.
824         * tests/unictype/test-categ_and_not.c: New file.
825         * tests/unictype/test-categ_byname.c: New file.
826         * tests/unictype/test-categ_name.c: New file.
827         * tests/unictype/test-categ_none.c: New file.
828         * tests/unictype/test-categ_of.c: New file.
829         * tests/unictype/test-categ_or.c: New file.
830         * tests/unictype/test-categ_test_withtable.c: New file.
831         * tests/unictype/test-combining.c: New file.
832         * tests/unictype/test-decdigit.c: New file.
833         * tests/unictype/test-digit.c: New file.
834         * tests/unictype/test-mirror.c: New file.
835         * tests/unictype/test-numeric.c: New file.
836         * tests/unictype/test-pr_byname.c: New file.
837         * tests/unictype/test-pr_test.c: New file.
838         * tests/unictype/test-predicate-part1.h: New file.
839         * tests/unictype/test-predicate-part2.h: New file.
840         * tests/unictype/test-scripts.c: New file.
841         * tests/unictype/test-sy_c_ident.c: New file.
842         * tests/unictype/test-sy_java_ident.c: New file.
843
844         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
845         for Unicode 5.0.0.
846         * tests/unictype/test-categ_Cc.c: Likewise.
847         * tests/unictype/test-categ_Cf.c: Likewise.
848         * tests/unictype/test-categ_Cn.c: Likewise.
849         * tests/unictype/test-categ_Co.c: Likewise.
850         * tests/unictype/test-categ_Cs.c: Likewise.
851         * tests/unictype/test-categ_L.c: Likewise.
852         * tests/unictype/test-categ_Ll.c: Likewise.
853         * tests/unictype/test-categ_Lm.c: Likewise.
854         * tests/unictype/test-categ_Lo.c: Likewise.
855         * tests/unictype/test-categ_Lt.c: Likewise.
856         * tests/unictype/test-categ_Lu.c: Likewise.
857         * tests/unictype/test-categ_M.c: Likewise.
858         * tests/unictype/test-categ_Mc.c: Likewise.
859         * tests/unictype/test-categ_Me.c: Likewise.
860         * tests/unictype/test-categ_Mn.c: Likewise.
861         * tests/unictype/test-categ_N.c: Likewise.
862         * tests/unictype/test-categ_Nd.c: Likewise.
863         * tests/unictype/test-categ_Nl.c: Likewise.
864         * tests/unictype/test-categ_No.c: Likewise.
865         * tests/unictype/test-categ_P.c: Likewise.
866         * tests/unictype/test-categ_Pc.c: Likewise.
867         * tests/unictype/test-categ_Pd.c: Likewise.
868         * tests/unictype/test-categ_Pe.c: Likewise.
869         * tests/unictype/test-categ_Pf.c: Likewise.
870         * tests/unictype/test-categ_Pi.c: Likewise.
871         * tests/unictype/test-categ_Po.c: Likewise.
872         * tests/unictype/test-categ_Ps.c: Likewise.
873         * tests/unictype/test-categ_S.c: Likewise.
874         * tests/unictype/test-categ_Sc.c: Likewise.
875         * tests/unictype/test-categ_Sk.c: Likewise.
876         * tests/unictype/test-categ_Sm.c: Likewise.
877         * tests/unictype/test-categ_So.c: Likewise.
878         * tests/unictype/test-categ_Z.c: Likewise.
879         * tests/unictype/test-categ_Zl.c: Likewise.
880         * tests/unictype/test-categ_Zp.c: Likewise.
881         * tests/unictype/test-categ_Zs.c: Likewise.
882         * tests/unictype/test-ctype_alnum.c: Likewise.
883         * tests/unictype/test-ctype_alpha.c: Likewise.
884         * tests/unictype/test-ctype_blank.c: Likewise.
885         * tests/unictype/test-ctype_cntrl.c: Likewise.
886         * tests/unictype/test-ctype_digit.c: Likewise.
887         * tests/unictype/test-ctype_graph.c: Likewise.
888         * tests/unictype/test-ctype_lower.c: Likewise.
889         * tests/unictype/test-ctype_print.c: Likewise.
890         * tests/unictype/test-ctype_punct.c: Likewise.
891         * tests/unictype/test-ctype_space.c: Likewise.
892         * tests/unictype/test-ctype_upper.c: Likewise.
893         * tests/unictype/test-ctype_xdigit.c: Likewise.
894         * tests/unictype/test-decdigit.h: Likewise.
895         * tests/unictype/test-digit.h: Likewise.
896         * tests/unictype/test-numeric.h: Likewise.
897         * tests/unictype/test-pr_alphabetic.c: Likewise.
898         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
899         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
900         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
901         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
902         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
903         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
904         * tests/unictype/test-pr_bidi_control.c: Likewise.
905         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
906         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
907         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
908         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
909         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
910         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
911         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
912         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
913         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
914         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
915         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
916         * tests/unictype/test-pr_combining.c: Likewise.
917         * tests/unictype/test-pr_composite.c: Likewise.
918         * tests/unictype/test-pr_currency_symbol.c: Likewise.
919         * tests/unictype/test-pr_dash.c: Likewise.
920         * tests/unictype/test-pr_decimal_digit.c: Likewise.
921         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
922         * tests/unictype/test-pr_deprecated.c: Likewise.
923         * tests/unictype/test-pr_diacritic.c: Likewise.
924         * tests/unictype/test-pr_extender.c: Likewise.
925         * tests/unictype/test-pr_format_control.c: Likewise.
926         * tests/unictype/test-pr_grapheme_base.c: Likewise.
927         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
928         * tests/unictype/test-pr_grapheme_link.c: Likewise.
929         * tests/unictype/test-pr_hex_digit.c: Likewise.
930         * tests/unictype/test-pr_hyphen.c: Likewise.
931         * tests/unictype/test-pr_id_continue.c: Likewise.
932         * tests/unictype/test-pr_id_start.c: Likewise.
933         * tests/unictype/test-pr_ideographic.c: Likewise.
934         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
935         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
936         * tests/unictype/test-pr_ignorable_control.c: Likewise.
937         * tests/unictype/test-pr_iso_control.c: Likewise.
938         * tests/unictype/test-pr_join_control.c: Likewise.
939         * tests/unictype/test-pr_left_of_pair.c: Likewise.
940         * tests/unictype/test-pr_line_separator.c: Likewise.
941         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
942         * tests/unictype/test-pr_lowercase.c: Likewise.
943         * tests/unictype/test-pr_math.c: Likewise.
944         * tests/unictype/test-pr_non_break.c: Likewise.
945         * tests/unictype/test-pr_not_a_character.c: Likewise.
946         * tests/unictype/test-pr_numeric.c: Likewise.
947         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
948         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
949         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
950         * tests/unictype/test-pr_other_id_continue.c: Likewise.
951         * tests/unictype/test-pr_other_id_start.c: Likewise.
952         * tests/unictype/test-pr_other_lowercase.c: Likewise.
953         * tests/unictype/test-pr_other_math.c: Likewise.
954         * tests/unictype/test-pr_other_uppercase.c: Likewise.
955         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
956         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
957         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
958         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
959         * tests/unictype/test-pr_private_use.c: Likewise.
960         * tests/unictype/test-pr_punctuation.c: Likewise.
961         * tests/unictype/test-pr_quotation_mark.c: Likewise.
962         * tests/unictype/test-pr_radical.c: Likewise.
963         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
964         * tests/unictype/test-pr_soft_dotted.c: Likewise.
965         * tests/unictype/test-pr_space.c: Likewise.
966         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
967         * tests/unictype/test-pr_titlecase.c: Likewise.
968         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
969         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
970         * tests/unictype/test-pr_uppercase.c: Likewise.
971         * tests/unictype/test-pr_variation_selector.c: Likewise.
972         * tests/unictype/test-pr_white_space.c: Likewise.
973         * tests/unictype/test-pr_xid_continue.c: Likewise.
974         * tests/unictype/test-pr_xid_start.c: Likewise.
975         * tests/unictype/test-pr_zero_width.c: Likewise.
976         * tests/unictype/test-sy_c_whitespace.c: Likewise.
977         * tests/unictype/test-sy_java_whitespace.c: Likewise.
978
979 2007-11-12  Bruno Haible  <bruno@clisp.org>
980
981         Unicode character classification functions.
982         * lib/unictype.h: New file.
983         * modules/unictype/base: New file.
984         * modules/unictype/category-L: New file.
985         * modules/unictype/category-Lu: New file.
986         * modules/unictype/category-Ll: New file.
987         * modules/unictype/category-Lt: New file.
988         * modules/unictype/category-Lm: New file.
989         * modules/unictype/category-Lo: New file.
990         * modules/unictype/category-M: New file.
991         * modules/unictype/category-Mn: New file.
992         * modules/unictype/category-Mc: New file.
993         * modules/unictype/category-Me: New file.
994         * modules/unictype/category-N: New file.
995         * modules/unictype/category-Nd: New file.
996         * modules/unictype/category-Nl: New file.
997         * modules/unictype/category-No: New file.
998         * modules/unictype/category-P: New file.
999         * modules/unictype/category-Pc: New file.
1000         * modules/unictype/category-Pd: New file.
1001         * modules/unictype/category-Ps: New file.
1002         * modules/unictype/category-Pe: New file.
1003         * modules/unictype/category-Pi: New file.
1004         * modules/unictype/category-Pf: New file.
1005         * modules/unictype/category-Po: New file.
1006         * modules/unictype/category-S: New file.
1007         * modules/unictype/category-Sm: New file.
1008         * modules/unictype/category-Sc: New file.
1009         * modules/unictype/category-Sk: New file.
1010         * modules/unictype/category-So: New file.
1011         * modules/unictype/category-Z: New file.
1012         * modules/unictype/category-Zs: New file.
1013         * modules/unictype/category-Zl: New file.
1014         * modules/unictype/category-Zp: New file.
1015         * modules/unictype/category-C: New file.
1016         * modules/unictype/category-Cc: New file.
1017         * modules/unictype/category-Cf: New file.
1018         * modules/unictype/category-Cs: New file.
1019         * modules/unictype/category-Co: New file.
1020         * modules/unictype/category-Cn: New file.
1021         * modules/unictype/category-or: New file.
1022         * modules/unictype/category-of: New file.
1023         * modules/unictype/category-test: New file.
1024         * modules/unictype/category-test-withtable: New file.
1025         * modules/unictype/category-byname: New file.
1026         * modules/unictype/category-none: New file.
1027         * modules/unictype/category-and: New file.
1028         * modules/unictype/category-and-not: New file.
1029         * modules/unictype/category-name: New file.
1030         * modules/unictype/combining-class: New file.
1031         * modules/unictype/category-all: New file.
1032         * modules/unictype/bidicategory-all: New file.
1033         * modules/unictype/bidicategory-byname: New file.
1034         * modules/unictype/bidicategory-name: New file.
1035         * modules/unictype/bidicategory-of: New file.
1036         * modules/unictype/bidicategory-test: New file.
1037         * modules/unictype/decimal-digit: New file.
1038         * modules/unictype/digit: New file.
1039         * modules/unictype/numeric: New file.
1040         * modules/unictype/mirror: New file.
1041         * modules/unictype/property-white-space: New file.
1042         * modules/unictype/property-alphabetic: New file.
1043         * modules/unictype/property-other-alphabetic: New file.
1044         * modules/unictype/property-not-a-character: New file.
1045         * modules/unictype/property-default-ignorable-code-point: New file.
1046         * modules/unictype/property-other-default-ignorable-code-point: New
1047         file.
1048         * modules/unictype/property-deprecated: New file.
1049         * modules/unictype/property-logical-order-exception: New file.
1050         * modules/unictype/property-variation-selector: New file.
1051         * modules/unictype/property-private-use: New file.
1052         * modules/unictype/property-unassigned-code-value: New file.
1053         * modules/unictype/property-uppercase: New file.
1054         * modules/unictype/property-other-uppercase: New file.
1055         * modules/unictype/property-lowercase: New file.
1056         * modules/unictype/property-other-lowercase: New file.
1057         * modules/unictype/property-titlecase: New file.
1058         * modules/unictype/property-soft-dotted: New file.
1059         * modules/unictype/property-id-start: New file.
1060         * modules/unictype/property-other-id-start: New file.
1061         * modules/unictype/property-id-continue: New file.
1062         * modules/unictype/property-other-id-continue: New file.
1063         * modules/unictype/property-xid-start: New file.
1064         * modules/unictype/property-xid-continue: New file.
1065         * modules/unictype/property-pattern-white-space: New file.
1066         * modules/unictype/property-pattern-syntax: New file.
1067         * modules/unictype/property-join-control: New file.
1068         * modules/unictype/property-grapheme-base: New file.
1069         * modules/unictype/property-grapheme-extend: New file.
1070         * modules/unictype/property-other-grapheme-extend: New file.
1071         * modules/unictype/property-grapheme-link: New file.
1072         * modules/unictype/property-bidi-control: New file.
1073         * modules/unictype/property-bidi-left-to-right: New file.
1074         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
1075         * modules/unictype/property-bidi-arabic-right-to-left: New file.
1076         * modules/unictype/property-bidi-european-digit: New file.
1077         * modules/unictype/property-bidi-eur-num-separator: New file.
1078         * modules/unictype/property-bidi-eur-num-terminator: New file.
1079         * modules/unictype/property-bidi-arabic-digit: New file.
1080         * modules/unictype/property-bidi-common-separator: New file.
1081         * modules/unictype/property-bidi-block-separator: New file.
1082         * modules/unictype/property-bidi-segment-separator: New file.
1083         * modules/unictype/property-bidi-whitespace: New file.
1084         * modules/unictype/property-bidi-non-spacing-mark: New file.
1085         * modules/unictype/property-bidi-boundary-neutral: New file.
1086         * modules/unictype/property-bidi-pdf: New file.
1087         * modules/unictype/property-bidi-embedding-or-override: New file.
1088         * modules/unictype/property-bidi-other-neutral: New file.
1089         * modules/unictype/property-hex-digit: New file.
1090         * modules/unictype/property-ascii-hex-digit: New file.
1091         * modules/unictype/property-ideographic: New file.
1092         * modules/unictype/property-unified-ideograph: New file.
1093         * modules/unictype/property-radical: New file.
1094         * modules/unictype/property-ids-binary-operator: New file.
1095         * modules/unictype/property-ids-trinary-operator: New file.
1096         * modules/unictype/property-zero-width: New file.
1097         * modules/unictype/property-space: New file.
1098         * modules/unictype/property-non-break: New file.
1099         * modules/unictype/property-iso-control: New file.
1100         * modules/unictype/property-format-control: New file.
1101         * modules/unictype/property-dash: New file.
1102         * modules/unictype/property-hyphen: New file.
1103         * modules/unictype/property-punctuation: New file.
1104         * modules/unictype/property-line-separator: New file.
1105         * modules/unictype/property-paragraph-separator: New file.
1106         * modules/unictype/property-quotation-mark: New file.
1107         * modules/unictype/property-sentence-terminal: New file.
1108         * modules/unictype/property-terminal-punctuation: New file.
1109         * modules/unictype/property-currency-symbol: New file.
1110         * modules/unictype/property-math: New file.
1111         * modules/unictype/property-other-math: New file.
1112         * modules/unictype/property-paired-punctuation: New file.
1113         * modules/unictype/property-left-of-pair: New file.
1114         * modules/unictype/property-combining: New file.
1115         * modules/unictype/property-composite: New file.
1116         * modules/unictype/property-decimal-digit: New file.
1117         * modules/unictype/property-numeric: New file.
1118         * modules/unictype/property-diacritic: New file.
1119         * modules/unictype/property-extender: New file.
1120         * modules/unictype/property-ignorable-control: New file.
1121         * modules/unictype/property-test: New file.
1122         * modules/unictype/property-byname: New file.
1123         * modules/unictype/property-all: New file.
1124         * modules/unictype/scripts: New file.
1125         * modules/unictype/scripts-all: New file.
1126         * modules/unictype/block-of: New file.
1127         * modules/unictype/block-test: New file.
1128         * modules/unictype/block-list: New file.
1129         * modules/unictype/block-all: New file.
1130         * modules/unictype/syntax-c-whitespace: New file.
1131         * modules/unictype/syntax-java-whitespace: New file.
1132         * modules/unictype/syntax-c-ident: New file.
1133         * modules/unictype/syntax-java-ident: New file.
1134         * modules/unictype/ctype-alnum: New file.
1135         * modules/unictype/ctype-alpha: New file.
1136         * modules/unictype/ctype-cntrl: New file.
1137         * modules/unictype/ctype-digit: New file.
1138         * modules/unictype/ctype-graph: New file.
1139         * modules/unictype/ctype-lower: New file.
1140         * modules/unictype/ctype-print: New file.
1141         * modules/unictype/ctype-punct: New file.
1142         * modules/unictype/ctype-space: New file.
1143         * modules/unictype/ctype-upper: New file.
1144         * modules/unictype/ctype-xdigit: New file.
1145         * modules/unictype/ctype-blank: New file.
1146         * lib/unictype/bidi_byname.c: New file.
1147         * lib/unictype/bidi_name.c: New file.
1148         * lib/unictype/bidi_of.c: New file.
1149         * lib/unictype/bidi_test.c: New file.
1150         * lib/unictype/bitmap.h: New file.
1151         * lib/unictype/block_test.c: New file.
1152         * lib/unictype/blocks.c: New file.
1153         * lib/unictype/categ_C.c: New file.
1154         * lib/unictype/categ_Cc.c: New file.
1155         * lib/unictype/categ_Cf.c: New file.
1156         * lib/unictype/categ_Cn.c: New file.
1157         * lib/unictype/categ_Co.c: New file.
1158         * lib/unictype/categ_Cs.c: New file.
1159         * lib/unictype/categ_L.c: New file.
1160         * lib/unictype/categ_Ll.c: New file.
1161         * lib/unictype/categ_Lm.c: New file.
1162         * lib/unictype/categ_Lo.c: New file.
1163         * lib/unictype/categ_Lt.c: New file.
1164         * lib/unictype/categ_Lu.c: New file.
1165         * lib/unictype/categ_M.c: New file.
1166         * lib/unictype/categ_Mc.c: New file.
1167         * lib/unictype/categ_Me.c: New file.
1168         * lib/unictype/categ_Mn.c: New file.
1169         * lib/unictype/categ_N.c: New file.
1170         * lib/unictype/categ_Nd.c: New file.
1171         * lib/unictype/categ_Nl.c: New file.
1172         * lib/unictype/categ_No.c: New file.
1173         * lib/unictype/categ_P.c: New file.
1174         * lib/unictype/categ_Pc.c: New file.
1175         * lib/unictype/categ_Pd.c: New file.
1176         * lib/unictype/categ_Pe.c: New file.
1177         * lib/unictype/categ_Pf.c: New file.
1178         * lib/unictype/categ_Pi.c: New file.
1179         * lib/unictype/categ_Po.c: New file.
1180         * lib/unictype/categ_Ps.c: New file.
1181         * lib/unictype/categ_S.c: New file.
1182         * lib/unictype/categ_Sc.c: New file.
1183         * lib/unictype/categ_Sk.c: New file.
1184         * lib/unictype/categ_Sm.c: New file.
1185         * lib/unictype/categ_So.c: New file.
1186         * lib/unictype/categ_Z.c: New file.
1187         * lib/unictype/categ_Zl.c: New file.
1188         * lib/unictype/categ_Zp.c: New file.
1189         * lib/unictype/categ_Zs.c: New file.
1190         * lib/unictype/categ_and.c: New file.
1191         * lib/unictype/categ_and_not.c: New file.
1192         * lib/unictype/categ_byname.c: New file.
1193         * lib/unictype/categ_name.c: New file.
1194         * lib/unictype/categ_none.c: New file.
1195         * lib/unictype/categ_of.c: New file.
1196         * lib/unictype/categ_or.c: New file.
1197         * lib/unictype/categ_test.c: New file.
1198         * lib/unictype/combining.c: New file.
1199         * lib/unictype/ctype_alnum.c: New file.
1200         * lib/unictype/ctype_alpha.c: New file.
1201         * lib/unictype/ctype_blank.c: New file.
1202         * lib/unictype/ctype_cntrl.c: New file.
1203         * lib/unictype/ctype_digit.c: New file.
1204         * lib/unictype/ctype_graph.c: New file.
1205         * lib/unictype/ctype_lower.c: New file.
1206         * lib/unictype/ctype_print.c: New file.
1207         * lib/unictype/ctype_punct.c: New file.
1208         * lib/unictype/ctype_space.c: New file.
1209         * lib/unictype/ctype_upper.c: New file.
1210         * lib/unictype/ctype_xdigit.c: New file.
1211         * lib/unictype/decdigit.c: New file.
1212         * lib/unictype/digit.c: New file.
1213         * lib/unictype/identsyntaxmap.h: New file.
1214         * lib/unictype/mirror.c: New file.
1215         * lib/unictype/numeric.c: New file.
1216         * lib/unictype/pr_alphabetic.c: New file.
1217         * lib/unictype/pr_ascii_hex_digit.c: New file.
1218         * lib/unictype/pr_bidi_arabic_digit.c: New file.
1219         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
1220         * lib/unictype/pr_bidi_block_separator.c: New file.
1221         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
1222         * lib/unictype/pr_bidi_common_separator.c: New file.
1223         * lib/unictype/pr_bidi_control.c: New file.
1224         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
1225         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
1226         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
1227         * lib/unictype/pr_bidi_european_digit.c: New file.
1228         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
1229         * lib/unictype/pr_bidi_left_to_right.c: New file.
1230         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
1231         * lib/unictype/pr_bidi_other_neutral.c: New file.
1232         * lib/unictype/pr_bidi_pdf.c: New file.
1233         * lib/unictype/pr_bidi_segment_separator.c: New file.
1234         * lib/unictype/pr_bidi_whitespace.c: New file.
1235         * lib/unictype/pr_byname.c: New file.
1236         * lib/unictype/pr_byname.gperf: New file.
1237         * lib/unictype/pr_combining.c: New file.
1238         * lib/unictype/pr_composite.c: New file.
1239         * lib/unictype/pr_currency_symbol.c: New file.
1240         * lib/unictype/pr_dash.c: New file.
1241         * lib/unictype/pr_decimal_digit.c: New file.
1242         * lib/unictype/pr_default_ignorable_code_point.c: New file.
1243         * lib/unictype/pr_deprecated.c: New file.
1244         * lib/unictype/pr_diacritic.c: New file.
1245         * lib/unictype/pr_extender.c: New file.
1246         * lib/unictype/pr_format_control.c: New file.
1247         * lib/unictype/pr_grapheme_base.c: New file.
1248         * lib/unictype/pr_grapheme_extend.c: New file.
1249         * lib/unictype/pr_grapheme_link.c: New file.
1250         * lib/unictype/pr_hex_digit.c: New file.
1251         * lib/unictype/pr_hyphen.c: New file.
1252         * lib/unictype/pr_id_continue.c: New file.
1253         * lib/unictype/pr_id_start.c: New file.
1254         * lib/unictype/pr_ideographic.c: New file.
1255         * lib/unictype/pr_ids_binary_operator.c: New file.
1256         * lib/unictype/pr_ids_trinary_operator.c: New file.
1257         * lib/unictype/pr_ignorable_control.c: New file.
1258         * lib/unictype/pr_iso_control.c: New file.
1259         * lib/unictype/pr_join_control.c: New file.
1260         * lib/unictype/pr_left_of_pair.c: New file.
1261         * lib/unictype/pr_line_separator.c: New file.
1262         * lib/unictype/pr_logical_order_exception.c: New file.
1263         * lib/unictype/pr_lowercase.c: New file.
1264         * lib/unictype/pr_math.c: New file.
1265         * lib/unictype/pr_non_break.c: New file.
1266         * lib/unictype/pr_not_a_character.c: New file.
1267         * lib/unictype/pr_numeric.c: New file.
1268         * lib/unictype/pr_other_alphabetic.c: New file.
1269         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
1270         * lib/unictype/pr_other_grapheme_extend.c: New file.
1271         * lib/unictype/pr_other_id_continue.c: New file.
1272         * lib/unictype/pr_other_id_start.c: New file.
1273         * lib/unictype/pr_other_lowercase.c: New file.
1274         * lib/unictype/pr_other_math.c: New file.
1275         * lib/unictype/pr_other_uppercase.c: New file.
1276         * lib/unictype/pr_paired_punctuation.c: New file.
1277         * lib/unictype/pr_paragraph_separator.c: New file.
1278         * lib/unictype/pr_pattern_syntax.c: New file.
1279         * lib/unictype/pr_pattern_white_space.c: New file.
1280         * lib/unictype/pr_private_use.c: New file.
1281         * lib/unictype/pr_punctuation.c: New file.
1282         * lib/unictype/pr_quotation_mark.c: New file.
1283         * lib/unictype/pr_radical.c: New file.
1284         * lib/unictype/pr_sentence_terminal.c: New file.
1285         * lib/unictype/pr_soft_dotted.c: New file.
1286         * lib/unictype/pr_space.c: New file.
1287         * lib/unictype/pr_terminal_punctuation.c: New file.
1288         * lib/unictype/pr_test.c: New file.
1289         * lib/unictype/pr_titlecase.c: New file.
1290         * lib/unictype/pr_unassigned_code_value.c: New file.
1291         * lib/unictype/pr_unified_ideograph.c: New file.
1292         * lib/unictype/pr_uppercase.c: New file.
1293         * lib/unictype/pr_variation_selector.c: New file.
1294         * lib/unictype/pr_white_space.c: New file.
1295         * lib/unictype/pr_xid_continue.c: New file.
1296         * lib/unictype/pr_xid_start.c: New file.
1297         * lib/unictype/pr_zero_width.c: New file.
1298         * lib/unictype/scripts.c: New file.
1299         * lib/unictype/sy_c_ident.c: New file.
1300         * lib/unictype/sy_c_whitespace.c: New file.
1301         * lib/unictype/sy_java_ident.c: New file.
1302         * lib/unictype/sy_java_whitespace.c: New file.
1303
1304         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
1305         Unicode 5.0.0.
1306         * lib/unictype/blocks.h: Likewise.
1307         * lib/unictype/categ_C.h: Likewise.
1308         * lib/unictype/categ_Cc.h: Likewise.
1309         * lib/unictype/categ_Cf.h: Likewise.
1310         * lib/unictype/categ_Cn.h: Likewise.
1311         * lib/unictype/categ_Co.h: Likewise.
1312         * lib/unictype/categ_Cs.h: Likewise.
1313         * lib/unictype/categ_L.h: Likewise.
1314         * lib/unictype/categ_Ll.h: Likewise.
1315         * lib/unictype/categ_Lm.h: Likewise.
1316         * lib/unictype/categ_Lo.h: Likewise.
1317         * lib/unictype/categ_Lt.h: Likewise.
1318         * lib/unictype/categ_Lu.h: Likewise.
1319         * lib/unictype/categ_M.h: Likewise.
1320         * lib/unictype/categ_Mc.h: Likewise.
1321         * lib/unictype/categ_Me.h: Likewise.
1322         * lib/unictype/categ_Mn.h: Likewise.
1323         * lib/unictype/categ_N.h: Likewise.
1324         * lib/unictype/categ_Nd.h: Likewise.
1325         * lib/unictype/categ_Nl.h: Likewise.
1326         * lib/unictype/categ_No.h: Likewise.
1327         * lib/unictype/categ_P.h: Likewise.
1328         * lib/unictype/categ_Pc.h: Likewise.
1329         * lib/unictype/categ_Pd.h: Likewise.
1330         * lib/unictype/categ_Pe.h: Likewise.
1331         * lib/unictype/categ_Pf.h: Likewise.
1332         * lib/unictype/categ_Pi.h: Likewise.
1333         * lib/unictype/categ_Po.h: Likewise.
1334         * lib/unictype/categ_Ps.h: Likewise.
1335         * lib/unictype/categ_S.h: Likewise.
1336         * lib/unictype/categ_Sc.h: Likewise.
1337         * lib/unictype/categ_Sk.h: Likewise.
1338         * lib/unictype/categ_Sm.h: Likewise.
1339         * lib/unictype/categ_So.h: Likewise.
1340         * lib/unictype/categ_Z.h: Likewise.
1341         * lib/unictype/categ_Zl.h: Likewise.
1342         * lib/unictype/categ_Zp.h: Likewise.
1343         * lib/unictype/categ_Zs.h: Likewise.
1344         * lib/unictype/categ_of.h: Likewise.
1345         * lib/unictype/combining.h: Likewise.
1346         * lib/unictype/ctype_alnum.h: Likewise.
1347         * lib/unictype/ctype_alpha.h: Likewise.
1348         * lib/unictype/ctype_blank.h: Likewise.
1349         * lib/unictype/ctype_cntrl.h: Likewise.
1350         * lib/unictype/ctype_digit.h: Likewise.
1351         * lib/unictype/ctype_graph.h: Likewise.
1352         * lib/unictype/ctype_lower.h: Likewise.
1353         * lib/unictype/ctype_print.h: Likewise.
1354         * lib/unictype/ctype_punct.h: Likewise.
1355         * lib/unictype/ctype_space.h: Likewise.
1356         * lib/unictype/ctype_upper.h: Likewise.
1357         * lib/unictype/ctype_xdigit.h: Likewise.
1358         * lib/unictype/decdigit.h: Likewise.
1359         * lib/unictype/digit.h: Likewise.
1360         * lib/unictype/mirror.h: Likewise.
1361         * lib/unictype/numeric.h: Likewise.
1362         * lib/unictype/pr_alphabetic.h: Likewise.
1363         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
1364         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
1365         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
1366         * lib/unictype/pr_bidi_block_separator.h: Likewise.
1367         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
1368         * lib/unictype/pr_bidi_common_separator.h: Likewise.
1369         * lib/unictype/pr_bidi_control.h: Likewise.
1370         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
1371         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
1372         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
1373         * lib/unictype/pr_bidi_european_digit.h: Likewise.
1374         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
1375         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
1376         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
1377         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
1378         * lib/unictype/pr_bidi_pdf.h: Likewise.
1379         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
1380         * lib/unictype/pr_bidi_whitespace.h: Likewise.
1381         * lib/unictype/pr_combining.h: Likewise.
1382         * lib/unictype/pr_composite.h: Likewise.
1383         * lib/unictype/pr_currency_symbol.h: Likewise.
1384         * lib/unictype/pr_dash.h: Likewise.
1385         * lib/unictype/pr_decimal_digit.h: Likewise.
1386         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
1387         * lib/unictype/pr_deprecated.h: Likewise.
1388         * lib/unictype/pr_diacritic.h: Likewise.
1389         * lib/unictype/pr_extender.h: Likewise.
1390         * lib/unictype/pr_format_control.h: Likewise.
1391         * lib/unictype/pr_grapheme_base.h: Likewise.
1392         * lib/unictype/pr_grapheme_extend.h: Likewise.
1393         * lib/unictype/pr_grapheme_link.h: Likewise.
1394         * lib/unictype/pr_hex_digit.h: Likewise.
1395         * lib/unictype/pr_hyphen.h: Likewise.
1396         * lib/unictype/pr_id_continue.h: Likewise.
1397         * lib/unictype/pr_id_start.h: Likewise.
1398         * lib/unictype/pr_ideographic.h: Likewise.
1399         * lib/unictype/pr_ids_binary_operator.h: Likewise.
1400         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
1401         * lib/unictype/pr_ignorable_control.h: Likewise.
1402         * lib/unictype/pr_iso_control.h: Likewise.
1403         * lib/unictype/pr_join_control.h: Likewise.
1404         * lib/unictype/pr_left_of_pair.h: Likewise.
1405         * lib/unictype/pr_line_separator.h: Likewise.
1406         * lib/unictype/pr_logical_order_exception.h: Likewise.
1407         * lib/unictype/pr_lowercase.h: Likewise.
1408         * lib/unictype/pr_math.h: Likewise.
1409         * lib/unictype/pr_non_break.h: Likewise.
1410         * lib/unictype/pr_not_a_character.h: Likewise.
1411         * lib/unictype/pr_numeric.h: Likewise.
1412         * lib/unictype/pr_other_alphabetic.h: Likewise.
1413         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
1414         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
1415         * lib/unictype/pr_other_id_continue.h: Likewise.
1416         * lib/unictype/pr_other_id_start.h: Likewise.
1417         * lib/unictype/pr_other_lowercase.h: Likewise.
1418         * lib/unictype/pr_other_math.h: Likewise.
1419         * lib/unictype/pr_other_uppercase.h: Likewise.
1420         * lib/unictype/pr_paired_punctuation.h: Likewise.
1421         * lib/unictype/pr_paragraph_separator.h: Likewise.
1422         * lib/unictype/pr_pattern_syntax.h: Likewise.
1423         * lib/unictype/pr_pattern_white_space.h: Likewise.
1424         * lib/unictype/pr_private_use.h: Likewise.
1425         * lib/unictype/pr_punctuation.h: Likewise.
1426         * lib/unictype/pr_quotation_mark.h: Likewise.
1427         * lib/unictype/pr_radical.h: Likewise.
1428         * lib/unictype/pr_sentence_terminal.h: Likewise.
1429         * lib/unictype/pr_soft_dotted.h: Likewise.
1430         * lib/unictype/pr_space.h: Likewise.
1431         * lib/unictype/pr_terminal_punctuation.h: Likewise.
1432         * lib/unictype/pr_titlecase.h: Likewise.
1433         * lib/unictype/pr_unassigned_code_value.h: Likewise.
1434         * lib/unictype/pr_unified_ideograph.h: Likewise.
1435         * lib/unictype/pr_uppercase.h: Likewise.
1436         * lib/unictype/pr_variation_selector.h: Likewise.
1437         * lib/unictype/pr_white_space.h: Likewise.
1438         * lib/unictype/pr_xid_continue.h: Likewise.
1439         * lib/unictype/pr_xid_start.h: Likewise.
1440         * lib/unictype/pr_zero_width.h: Likewise.
1441         * lib/unictype/scripts.h: Likewise.
1442         * lib/unictype/scripts_byname.gperf: Likewise.
1443         * lib/unictype/sy_c_ident.h: Likewise.
1444         * lib/unictype/sy_c_whitespace.h: Likewise.
1445         * lib/unictype/sy_java_ident.h: Likewise.
1446         * lib/unictype/sy_java_whitespace.h: Likewise.
1447
1448         * lib/unictype/Makefile: New file.
1449         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
1450         glibc.
1451         * lib/unictype/3level.h: New file, copied from glibc.
1452         * lib/unictype/3levelbit.h: New file.
1453
1454 2007-11-11  Bruno Haible  <bruno@clisp.org>
1455
1456         * modules/gperf: New file.
1457         * modules/iconv_open (Depends-on): Add it.
1458         (Makefile.am): Remove the GPERF definition.
1459
1460 2007-11-11  Bruno Haible  <bruno@clisp.org>
1461
1462         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
1463         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
1464
1465 2007-11-11  Bruno Haible  <bruno@clisp.org>
1466
1467         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
1468         (usage): Remove function.
1469
1470 2007-11-11  Bruno Haible  <bruno@clisp.org>
1471
1472         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
1473         gl_FUNC_CEILF_LIBS.
1474         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
1475         gl_FUNC_CEIL_LIBS.
1476         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
1477         gl_FUNC_CEILL_LIBS.
1478         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
1479         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
1480         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
1481
1482 2007-11-11  Bruno Haible  <bruno@clisp.org>
1483
1484         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
1485         roundf were declared but do not exist on functions.
1486         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
1487         roundl were declared but do not exist on functions.
1488         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
1489         HAVE_FLOORL_AND_CEILL, respectively.
1490         Needed for Sun C on Solaris 10.
1491
1492 2007-11-11  Bruno Haible  <bruno@clisp.org>
1493
1494         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
1495         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
1496         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
1497         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
1498         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
1499         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
1500         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
1501         HAVE_DECL_ROUNDF.
1502         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
1503         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
1504         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
1505         of HAVE_DECL_ROUND*.
1506         * modules/math (Makefile.am): Update.
1507
1508 2007-11-10  Bruno Haible  <bruno@clisp.org>
1509
1510         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
1511         ptrdiff_t as m4/intl.m4.
1512
1513 2007-11-10  Jim Meyering  <meyering@redhat.com>
1514
1515         Avoid link failure for the argmatch test.
1516         * tests/test-argmatch.c (usage): Define function to avoid a link
1517         failure: argmatch_die requires a usage function.
1518
1519 2007-11-09  Bruno Haible  <bruno@clisp.org>
1520
1521         * doc/functions/snprintf.texi: Mention BeOS deficiency.
1522         * doc/functions/vsnprintf.texi: Likewise.
1523         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
1524         with a size argument < 2.
1525
1526 2007-11-09  Bruno Haible  <bruno@clisp.org>
1527
1528         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
1529         buffer. Fixes an inefficiency introduced on 2007-11-03.
1530
1531 2007-11-09  Bruno Haible  <bruno@clisp.org>
1532
1533         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
1534         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
1535
1536 2007-11-08  Jim Meyering  <meyering@redhat.com>
1537
1538         Change cache variable name prefix "jm_" to "gl_" everywhere.
1539         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
1540         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
1541         * m4/uptime.m4: s/gl_/jm_/
1542
1543 2007-11-07  Bruno Haible  <bruno@clisp.org>
1544
1545         Update to GNU gettext 0.17.
1546         * m4/intl.m4: Update to GNU gettext 0.17.
1547         * m4/po.m4: Likewise.
1548         * modules/gettext (Files): Remove m4/ulonglong.m4.
1549         (configure.ac): Require gettext infrastructure from version 0.17.
1550
1551 2007-11-06  Bruno Haible  <bruno@clisp.org>
1552
1553         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
1554         symbolic values are not defined in a public header.
1555         * lib/freadable.c (freadable) [QNX]: Likewise.
1556         * lib/freadahead.c (freadahead) [QNX]: Likewise.
1557         * lib/freading.c (freading) [QNX]: Likewise.
1558         * lib/fseterr.c (fseterr) [QNX]: Likewise.
1559         * lib/fwritable.c (fwritable) [QNX]: Likewise.
1560         * lib/fwriting.c (fwriting) [QNX]: Likewise.
1561         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
1562         Reported by Alain Magloire.
1563
1564         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
1565
1566 2007-11-05  Bruno Haible  <bruno@clisp.org>
1567
1568         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
1569         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
1570         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
1571         Reported by Eric Blake.
1572
1573 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1574             Bruno Haible  <bruno@clisp.org>
1575
1576         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
1577         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
1578         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
1579         (malloc): Undefine also before including <stdlib.h>.
1580         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
1581         Needed on OSF/1 4.0.
1582
1583 2007-11-05  Jim Meyering  <meyering@redhat.com>
1584
1585         git-version-gen: sync from coreutils.
1586         * build-aux/git-version-gen: Add comments.
1587         Change the first '-' to '.' in the snapshot version string,
1588         e.g., 6.9-377-08144 -> 6.9.377-08144
1589         Remove first parameter.
1590         Don't declare a version "-dirty" merely because a time
1591         stamp has changed.
1592
1593 2007-11-04  Bruno Haible  <bruno@clisp.org>
1594
1595         * lib/lock.h: Protect all macro definitions containing an 'if'
1596         statement through a "do { ... } while (0)".
1597         * lib/tls.h: Likewise.
1598
1599 2007-11-04  Bruno Haible  <bruno@clisp.org>
1600
1601         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
1602
1603 2007-11-04  Bruno Haible  <bruno@clisp.org>
1604
1605         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
1606         * modules/fprintf-posix (Depends-on): Add nocrash.
1607         * modules/snprintf-posix (Depends-on): Likewise.
1608         * modules/sprintf-posix (Depends-on): Likewise.
1609         * modules/vasnprintf-posix (Depends-on): Likewise.
1610         * modules/vasprintf-posix (Depends-on): Likewise.
1611         * modules/vfprintf-posix (Depends-on): Likewise.
1612         * modules/vsnprintf-posix (Depends-on): Likewise.
1613         * modules/vsprintf-posix (Depends-on): Likewise.
1614         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
1615         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
1616         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
1617         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
1618         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
1619         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
1620         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
1621
1622 2007-11-04  Bruno Haible  <bruno@clisp.org>
1623
1624         * modules/nocrash: New file.
1625         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
1626         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
1627
1628 2007-11-04  Bruno Haible  <bruno@clisp.org>
1629
1630         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
1631         precision handling.
1632         * tests/test-vasprintf-posix.c (test_function): Likewise.
1633         * tests/test-snprintf-posix.h (test_function): Likewise.
1634         * tests/test-sprintf-posix.h (test_function): Likewise.
1635
1636         Fix *printf behaviour for large precisions on mingw and BeOS.
1637         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
1638         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
1639         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
1640         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
1641         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
1642         gl_PRINTF_PRECISION and test its result. Invoke
1643         gl_PREREQ_VASNPRINTF_PRECISION.
1644         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
1645         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
1646         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
1647         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
1648         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
1649         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
1650         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
1651         * doc/functions/fprintf.texi: Update.
1652         * doc/functions/printf.texi: Update.
1653         * doc/functions/snprintf.texi: Update.
1654         * doc/functions/sprintf.texi: Update.
1655         * doc/functions/vfprintf.texi: Update.
1656         * doc/functions/vprintf.texi: Update.
1657         * doc/functions/vsnprintf.texi: Update.
1658         * doc/functions/vsprintf.texi: Update.
1659
1660 2007-11-04  Bruno Haible  <bruno@clisp.org>
1661
1662         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
1663
1664 2007-11-04  Bruno Haible  <bruno@clisp.org>
1665
1666         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
1667         Reported by Sylvain Beucler <beuc@gnu.org>.
1668
1669 2007-11-03  Bruno Haible  <bruno@clisp.org>
1670
1671         * tests/test-fprintf-posix2.sh: New file.
1672         * tests/test-fprintf-posix2.c: New file.
1673         * modules/fprintf-posix-tests (Files): Add them.
1674         (TESTS): Add test-fprintf-posix2.sh.
1675         (configure.ac): Check for getrlimit and setrlimit.
1676         (check_PROGRAMS): Add test-fprintf-posix2.
1677
1678         * tests/test-printf-posix2.sh: New file.
1679         * tests/test-printf-posix2.c: New file.
1680         * modules/printf-posix-tests (Files): Add them.
1681         (TESTS): Add test-printf-posix2.sh.
1682         (configure.ac): Check for getrlimit and setrlimit.
1683         (check_PROGRAMS): Add test-printf-posix2.
1684
1685         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
1686         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
1687         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
1688         (decode_double): New function, copied from decode_long_double.
1689         (scale10_round_decimal_decoded): New function, extracted from
1690         scale10_round_decimal_long_double.
1691         (scale10_round_decimal_long_double): Use it.
1692         (scale10_round_decimal_double): New function.
1693         (floorlog10): New function.
1694         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
1695         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
1696         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
1697         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
1698         gl_PRINTF_ENOMEM and test its result. Invoke
1699         gl_PREREQ_VASNPRINTF_ENOMEM.
1700         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
1701         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
1702         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
1703         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
1704         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
1705         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
1706         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
1707         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
1708         * modules/snprintf-posix (Depends-on): Likewise.
1709         * modules/sprintf-posix (Depends-on): Likewise.
1710         * modules/vasnprintf-posix (Depends-on): Likewise.
1711         * modules/vasprintf-posix (Depends-on): Likewise.
1712         * modules/vfprintf-posix (Depends-on): Likewise.
1713         * modules/vsnprintf-posix (Depends-on): Likewise.
1714         * modules/vsprintf-posix (Depends-on): Likewise.
1715         * doc/functions/fprintf.texi: Update.
1716         * doc/functions/printf.texi: Update.
1717         * doc/functions/snprintf.texi: Update.
1718         * doc/functions/sprintf.texi: Update.
1719         * doc/functions/vfprintf.texi: Update.
1720         * doc/functions/vprintf.texi: Update.
1721         * doc/functions/vsnprintf.texi: Update.
1722         * doc/functions/vsprintf.texi: Update.
1723
1724 2007-11-03  Bruno Haible  <bruno@clisp.org>
1725
1726         * modules/frexp-nolibm-tests: New file.
1727
1728         * modules/frexp-nolibm: New file.
1729         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
1730
1731 2007-11-03  Bruno Haible  <bruno@clisp.org>
1732
1733         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
1734         value is C99 compliant.
1735         Needed for OSF/1 5.1.
1736
1737 2007-11-03  Bruno Haible  <bruno@clisp.org>
1738
1739         Fix out-of-memory handling of vasnprintf.
1740         * lib/printf-parse.c: Include <errno.h>.
1741         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
1742         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
1743         is already set.
1744
1745 2007-11-02  Eric Blake  <ebb9@byu.net>
1746
1747         Fix tests on cygwin.
1748         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
1749
1750 2007-11-01  Bruno Haible  <bruno@clisp.org>
1751
1752         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
1753         warning.
1754         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
1755         needed for POSIX compatibility.
1756
1757 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
1758
1759         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
1760         for compatibility with GNU.
1761
1762 2007-11-01  Bruno Haible  <bruno@clisp.org>
1763
1764         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
1765         (putenv): Renamed from rpl_putenv. Change argument type from
1766         'const char *' to 'char *'.
1767         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
1768         of defining putenv in config.h, just set REPLACE_PUTENV.
1769         * modules/putenv (Depends-on): Add stdlib.
1770         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
1771         (Include): Use <stdlib.h>.
1772         * lib/stdlib.in.h (putenv): New declaration.
1773         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
1774         REPLACE_PUTENV.
1775         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
1776         REPLACE_PUTENV.
1777         Needed for MacOS X 10.5.0.
1778         Reported by Peter O'Gorman <peter@pogma.com>.
1779
1780 2007-11-01  Jim Meyering  <meyering@redhat.com>
1781
1782         Treat an empty date string exactly like "0".
1783         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
1784         if the remaining date string (to be parsed) is empty, use "0".
1785         Reported by Mischa Molhoek and discussed in this thread:
1786         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
1787
1788 2007-10-31  Bruno Haible  <bruno@clisp.org>
1789
1790         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
1791         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
1792         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
1793         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
1794         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
1795         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
1796
1797 2007-10-31  Bruno Haible  <bruno@clisp.org>
1798
1799         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
1800         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
1801         (AC_TYPE_LONG_LONG_INT): Use it.
1802         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
1803         it as well.
1804         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
1805         to m4/longlong.m4.
1806         * modules/stdint (Files): Remove m4/ulonglong.m4.
1807         * modules/strtoull (Files): Use m4/longlong.m4 instead of
1808         m4/ulonglong.m4.
1809         * modules/strtoumax (Files): Likewise.
1810
1811 2007-10-30  Bruno Haible  <bruno@clisp.org>
1812
1813         * modules/xvasprintf-posix: New file.
1814         Suggested by Eric Blake.
1815
1816 2007-10-30  Bruno Haible  <bruno@clisp.org>
1817
1818         * modules/xprintf-posix-tests: New file.
1819         * tests/test-xprintf-posix.sh: New file.
1820         * tests/test-xprintf-posix.c: New file.
1821         * tests/test-xfprintf-posix.c: New file.
1822
1823         * modules/xprintf-posix: New file.
1824
1825 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1826
1827         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
1828         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
1829         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
1830
1831 2007-10-29  Bruno Haible  <bruno@clisp.org>
1832
1833         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
1834         contain the special marker '_cv_'.
1835         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
1836         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
1837         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
1838         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
1839         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
1840         Reported by Ralf Wildenhues.
1841
1842 2007-10-29  Bruno Haible  <bruno@clisp.org>
1843
1844         * gnulib-tool (func_import): When --lgpl is not specified, set
1845         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
1846         GPLv3.
1847         Reported by Simon Josefsson.
1848
1849 2007-10-28  Bruno Haible  <bruno@clisp.org>
1850
1851         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
1852         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
1853         HAVE_DECL_ISFINITE.
1854         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
1855         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
1856         HAVE_DECL_ISFINITE.
1857
1858 2007-10-28  Bruno Haible  <bruno@clisp.org>
1859
1860         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
1861         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
1862
1863 2007-10-28  Bruno Haible  <bruno@clisp.org>
1864
1865         Fix link errors with Sun C 5.0 on Solaris 10.
1866         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
1867         function is declared but not present in the compiler's libm.
1868         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
1869         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
1870         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
1871         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
1872         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
1873         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
1874         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
1875         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
1876         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
1877         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
1878         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
1879         HAVE_DECL_FLOORL.
1880
1881 2007-10-28  Bruno Haible  <bruno@clisp.org>
1882
1883         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
1884         gl_FUNC_FLOORL. Cache the result.
1885         (gl_FUNC_FLOORL): Use it.
1886         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
1887         gl_FUNC_CEILL. Cache the result.
1888         (gl_FUNC_CEILL): Use it.
1889
1890         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
1891         gl_FUNC_FLOOR. Cache the result.
1892         (gl_FUNC_FLOOR): Use it.
1893         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
1894         gl_FUNC_CEIL. Cache the result.
1895         (gl_FUNC_CEIL): Use it.
1896
1897         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
1898         gl_FUNC_FLOORF. Cache the result.
1899         (gl_FUNC_FLOORF): Use it.
1900         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
1901         gl_FUNC_CEILF. Cache the result.
1902         (gl_FUNC_CEILF): Use it.
1903
1904 2007-10-28  Bruno Haible  <bruno@clisp.org>
1905
1906         * gnulib-tool: Allow specifying the LGPL version number through
1907         --lgpl=2 or --lgpl=3.
1908         (func_usage): Document --lgpl with argument.
1909         Handle --lgpl=... arguments.
1910         (func_import): Recognize also gl_LGPL calls with an argument. When
1911         --lgpl=2 is used and the module's license is just LGPL, report an
1912         error. Set sed_transform_lib_file according to the lgpl variable. In
1913         the generated files, use --lgpl or gl_LGPL invocations with argument,
1914         if necessary.
1915         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
1916         an LGPv2+ license.
1917         * doc/gnulib-tool.texi (Modified imports): Update explanation of
1918         gl_LGPL macro.
1919
1920 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1921             Bruno Haible  <bruno@clisp.org>
1922
1923         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
1924         (u16_uctomb_aux): Likewise.
1925         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
1926         !HAVE_INLINE.
1927         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
1928
1929 2007-10-28  Bruno Haible  <bruno@clisp.org>
1930
1931         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
1932         Invoke AM_GETTEXT_OPTION if it exists.
1933         * modules/vasprintf: Likewise.
1934         * modules/verror: Likewise.
1935         * modules/xprintf: Likewise.
1936         * modules/xvasprintf: Likewise.
1937
1938 2007-10-27  Ben Pfaff  <blp@gnu.org>
1939
1940         * lib/math.in.h: Define isfinite macro and prototypes for
1941         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
1942         implementations.
1943         * m4/math_h.m4: New substitutions for isfinite module.
1944         * lib/isfinite.c: New file.
1945         * m4/isfinite.m4: New file.
1946         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
1947         * modules/isfinite: New file.
1948         * modules/isfinite-tests: New file.
1949         * tests/tests-isfinite.c: New file.
1950         * doc/functions/isfinite.texi: Mention isfinite module.
1951         * MODULES.html.sh: Mention new module.
1952
1953 2007-10-27  Ben Pfaff  <blp@gnu.org>
1954
1955         Ralf Wildenhues reported that Tru64 4.0D declares the round
1956         functions but does not have definitions.
1957         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
1958         cannot be found in any library, set the output variable to
1959         "missing" instead of "".
1960         * m4/round.m4: Also use our substitute if we cannot find round in
1961         any library, even if it is declared.
1962         * m4/roundf.m4: Likewise for roundf.
1963         * m4/roundl.m4: Likewise for roundl.
1964         * lib/math.in.h: Undefine roundf, round, roundl before defining
1965         their replacements, to allow for hypothetical systems where these
1966         may be defined as macros but not available in libraries.
1967
1968 2007-10-27  Bruno Haible  <bruno@clisp.org>
1969
1970         * doc/gnulib.texi: Invoke @firstparagraphindent.
1971         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
1972         changes in gnulib.
1973         (Source changes): New section.
1974
1975 2007-10-26  Bruno Haible  <bruno@clisp.org>
1976
1977         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
1978         borrowed from autoconf.
1979
1980 2007-10-26  Bruno Haible  <bruno@clisp.org>
1981
1982         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
1983         strerror returned the empty string. Needed on HP-UX 11.00.
1984
1985 2007-10-24  Micah Cowan  <micah@cowan.name>
1986
1987         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
1988         * build-aux/bootstrap: Remove support for now-unnecessary option,
1989         --cvs-user, and envvars CVS_USER, CVS_RSH.
1990
1991 2007-10-24  Jim Meyering  <meyering@redhat.com>
1992
1993         Avoid diagnostics from sha1sum when there is no cached checksum.
1994         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
1995         if the po.s1 file hasn't been created yet.
1996
1997         * build-aux/bootstrap: Sync from coreutils:
1998         2007-10-24  Jim Meyering  <meyering@redhat.com>
1999         Get gnulib from the git repository, not from an obsolete cvs one.
2000         * build-aux/bootstrap: Suggestion from Micah Cowan.
2001         2007-10-04  Jim Meyering  <jim@meyering.net>
2002         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
2003         (update_po_files): Work also when there are no .po files in po/.
2004
2005 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
2006
2007         * README: Append ".git" to git and cg examples.
2008         Problem reported by Benoit Sigoure.
2009
2010 2007-10-23  Micah Cowan  <micah@cowan.name>
2011
2012         * users.txt: Add wget.
2013
2014 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2015
2016         Fix linking of some unistdio tests on FreeBSD.
2017         * modules/unistdio/u16-vsnprintf-tests
2018         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
2019         * modules/unistdio/u16-vsprintf-tests
2020         (test_u16_vsnprintf1_LDADD): Likewise.
2021         * modules/unistdio/u32-vsnprintf-tests
2022         (test_u32_vsnprintf1_LDADD): Likewise.
2023         * modules/unistdio/u32-vsprintf-tests
2024         (test_u32_vsprintf1_LDADD): Likewise.
2025         * modules/unistdio/u8-vsnprintf-tests
2026         (test_u8_vsnprintf1_LDADD): Likewise.
2027         * modules/unistdio/u8-vsprintf-tests
2028         (test_u8_vsprintf1_LDADD): Likewise.
2029         * modules/unistdio/ulc-vsnprintf-tests
2030         (test_ulc_vsnprintf1_LDADD): Likewise.
2031         * modules/unistdio/ulc-vsprintf-tests
2032         (test_ulc_vsprintf1_LDADD): Likewise.
2033
2034         Fix linking of some uniconv tests on FreeBSD.
2035         * modules/uniconv/u16-conv-from-enc-tests
2036         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
2037         * modules/uniconv/u16-conv-to-enc-tests
2038         (test_u16_conv_to_enc_LDADD): Likewise.
2039         * modules/uniconv/u16-strconv-from-enc-tests
2040         (test_u16_strconv_from_enc_LDADD): Likewise.
2041         * modules/uniconv/u16-strconv-to-enc-tests
2042         (test_u16_strconv_to_enc_LDADD): Likewise.
2043         * modules/uniconv/u32-conv-from-enc-tests
2044         (test_u32_conv_from_enc_LDADD): Likewise.
2045         * modules/uniconv/u32-conv-to-enc-tests
2046         (test_u32_conv_to_enc_LDADD): Likewise.
2047         * modules/uniconv/u32-strconv-from-enc-tests
2048         (test_u32_strconv_from_enc_LDADD): Likewise.
2049         * modules/uniconv/u32-strconv-to-enc-tests
2050         (test_u32_strconv_to_enc_LDADD): Likewise.
2051         * modules/uniconv/u8-conv-from-enc-tests
2052         (test_u8_conv_from_enc_LDADD): Likewise.
2053         * modules/uniconv/u8-conv-to-enc-tests
2054         (test_u8_conv_to_enc_LDADD): Likewise.
2055         * modules/uniconv/u8-strconv-from-enc-tests
2056         (test_u8_strconv_from_enc_LDADD): Likewise.
2057         * modules/uniconv/u8-strconv-to-enc-tests
2058         (test_u8_strconv_to_enc_LDADD): Likewise.
2059
2060 2007-10-22  Bruno Haible  <bruno@clisp.org>
2061
2062         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
2063         size.
2064
2065 2007-10-22  Eric Blake  <ebb9@byu.net>
2066
2067         Tweak x*printf documentation.
2068         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
2069         variable name and comments.
2070         Suggested by Bruno Haible.
2071
2072 2007-10-22  Bruno Haible  <bruno@clisp.org>
2073
2074         * lib/acl.c (copy_acl): Fix file name in comment.
2075
2076 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
2077
2078         Fix Tru64 problem with stdbool.h.
2079         * lib/stdbool.in.h (false, true):
2080         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
2081         Don't declare as an enum in this situation; it runs afoul of Tru64.
2082         Problem reported by Steven M. Schweda in
2083         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
2084
2085 2007-10-22  Eric Blake  <ebb9@byu.net>
2086
2087         Also wrap vf?printf.
2088         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
2089         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
2090         (xvprintf, xvfprintf): New functions.
2091
2092 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2093
2094         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
2095         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
2096
2097         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
2098         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
2099
2100 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
2101
2102         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
2103         by Bruno Haible.
2104
2105 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2106
2107         * lib/getloadavg.c
2108         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
2109         Undef `sys' after including sys/table.h, for Tru64 4.0D.
2110
2111         * tests/test-i-ring.c: Work for C89.
2112
2113 2007-10-22  Bruno Haible  <bruno@clisp.org>
2114
2115         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
2116         -1u, in preprocessor expression, so that we don't test for the bug
2117         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
2118         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
2119
2120 2007-10-22  Eric Blake  <ebb9@byu.net>
2121
2122         * tests/test-yesno.sh: Silence stderr during test.
2123
2124 2007-10-22  Simon Josefsson  <simon@josefsson.org>
2125
2126         * modules/crypto/gc-camellia: New file.
2127
2128         * m4/gc-camellia.m4: New file.
2129
2130         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
2131
2132         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
2133
2134 2007-10-22  Simon Josefsson  <simon@josefsson.org>
2135
2136         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
2137         --help to stdout.  Reported by sms@antinode.org (Steven
2138         M. Schweda).
2139
2140 2007-10-22  Simon Josefsson  <simon@josefsson.org>
2141
2142         * users.txt: Fix link to libksba.
2143
2144 2007-10-21  Ben Pfaff  <blp@gnu.org>
2145
2146         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
2147         round.c roundf implementation that depends on floorf and ceilf to
2148         be tested unconditionally.
2149
2150 2007-10-21  Ben Pfaff  <blp@gnu.org>
2151
2152         * m4/check-libm-func.m4: Removed.
2153         * m4/check-math-lib.m4: New file.
2154         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
2155         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
2156         definition and lack of AC_LIBOBJ([roundf]).
2157         * m4/roundl.m4: Ditto, and similarly for roundl.
2158         * modules/round: Reference new m4 file.
2159         * modules/roundf: Ditto.
2160         * modules/roundl: Ditto.
2161         * tests/test-round2.c (main): Use ROUND instead of round.
2162         Bug report from Bruno Haible.
2163
2164 2007-10-21  Bruno Haible  <bruno@clisp.org>
2165
2166         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
2167         context.
2168
2169 2007-10-21  Bruno Haible  <bruno@clisp.org>
2170
2171         * tests/test-wcwidth.c (main): Allow negative result for some control
2172         characters.
2173
2174         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
2175         Needed on OSF/1 5.1.
2176
2177 2007-10-21  Bruno Haible  <bruno@clisp.org>
2178
2179         * tests/test-floorf1.c: Include isnanf.h.
2180         (main): Use isnanf() instead of isnan().
2181         * tests/test-ceilf1.c: Include isnanf.h.
2182         (main): Use isnanf() instead of isnan().
2183         * tests/test-truncf1.c: Include isnanf.h.
2184         (main): Use isnanf() instead of isnan().
2185         * tests/test-roundf1.c: Include isnanf.h.
2186         (main): Use isnanf() instead of isnan().
2187
2188 2007-10-21  Eric Blake  <ebb9@byu.net>
2189
2190         * users.txt: Update URL for m4.
2191
2192 2007-10-21  Bruno Haible  <bruno@clisp.org>
2193
2194         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
2195
2196 2007-10-21  Bruno Haible  <bruno@clisp.org>
2197
2198         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
2199         Git's management files if the CVS files are not present.
2200
2201 2007-10-20  Bruno Haible  <bruno@clisp.org>
2202
2203         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
2204         gcc-3.4.x.
2205
2206 2007-10-20  Ben Pfaff  <blp@gnu.org>
2207
2208         * lib/math.in.h: Declare round, roundf, roundl if we are providing
2209         implementations.
2210         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
2211         * lib/round.c: New file.
2212         * lib/roundf.c: New file.
2213         * lib/roundl.c: New file.
2214         * m4/round.m4: New file.
2215         * m4/roundf.m4: New file.
2216         * m4/roundl.m4: New file.
2217         * m4/check-libm-func-m4: New file.
2218         * modules/math: Replace round, roundf, roundl related @VARS@ in
2219         math.in.h.
2220         * modules/round: New file.
2221         * modules/round-tests: New file.
2222         * modules/roundf: New file.
2223         * modules/roundf-tests: New file.
2224         * modules/roundl: New file.
2225         * modules/roundl-tests: New file.
2226         * tests/test-round1.c: New file.
2227         * tests/test-round2.c: New file.
2228         * tests/test-roundf1.c: New file.
2229         * tests/test-roundf2.c: New file.
2230         * tests/test-roundl.c: New file.
2231         * doc/functions/round.texi: Mention round module.
2232         * doc/functions/roundf.texi: Mention roundf module.
2233         * doc/functions/roundl.texi: Mention roundl module.
2234         * MODULES.html.sh: Mention new modules.
2235         Thanks to Bruno Haible for suggestions.
2236
2237 2007-10-20  Jim Meyering  <meyering@redhat.com>
2238
2239         * lib/xprintf.c: Include <config.h> unconditionally.
2240
2241         Change xprintf's license to GPL.
2242         * modules/xprintf (License): s/LGPL/GPL/, since this module
2243         depends on modules (exit and exitfail) which are GPL.
2244         Suggestion from Bruno Haible.
2245
2246         xprintf fixes.
2247         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
2248         Use a clearer diagnostic.
2249         Patch from Bruno Haible.
2250
2251 2007-10-20  Bruno Haible  <bruno@clisp.org>
2252
2253         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
2254         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
2255         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
2256
2257 2007-10-20  Bruno Haible  <bruno@clisp.org>
2258
2259         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
2260         precision in the comparison result > x - 1 or similar.
2261         * tests/test-ceilf2.c (correct_result_p): Likewise.
2262         * tests/test-truncf2.c (correct_result_p): Likewise.
2263         * tests/test-trunc2.c (correct_result_p): Likewise.
2264         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
2265
2266 2007-10-20  Bruno Haible  <bruno@clisp.org>
2267
2268         * modules/ceil: New file.
2269         * m4/ceil.m4: New file.
2270         * doc/functions/ceil.texi: Mention the 'ceil' module.
2271
2272 2007-10-20  Bruno Haible  <bruno@clisp.org>
2273
2274         * modules/floor: New file.
2275         * m4/floor.m4: New file.
2276         * doc/functions/floor.texi: Mention the 'floor' module.
2277
2278 2007-10-20  Bruno Haible  <bruno@clisp.org>
2279
2280         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
2281         of %a.
2282         * modules/floorf-tests (Depends-on): Likewise.
2283         * modules/truncf-tests (Depends-on): Likewise.
2284         * modules/trunc-tests (Depends-on): Likewise.
2285         Reported by Ben Pfaff.
2286
2287 2007-10-19  Jim Meyering  <meyering@redhat.com>
2288
2289         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
2290         Don't bother testing specific errno values.  Just test ferror.
2291
2292         New module: xprintf
2293         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
2294
2295 2007-10-19  Bruno Haible  <bruno@clisp.org>
2296
2297         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
2298         syntax.
2299         * modules/javaexec (Makefile.am): Likewise.
2300         * modules/relocatable-prog (Makefile.am): Likewise.
2301         Suggested by Jim Meyering.
2302
2303 2007-10-18  Bruno Haible  <bruno@clisp.org>
2304
2305         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
2306         Reported by Jim Meyering.
2307
2308 2007-10-18  Eric Blake  <ebb9@byu.net>
2309
2310         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
2311
2312 2007-10-18  Bruno Haible  <bruno@clisp.org>
2313
2314         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
2315         the format string into writable memory. Needed in Fortify conditions.
2316
2317 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
2318             Bruno Haible  <bruno@clisp.org>
2319
2320         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
2321         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
2322         * modules/trim (Depends-on): Add mbchar.
2323         (configure.ac): Add gl_FUNC_MBRTOWC.
2324         (Makefile.am): Augment lib_SOURCES.
2325
2326 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
2327
2328         Modify glob.c to use fstatat and dirfd, to simplify it.
2329         Suggested by Eric Blake.
2330         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
2331         Don't include <stdbool.h>; not used.
2332         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
2333         (link_exists_p): Simplify implementation, since we can now assume
2334         dirfd and fstatat.
2335         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
2336
2337 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2338
2339         * gnulib-tool (func_get_dependencies): Fix sed script to
2340         match only tests.
2341
2342 2007-10-17  Bruno Haible  <bruno@clisp.org>
2343
2344         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
2345         allow locale names without encoding suffix.
2346         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
2347         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
2348
2349 2007-10-16  Bruno Haible  <bruno@clisp.org>
2350
2351         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
2352         * lib/getgroups.c (getgroups): Likewise.
2353         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
2354
2355 2007-10-16  Bruno Haible  <bruno@clisp.org>
2356
2357         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
2358         * modules/malloc-posix (License): Likewise.
2359         * modules/realloc-posix (License): Likewise.
2360         * modules/calloc-posix (License): Likewise.
2361         * modules/intprops (License): Change from GPL to LGPL, with
2362         Paul Eggert's approval.
2363
2364 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
2365
2366         Merge glibc changes into lib/glob.c.
2367
2368         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
2369         2007-10-15 04:59:03 UTC.  Here are the changes:
2370
2371         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
2372
2373         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
2374
2375         * lib/glob.c: Add some branch prediction throughout.
2376
2377         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
2378
2379         [BZ #5103]
2380         * lib/glob.c (glob): Recognize patterns starting \/.
2381
2382         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
2383
2384         [BZ #3996]
2385         * lib/glob.c (attribute_hidden): Define if not defined.
2386         (glob): Unescape dirname, filename or username when needed and not
2387         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
2388         is NULL.  Handle unescaped [ in pattern without closing ].
2389         Don't pass GLOB_CHECK down to recursive glob for directories.
2390         (__glob_pattern_type): New function.
2391         (__glob_pattern_p): Implement using __glob_pattern_type.
2392         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
2393         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
2394         Remove unreachable code.
2395
2396         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
2397
2398         * lib/glob.c (glob_in_dir): Add some comments and asserts to
2399         explain why there are no leaks.
2400
2401         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
2402
2403         [BZ #3253]
2404         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
2405         time, rather allocate increasingly bigger arrays of pointers, if
2406         possible with alloca, if too large with malloc.
2407
2408 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
2409
2410         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
2411         Problem reported by H.Merijn Brand in
2412         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
2413         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
2414         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
2415
2416 2007-10-15  Bruno Haible  <bruno@clisp.org>
2417
2418         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
2419         with explicit rpl_ prefix.
2420         * lib/fopen.c (fopen): Likewise.
2421         * lib/freopen.c (freopen): Likewise.
2422         * lib/iconv.c (iconv): Likewise.
2423         * lib/iconv_close.c (iconv_close): Likewise.
2424
2425 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2426
2427         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
2428
2429 2007-10-15  Bruno Haible  <bruno@clisp.org>
2430
2431         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
2432         <stddef.h> instead of <stdlib.h> since we only need NULL.
2433         Reported by Ben Pfaff <blp@cs.stanford.edu>.
2434
2435 2007-10-15  Bruno Haible  <bruno@clisp.org>
2436
2437         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
2438         Replace paragraph talking about LIBOBJS.
2439         Reported by Colin Watson <cjwatson@debian.org>.
2440
2441 2007-10-15  Bruno Haible  <bruno@clisp.org>
2442
2443         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
2444         <stdlib.h> before using NULL.
2445
2446 2007-10-15  Simon Josefsson  <simon@josefsson.org>
2447
2448         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
2449         Reported by Albert Chin <china@thewrittenword.com>.
2450
2451 2007-10-14  Bruno Haible  <bruno@clisp.org>
2452
2453         * modules/iconv_open-utf-tests: New file.
2454         * tests/test-iconv-utf.c: New file.
2455
2456         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
2457         * modules/iconv_open-utf: New file.
2458         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
2459         (iconv, iconv_close): New declarations.
2460         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
2461         be defined.
2462         (iconv_open): Add special handling of conversion between UTF-8 and
2463         UTF-{16,32}{BE,LE}.
2464         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
2465         * lib/iconv_close.c: New file.
2466         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
2467         gl_FUNC_ICONV_OPEN.
2468         (gl_FUNC_ICONV_OPEN): Use it.
2469         (gl_FUNC_ICONV_OPEN_UTF): New macro.
2470         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
2471         and REPLACE_ICONV_UTF.
2472         * modules/iconv_open (Depends-on): Add c-strcase.
2473         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
2474         ICONV_CONST.
2475         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
2476
2477 2007-10-13  Albert Chin  <china@thewrittenword.com>
2478             Bruno Haible  <bruno@clisp.org>
2479
2480         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
2481         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
2482
2483 2007-10-13  Bruno Haible  <bruno@clisp.org>
2484
2485         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
2486         defined, use the ISO C99 inline semantics.
2487         * lib/argp.h (ARGP_EI): Likewise.
2488
2489 2007-10-13  Bruno Haible  <bruno@clisp.org>
2490
2491         Handle 'inline' change in gcc 4.3.0.
2492         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
2493         argp_fmtstream_write, argp_fmtstream_set_lmargin,
2494         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
2495         argp_fmtstream_point): Disable 'extern' declaration if the function
2496         definition is going to be provided inline.
2497         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
2498         semantics, not the ISO C99 inline semantics.
2499         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
2500         'extern' declaration if the function definition is going to be provided
2501         inline.
2502         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
2503         the GNU C inline semantics, not the ISO C99 inline semantics. With
2504         GCC 4.2, avoid a warning.
2505
2506 2007-10-13  Bruno Haible  <bruno@clisp.org>
2507
2508         * lib/freading.h (freading): Enable the use of __freading for
2509         glibc >= 2.7.
2510         * lib/freading.c (freading): Likewise.
2511
2512 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
2513
2514         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
2515         "warning: C99 inline functions are not supported; using GNU89".
2516
2517 2007-10-12  Bruno Haible  <bruno@clisp.org>
2518
2519         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
2520         of 2.
2521         * tests/test-ceilf2.c: New file.
2522         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
2523
2524         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
2525         * modules/ceilf-tests: Update.
2526
2527 2007-10-12  Bruno Haible  <bruno@clisp.org>
2528
2529         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
2530         of 2.
2531         * tests/test-floorf2.c: New file.
2532         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
2533
2534         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
2535         * modules/floorf-tests: Update.
2536
2537 2007-10-12  Bruno Haible  <bruno@clisp.org>
2538
2539         * tests/test-trunc2.c: New file.
2540         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
2541
2542         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
2543         * modules/trunc-tests: Update.
2544
2545 2007-10-12  Bruno Haible  <bruno@clisp.org>
2546
2547         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
2548         of 2.
2549         * tests/test-truncf2.c: New file.
2550         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
2551
2552         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
2553         * modules/truncf-tests: Update.
2554
2555 2007-10-11  Eric Blake  <ebb9@byu.net>
2556
2557         Don't claim strerror is broken on Interix.
2558         * doc/functions/strerror.texi (strerror): Known broken systems are
2559         now Solaris 8, and not Interix.
2560         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
2561         Interix on cross-compile.
2562         Reported by Martin Koeppe in
2563         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
2564
2565 2007-10-11  Bruno Haible  <bruno@clisp.org>
2566
2567         * modules/i-ring-tests: New file.
2568         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
2569         instead of assert.
2570
2571 2007-10-11  Bruno Haible  <bruno@clisp.org>
2572
2573         * modules/filenamecat-tests: New file.
2574         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
2575         * lib/filenamecat.c: Remove test code.
2576
2577 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
2578
2579         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
2580
2581         * lib/strerror.c: Include <string.h> always, to test interface,
2582         and to remove the need for the dummy.
2583         Include intprops.h to compute width instead of doing it ourselves
2584         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
2585         (strerror): Define it to return NULL if there's no system strerror.
2586         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
2587         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
2588         ancient pre-strerror Unix systems well any more.  Saying "unknown
2589         system error" is enough.
2590         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
2591         simpler strerror.c implementation.
2592         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
2593         Simplify the tests to reflect the simpler strerror implementation.
2594         * modules/strerror (Depends-on): Add intprops.
2595
2596 2007-10-09  Eric Blake  <ebb9@byu.net>
2597
2598         Silence test-fpending.
2599         * modules/fpending-tests (Files): Add wrapper script.
2600         * tests/test-fpending.sh: New file.
2601
2602 2007-10-09  Bruno Haible  <bruno@clisp.org>
2603
2604         * MODULES.html.sh (func_module): Don't create a hyperlink for
2605         function names like 'printf_frexp'.
2606         (Misc): Add crc, memxor.
2607         (Characteristics of floating types): New section.
2608         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
2609         isnanf-nolibm, signbit, trunc, truncf, truncl.
2610         (Enhancements for ISO C 99 functions): New subsection Input/output.
2611         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
2612         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
2613         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
2614         (Compatibility checks for POSIX:2001 functions): Add clock-time.
2615         (Enhancements for POSIX:2001 functions): Add chdir-long.
2616         (File system functions): Add areadlink, chdir-safer, read-file.
2617         Remove cycle-check.
2618         (File system as inode set): New section.
2619         (Date and time): Add gethrxtime.
2620         (Multithreading): Add openmp.
2621         (Internationalization functions): Add localename.
2622         (Unicode string functions): Add unistr/u*-mbsnlen.
2623         (Support for maintaining and releasing projects): Add git-version-gen.
2624         (Lone files): Remove directories.
2625
2626 2007-10-08  Ben Pfaff  <blp@gnu.org>
2627
2628         * lib/xmalloca.h: Fix typo in comment.
2629
2630 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
2631
2632         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
2633         when avoiding problems with integer overflow.  Use a portable test
2634         instead.
2635
2636 2007-10-08  Simon Josefsson  <simon@josefsson.org>
2637
2638         * modules/dummy (License): Change to LGPLv2+.
2639         * modules/float (License): Likewise
2640         * modules/realloc (License): Likewise
2641         * modules/stdlib (License): Likewise
2642
2643 2007-10-07  Bruno Haible  <bruno@clisp.org>
2644
2645         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
2646         * floor.c (TWO_MANT_DIG): Likewise.
2647         * ceil.c (TWO_MANT_DIG): Likewise.
2648         Reported by Ben Pfaff.
2649
2650 2007-10-07  Bruno Haible  <bruno@clisp.org>
2651
2652         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
2653         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
2654         * lib/frexp.c (FUNC): Likewise.
2655         * lib/printf-frexp.h (printf_frexp): Likewise.
2656         * lib/printf-frexpl.h (printf_frexpl): Likewise.
2657         * lib/printf-frexp.c (FUNC): Likewise.
2658         Suggested by Jim Meyering.
2659
2660 2007-10-07  Jim Meyering  <meyering@redhat.com>
2661
2662         Make xnanosleep's integer overflow test more robust.
2663         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
2664         so that gcc-4.3.0 doesn't optimize away this test for overflow.
2665
2666 2007-10-07  Bruno Haible  <bruno@clisp.org>
2667
2668         * NEWS: Mention the license change.
2669
2670         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
2671         abbreviations in the modules files.
2672
2673         Change copyright notice from GPLv2+ to GPLv3+.
2674         * README: Change copyright notice.
2675         * MODULES.html.sh: Likewise.
2676         * build-aux/bootstrap.conf: Likewise.
2677         * build-aux/config.libpath: Likewise.
2678         * build-aux/csharpcomp.sh.in: Likewise.
2679         * build-aux/csharpexec.sh.in: Likewise.
2680         * build-aux/install-reloc: Likewise.
2681         * build-aux/javacomp.sh.in: Likewise.
2682         * build-aux/javaexec.sh.in: Likewise.
2683         * build-aux/ldd.sh.in: Likewise.
2684         * build-aux/reloc-ldflags: Likewise.
2685         * build-aux/relocatable.sh.in: Likewise.
2686         * build-aux/x-to-1.in: Likewise.
2687         * check-module: Likewise.
2688         * config/srclistvars.sh: Likewise.
2689         * gnulib-tool: Likewise.
2690         * lib/acl-internal.h: Likewise.
2691         * lib/acl.c: Likewise.
2692         * lib/acl.h: Likewise.
2693         * lib/acl_entries.c: Likewise.
2694         * lib/areadlink-with-size.c: Likewise.
2695         * lib/areadlink.c: Likewise.
2696         * lib/areadlink.h: Likewise.
2697         * lib/argmatch.c: Likewise.
2698         * lib/argmatch.h: Likewise.
2699         * lib/argp-ba.c: Likewise.
2700         * lib/argp-eexst.c: Likewise.
2701         * lib/argp-fmtstream.c: Likewise.
2702         * lib/argp-fmtstream.h: Likewise.
2703         * lib/argp-fs-xinl.c: Likewise.
2704         * lib/argp-help.c: Likewise.
2705         * lib/argp-namefrob.h: Likewise.
2706         * lib/argp-parse.c: Likewise.
2707         * lib/argp-pin.c: Likewise.
2708         * lib/argp-pv.c: Likewise.
2709         * lib/argp-pvh.c: Likewise.
2710         * lib/argp-xinl.c: Likewise.
2711         * lib/argp.h: Likewise.
2712         * lib/at-func.c: Likewise.
2713         * lib/atanl.c: Likewise.
2714         * lib/backupfile.c: Likewise.
2715         * lib/backupfile.h: Likewise.
2716         * lib/basename.c: Likewise.
2717         * lib/binary-io.h: Likewise.
2718         * lib/byteswap.in.h: Likewise.
2719         * lib/c-stack.c: Likewise.
2720         * lib/c-stack.h: Likewise.
2721         * lib/c-strcasestr.c: Likewise.
2722         * lib/c-strcasestr.h: Likewise.
2723         * lib/c-strstr.c: Likewise.
2724         * lib/c-strstr.h: Likewise.
2725         * lib/c-strtod.c: Likewise.
2726         * lib/calloc.c: Likewise.
2727         * lib/canon-host.c: Likewise.
2728         * lib/canon-host.h: Likewise.
2729         * lib/canonicalize-lgpl.c: Likewise.
2730         * lib/canonicalize.c: Likewise.
2731         * lib/canonicalize.h: Likewise.
2732         * lib/ceil.c: Likewise.
2733         * lib/ceilf.c: Likewise.
2734         * lib/ceill.c: Likewise.
2735         * lib/chdir-long.c: Likewise.
2736         * lib/chdir-long.h: Likewise.
2737         * lib/chdir-safer.c: Likewise.
2738         * lib/chdir-safer.h: Likewise.
2739         * lib/chown.c: Likewise.
2740         * lib/classpath.c: Likewise.
2741         * lib/classpath.h: Likewise.
2742         * lib/clean-temp.c: Likewise.
2743         * lib/clean-temp.h: Likewise.
2744         * lib/cloexec.c: Likewise.
2745         * lib/close-stream.c: Likewise.
2746         * lib/closein.c: Likewise.
2747         * lib/closein.h: Likewise.
2748         * lib/closeout.c: Likewise.
2749         * lib/closeout.h: Likewise.
2750         * lib/concat-filename.c: Likewise.
2751         * lib/copy-file.c: Likewise.
2752         * lib/copy-file.h: Likewise.
2753         * lib/count-one-bits.h: Likewise.
2754         * lib/crc.c: Likewise.
2755         * lib/crc.h: Likewise.
2756         * lib/creat-safer.c: Likewise.
2757         * lib/csharpcomp.c: Likewise.
2758         * lib/csharpcomp.h: Likewise.
2759         * lib/csharpexec.c: Likewise.
2760         * lib/csharpexec.h: Likewise.
2761         * lib/cycle-check.c: Likewise.
2762         * lib/cycle-check.h: Likewise.
2763         * lib/diacrit.c: Likewise.
2764         * lib/diacrit.h: Likewise.
2765         * lib/diffseq.h: Likewise.
2766         * lib/dirchownmod.c: Likewise.
2767         * lib/dirent.in.h: Likewise.
2768         * lib/dirfd.c: Likewise.
2769         * lib/dirfd.h: Likewise.
2770         * lib/dirname.c: Likewise.
2771         * lib/dirname.h: Likewise.
2772         * lib/dummy.c: Likewise.
2773         * lib/dup-safer.c: Likewise.
2774         * lib/dup2.c: Likewise.
2775         * lib/eealloc.h: Likewise.
2776         * lib/error.c: Likewise.
2777         * lib/error.h: Likewise.
2778         * lib/euidaccess.c: Likewise.
2779         * lib/exclude.c: Likewise.
2780         * lib/exclude.h: Likewise.
2781         * lib/execute.c: Likewise.
2782         * lib/execute.h: Likewise.
2783         * lib/exitfail.c: Likewise.
2784         * lib/exitfail.h: Likewise.
2785         * lib/expl.c: Likewise.
2786         * lib/fatal-signal.c: Likewise.
2787         * lib/fatal-signal.h: Likewise.
2788         * lib/fbufmode.c: Likewise.
2789         * lib/fbufmode.h: Likewise.
2790         * lib/fchdir.c: Likewise.
2791         * lib/fchmodat.c: Likewise.
2792         * lib/fchownat.c: Likewise.
2793         * lib/fcntl--.h: Likewise.
2794         * lib/fcntl-safer.h: Likewise.
2795         * lib/fcntl.in.h: Likewise.
2796         * lib/fd-safer.c: Likewise.
2797         * lib/fflush.c: Likewise.
2798         * lib/file-has-acl.c: Likewise.
2799         * lib/file-set.c: Likewise.
2800         * lib/file-type.c: Likewise.
2801         * lib/file-type.h: Likewise.
2802         * lib/fileblocks.c: Likewise.
2803         * lib/filemode.c: Likewise.
2804         * lib/filemode.h: Likewise.
2805         * lib/filename.h: Likewise.
2806         * lib/filenamecat.c: Likewise.
2807         * lib/filenamecat.h: Likewise.
2808         * lib/findprog.c: Likewise.
2809         * lib/findprog.h: Likewise.
2810         * lib/float.in.h: Likewise.
2811         * lib/floor.c: Likewise.
2812         * lib/floorf.c: Likewise.
2813         * lib/floorl.c: Likewise.
2814         * lib/fopen-safer.c: Likewise.
2815         * lib/fopen.c: Likewise.
2816         * lib/fpending.c: Likewise.
2817         * lib/fpending.h: Likewise.
2818         * lib/fprintf.c: Likewise.
2819         * lib/fprintftime.h: Likewise.
2820         * lib/fpucw.h: Likewise.
2821         * lib/fpurge.c: Likewise.
2822         * lib/fpurge.h: Likewise.
2823         * lib/freadable.c: Likewise.
2824         * lib/freadable.h: Likewise.
2825         * lib/freadahead.c: Likewise.
2826         * lib/freadahead.h: Likewise.
2827         * lib/freading.c: Likewise.
2828         * lib/freading.h: Likewise.
2829         * lib/free.c: Likewise.
2830         * lib/freopen.c: Likewise.
2831         * lib/frexp.c: Likewise.
2832         * lib/frexpl.c: Likewise.
2833         * lib/fseek.c: Likewise.
2834         * lib/fseterr.c: Likewise.
2835         * lib/fseterr.h: Likewise.
2836         * lib/fstatat.c: Likewise.
2837         * lib/fstrcmp.c: Likewise.
2838         * lib/fstrcmp.h: Likewise.
2839         * lib/fsusage.c: Likewise.
2840         * lib/fsusage.h: Likewise.
2841         * lib/ftell.c: Likewise.
2842         * lib/ftello.c: Likewise.
2843         * lib/fts-cycle.c: Likewise.
2844         * lib/fts.c: Likewise.
2845         * lib/fts_.h: Likewise.
2846         * lib/full-read.c: Likewise.
2847         * lib/full-read.h: Likewise.
2848         * lib/full-write.c: Likewise.
2849         * lib/full-write.h: Likewise.
2850         * lib/fwritable.c: Likewise.
2851         * lib/fwritable.h: Likewise.
2852         * lib/fwriteerror.c: Likewise.
2853         * lib/fwriteerror.h: Likewise.
2854         * lib/fwriting.c: Likewise.
2855         * lib/fwriting.h: Likewise.
2856         * lib/gcd.c: Likewise.
2857         * lib/gcd.h: Likewise.
2858         * lib/getcwd.c: Likewise.
2859         * lib/getdate.h: Likewise.
2860         * lib/getdate.y: Likewise.
2861         * lib/getdomainname.c: Likewise.
2862         * lib/getdomainname.h: Likewise.
2863         * lib/getgroups.c: Likewise.
2864         * lib/gethostname.c: Likewise.
2865         * lib/gethrxtime.c: Likewise.
2866         * lib/gethrxtime.h: Likewise.
2867         * lib/getloadavg.c: Likewise.
2868         * lib/getndelim2.c: Likewise.
2869         * lib/getndelim2.h: Likewise.
2870         * lib/getnline.c: Likewise.
2871         * lib/getnline.h: Likewise.
2872         * lib/getopt.c: Likewise.
2873         * lib/getopt.in.h: Likewise.
2874         * lib/getopt1.c: Likewise.
2875         * lib/getopt_int.h: Likewise.
2876         * lib/getpagesize.h: Likewise.
2877         * lib/getsubopt.c: Likewise.
2878         * lib/gettime.c: Likewise.
2879         * lib/getugroups.c: Likewise.
2880         * lib/getugroups.h: Likewise.
2881         * lib/getusershell.c: Likewise.
2882         * lib/gl_anyavltree_list1.h: Likewise.
2883         * lib/gl_anyavltree_list2.h: Likewise.
2884         * lib/gl_anyhash_list1.h: Likewise.
2885         * lib/gl_anyhash_list2.h: Likewise.
2886         * lib/gl_anylinked_list1.h: Likewise.
2887         * lib/gl_anylinked_list2.h: Likewise.
2888         * lib/gl_anyrbtree_list1.h: Likewise.
2889         * lib/gl_anyrbtree_list2.h: Likewise.
2890         * lib/gl_anytree_list1.h: Likewise.
2891         * lib/gl_anytree_list2.h: Likewise.
2892         * lib/gl_anytree_oset.h: Likewise.
2893         * lib/gl_anytreehash_list1.h: Likewise.
2894         * lib/gl_anytreehash_list2.h: Likewise.
2895         * lib/gl_array_list.c: Likewise.
2896         * lib/gl_array_list.h: Likewise.
2897         * lib/gl_array_oset.c: Likewise.
2898         * lib/gl_array_oset.h: Likewise.
2899         * lib/gl_avltree_list.c: Likewise.
2900         * lib/gl_avltree_list.h: Likewise.
2901         * lib/gl_avltree_oset.c: Likewise.
2902         * lib/gl_avltree_oset.h: Likewise.
2903         * lib/gl_avltreehash_list.c: Likewise.
2904         * lib/gl_avltreehash_list.h: Likewise.
2905         * lib/gl_carray_list.c: Likewise.
2906         * lib/gl_carray_list.h: Likewise.
2907         * lib/gl_linked_list.c: Likewise.
2908         * lib/gl_linked_list.h: Likewise.
2909         * lib/gl_linkedhash_list.c: Likewise.
2910         * lib/gl_linkedhash_list.h: Likewise.
2911         * lib/gl_list.c: Likewise.
2912         * lib/gl_list.h: Likewise.
2913         * lib/gl_oset.c: Likewise.
2914         * lib/gl_oset.h: Likewise.
2915         * lib/gl_rbtree_list.c: Likewise.
2916         * lib/gl_rbtree_list.h: Likewise.
2917         * lib/gl_rbtree_oset.c: Likewise.
2918         * lib/gl_rbtree_oset.h: Likewise.
2919         * lib/gl_rbtreehash_list.c: Likewise.
2920         * lib/gl_rbtreehash_list.h: Likewise.
2921         * lib/gl_sublist.c: Likewise.
2922         * lib/gl_sublist.h: Likewise.
2923         * lib/group-member.c: Likewise.
2924         * lib/group-member.h: Likewise.
2925         * lib/hard-locale.c: Likewise.
2926         * lib/hard-locale.h: Likewise.
2927         * lib/hash-pjw.c: Likewise.
2928         * lib/hash-pjw.h: Likewise.
2929         * lib/hash-triple.c: Likewise.
2930         * lib/hash.c: Likewise.
2931         * lib/hash.h: Likewise.
2932         * lib/human.c: Likewise.
2933         * lib/human.h: Likewise.
2934         * lib/i-ring.c: Likewise.
2935         * lib/i-ring.h: Likewise.
2936         * lib/idcache.c: Likewise.
2937         * lib/imaxabs.c: Likewise.
2938         * lib/imaxdiv.c: Likewise.
2939         * lib/inet_pton.c: Likewise.
2940         * lib/inet_pton.h: Likewise.
2941         * lib/intprops.h: Likewise.
2942         * lib/inttostr.c: Likewise.
2943         * lib/inttostr.h: Likewise.
2944         * lib/inttypes.in.h: Likewise.
2945         * lib/isapipe.c: Likewise.
2946         * lib/isdir.c: Likewise.
2947         * lib/isnan.c: Likewise.
2948         * lib/isnan.h: Likewise.
2949         * lib/isnanf.c: Likewise.
2950         * lib/isnanf.h: Likewise.
2951         * lib/isnanl-nolibm.h: Likewise.
2952         * lib/isnanl.c: Likewise.
2953         * lib/isnanl.h: Likewise.
2954         * lib/javacomp.c: Likewise.
2955         * lib/javacomp.h: Likewise.
2956         * lib/javaexec.c: Likewise.
2957         * lib/javaexec.h: Likewise.
2958         * lib/javaversion.c: Likewise.
2959         * lib/javaversion.h: Likewise.
2960         * lib/javaversion.java: Likewise.
2961         * lib/lbrkprop.h: Likewise.
2962         * lib/lchmod.h: Likewise.
2963         * lib/lchown.c: Likewise.
2964         * lib/ldexpl.c: Likewise.
2965         * lib/linebreak.c: Likewise.
2966         * lib/linebreak.h: Likewise.
2967         * lib/linebuffer.c: Likewise.
2968         * lib/linebuffer.h: Likewise.
2969         * lib/locale.in.h: Likewise.
2970         * lib/logl.c: Likewise.
2971         * lib/long-options.c: Likewise.
2972         * lib/long-options.h: Likewise.
2973         * lib/lstat.c: Likewise.
2974         * lib/lstat.h: Likewise.
2975         * lib/math.in.h: Likewise.
2976         * lib/mbchar.c: Likewise.
2977         * lib/mbchar.h: Likewise.
2978         * lib/mbfile.h: Likewise.
2979         * lib/mbiter.h: Likewise.
2980         * lib/mbscasecmp.c: Likewise.
2981         * lib/mbscasestr.c: Likewise.
2982         * lib/mbschr.c: Likewise.
2983         * lib/mbscspn.c: Likewise.
2984         * lib/mbslen.c: Likewise.
2985         * lib/mbsncasecmp.c: Likewise.
2986         * lib/mbsnlen.c: Likewise.
2987         * lib/mbspbrk.c: Likewise.
2988         * lib/mbspcasecmp.c: Likewise.
2989         * lib/mbsrchr.c: Likewise.
2990         * lib/mbssep.c: Likewise.
2991         * lib/mbsspn.c: Likewise.
2992         * lib/mbsstr.c: Likewise.
2993         * lib/mbstok_r.c: Likewise.
2994         * lib/mbswidth.c: Likewise.
2995         * lib/mbswidth.h: Likewise.
2996         * lib/mbuiter.h: Likewise.
2997         * lib/memcasecmp.c: Likewise.
2998         * lib/memcasecmp.h: Likewise.
2999         * lib/memchr.c: Likewise.
3000         * lib/memcmp.c: Likewise.
3001         * lib/memcoll.c: Likewise.
3002         * lib/memcoll.h: Likewise.
3003         * lib/memcpy.c: Likewise.
3004         * lib/memrchr.c: Likewise.
3005         * lib/mkancesdirs.c: Likewise.
3006         * lib/mkdir-p.c: Likewise.
3007         * lib/mkdir-p.h: Likewise.
3008         * lib/mkdir.c: Likewise.
3009         * lib/mkdirat.c: Likewise.
3010         * lib/mkdtemp.c: Likewise.
3011         * lib/mkstemp-safer.c: Likewise.
3012         * lib/mkstemp.c: Likewise.
3013         * lib/modechange.c: Likewise.
3014         * lib/modechange.h: Likewise.
3015         * lib/mountlist.c: Likewise.
3016         * lib/mountlist.h: Likewise.
3017         * lib/mpsort.c: Likewise.
3018         * lib/nanosleep.c: Likewise.
3019         * lib/obstack.c: Likewise.
3020         * lib/obstack.h: Likewise.
3021         * lib/open-safer.c: Likewise.
3022         * lib/open.c: Likewise.
3023         * lib/openat-die.c: Likewise.
3024         * lib/openat-priv.h: Likewise.
3025         * lib/openat-proc.c: Likewise.
3026         * lib/openat.c: Likewise.
3027         * lib/openat.h: Likewise.
3028         * lib/pagealign_alloc.c: Likewise.
3029         * lib/pagealign_alloc.h: Likewise.
3030         * lib/physmem.c: Likewise.
3031         * lib/physmem.h: Likewise.
3032         * lib/pipe-safer.c: Likewise.
3033         * lib/pipe.c: Likewise.
3034         * lib/pipe.h: Likewise.
3035         * lib/posixtm.c: Likewise.
3036         * lib/posixtm.h: Likewise.
3037         * lib/posixver.c: Likewise.
3038         * lib/printf-frexp.c: Likewise.
3039         * lib/printf-frexp.h: Likewise.
3040         * lib/printf-frexpl.c: Likewise.
3041         * lib/printf-frexpl.h: Likewise.
3042         * lib/printf.c: Likewise.
3043         * lib/progname.c: Likewise.
3044         * lib/progname.h: Likewise.
3045         * lib/progreloc.c: Likewise.
3046         * lib/putenv.c: Likewise.
3047         * lib/quote.c: Likewise.
3048         * lib/quote.h: Likewise.
3049         * lib/quotearg.c: Likewise.
3050         * lib/quotearg.h: Likewise.
3051         * lib/raise.c: Likewise.
3052         * lib/readline.c: Likewise.
3053         * lib/readline.h: Likewise.
3054         * lib/readlink.c: Likewise.
3055         * lib/readtokens.c: Likewise.
3056         * lib/readtokens.h: Likewise.
3057         * lib/readtokens0.c: Likewise.
3058         * lib/readtokens0.h: Likewise.
3059         * lib/readutmp.c: Likewise.
3060         * lib/readutmp.h: Likewise.
3061         * lib/realloc.c: Likewise.
3062         * lib/relocwrapper.c: Likewise.
3063         * lib/rename-dest-slash.c: Likewise.
3064         * lib/rename.c: Likewise.
3065         * lib/rmdir.c: Likewise.
3066         * lib/rpmatch.c: Likewise.
3067         * lib/safe-read.c: Likewise.
3068         * lib/safe-read.h: Likewise.
3069         * lib/safe-write.c: Likewise.
3070         * lib/safe-write.h: Likewise.
3071         * lib/same-inode.h: Likewise.
3072         * lib/same.c: Likewise.
3073         * lib/same.h: Likewise.
3074         * lib/save-cwd.c: Likewise.
3075         * lib/save-cwd.h: Likewise.
3076         * lib/savedir.c: Likewise.
3077         * lib/savedir.h: Likewise.
3078         * lib/savewd.c: Likewise.
3079         * lib/savewd.h: Likewise.
3080         * lib/search.in.h: Likewise.
3081         * lib/setenv.c: Likewise.
3082         * lib/setenv.h: Likewise.
3083         * lib/settime.c: Likewise.
3084         * lib/sh-quote.c: Likewise.
3085         * lib/sh-quote.h: Likewise.
3086         * lib/sig2str.c: Likewise.
3087         * lib/sig2str.h: Likewise.
3088         * lib/signal.in.h: Likewise.
3089         * lib/signbitd.c: Likewise.
3090         * lib/signbitf.c: Likewise.
3091         * lib/signbitl.c: Likewise.
3092         * lib/sigprocmask.c: Likewise.
3093         * lib/sincosl.c: Likewise.
3094         * lib/sleep.c: Likewise.
3095         * lib/sprintf.c: Likewise.
3096         * lib/sqrtl.c: Likewise.
3097         * lib/stat-time.h: Likewise.
3098         * lib/stdio--.h: Likewise.
3099         * lib/stdio-safer.h: Likewise.
3100         * lib/stdlib--.h: Likewise.
3101         * lib/stdlib-safer.h: Likewise.
3102         * lib/stdlib.in.h: Likewise.
3103         * lib/stpcpy.c: Likewise.
3104         * lib/stpncpy.c: Likewise.
3105         * lib/strchrnul.c: Likewise.
3106         * lib/strcspn.c: Likewise.
3107         * lib/strerror.c: Likewise.
3108         * lib/strftime.c: Likewise.
3109         * lib/strftime.h: Likewise.
3110         * lib/striconveh.c: Likewise.
3111         * lib/striconveh.h: Likewise.
3112         * lib/striconveha.c: Likewise.
3113         * lib/striconveha.h: Likewise.
3114         * lib/stripslash.c: Likewise.
3115         * lib/strnlen1.c: Likewise.
3116         * lib/strnlen1.h: Likewise.
3117         * lib/strtod.c: Likewise.
3118         * lib/strtoimax.c: Likewise.
3119         * lib/strtok_r.c: Likewise.
3120         * lib/strtol.c: Likewise.
3121         * lib/strtoll.c: Likewise.
3122         * lib/strtoul.c: Likewise.
3123         * lib/strtoull.c: Likewise.
3124         * lib/sysexits.in.h: Likewise.
3125         * lib/tempname.c: Likewise.
3126         * lib/tempname.h: Likewise.
3127         * lib/timespec.h: Likewise.
3128         * lib/tls.c: Likewise.
3129         * lib/tls.h: Likewise.
3130         * lib/tmpdir.c: Likewise.
3131         * lib/tmpdir.h: Likewise.
3132         * lib/tmpfile-safer.c: Likewise.
3133         * lib/tmpfile.c: Likewise.
3134         * lib/trigl.c: Likewise.
3135         * lib/trigl.h: Likewise.
3136         * lib/trim.c: Likewise.
3137         * lib/trim.h: Likewise.
3138         * lib/trunc.c: Likewise.
3139         * lib/truncf.c: Likewise.
3140         * lib/truncl.c: Likewise.
3141         * lib/tsearch.c: Likewise.
3142         * lib/unicodeio.c: Likewise.
3143         * lib/unicodeio.h: Likewise.
3144         * lib/unistd--.h: Likewise.
3145         * lib/unistd-safer.h: Likewise.
3146         * lib/unistdio/ulc-fprintf.c: Likewise.
3147         * lib/unistdio/ulc-vfprintf.c: Likewise.
3148         * lib/unlinkdir.c: Likewise.
3149         * lib/unlinkdir.h: Likewise.
3150         * lib/unlocked-io.h: Likewise.
3151         * lib/unsetenv.c: Likewise.
3152         * lib/userspec.c: Likewise.
3153         * lib/utime.c: Likewise.
3154         * lib/utimecmp.c: Likewise.
3155         * lib/utimecmp.h: Likewise.
3156         * lib/utimens.c: Likewise.
3157         * lib/verify.h: Likewise.
3158         * lib/verror.c: Likewise.
3159         * lib/verror.h: Likewise.
3160         * lib/version-etc-fsf.c: Likewise.
3161         * lib/version-etc.c: Likewise.
3162         * lib/version-etc.h: Likewise.
3163         * lib/vfprintf.c: Likewise.
3164         * lib/vprintf.c: Likewise.
3165         * lib/vsprintf.c: Likewise.
3166         * lib/w32spawn.h: Likewise.
3167         * lib/wait-process.c: Likewise.
3168         * lib/wait-process.h: Likewise.
3169         * lib/wcwidth.c: Likewise.
3170         * lib/write-any-file.c: Likewise.
3171         * lib/xalloc-die.c: Likewise.
3172         * lib/xalloc.h: Likewise.
3173         * lib/xasprintf.c: Likewise.
3174         * lib/xgetcwd.c: Likewise.
3175         * lib/xgetcwd.h: Likewise.
3176         * lib/xgetdomainname.c: Likewise.
3177         * lib/xgetdomainname.h: Likewise.
3178         * lib/xgethostname.c: Likewise.
3179         * lib/xmalloc.c: Likewise.
3180         * lib/xmalloca.c: Likewise.
3181         * lib/xmalloca.h: Likewise.
3182         * lib/xmemcoll.c: Likewise.
3183         * lib/xnanosleep.c: Likewise.
3184         * lib/xreadlink.c: Likewise.
3185         * lib/xreadlink.h: Likewise.
3186         * lib/xsetenv.c: Likewise.
3187         * lib/xsetenv.h: Likewise.
3188         * lib/xstriconv.c: Likewise.
3189         * lib/xstriconv.h: Likewise.
3190         * lib/xstrndup.c: Likewise.
3191         * lib/xstrndup.h: Likewise.
3192         * lib/xstrtod.c: Likewise.
3193         * lib/xstrtod.h: Likewise.
3194         * lib/xstrtol-error.c: Likewise.
3195         * lib/xstrtol.c: Likewise.
3196         * lib/xstrtol.h: Likewise.
3197         * lib/xtime.h: Likewise.
3198         * lib/xvasprintf.c: Likewise.
3199         * lib/xvasprintf.h: Likewise.
3200         * lib/yesno.c: Likewise.
3201         * lib/yesno.h: Likewise.
3202         * posix-modules: Likewise.
3203         * tests/test-alloca-opt.c: Likewise.
3204         * tests/test-arcfour.c: Likewise.
3205         * tests/test-arctwo.c: Likewise.
3206         * tests/test-argmatch.c: Likewise.
3207         * tests/test-argp-2.sh: Likewise.
3208         * tests/test-argp.c: Likewise.
3209         * tests/test-arpa_inet.c: Likewise.
3210         * tests/test-array_list.c: Likewise.
3211         * tests/test-array_oset.c: Likewise.
3212         * tests/test-atexit.c: Likewise.
3213         * tests/test-avltree_list.c: Likewise.
3214         * tests/test-avltree_oset.c: Likewise.
3215         * tests/test-avltreehash_list.c: Likewise.
3216         * tests/test-base64.c: Likewise.
3217         * tests/test-binary-io.c: Likewise.
3218         * tests/test-byteswap.c: Likewise.
3219         * tests/test-c-ctype.c: Likewise.
3220         * tests/test-c-strcasecmp.c: Likewise.
3221         * tests/test-c-strcasestr.c: Likewise.
3222         * tests/test-c-strncasecmp.c: Likewise.
3223         * tests/test-c-strstr.c: Likewise.
3224         * tests/test-canonicalize-lgpl.c: Likewise.
3225         * tests/test-canonicalize.c: Likewise.
3226         * tests/test-carray_list.c: Likewise.
3227         * tests/test-ceilf.c: Likewise.
3228         * tests/test-ceill.c: Likewise.
3229         * tests/test-count-one-bits.c: Likewise.
3230         * tests/test-crc.c: Likewise.
3231         * tests/test-dirname.c: Likewise.
3232         * tests/test-fbufmode.c: Likewise.
3233         * tests/test-fcntl.c: Likewise.
3234         * tests/test-fflush.c: Likewise.
3235         * tests/test-floorf.c: Likewise.
3236         * tests/test-floorl.c: Likewise.
3237         * tests/test-fopen.c: Likewise.
3238         * tests/test-fprintf-posix.c: Likewise.
3239         * tests/test-fprintf-posix.h: Likewise.
3240         * tests/test-fpurge.c: Likewise.
3241         * tests/test-freadable.c: Likewise.
3242         * tests/test-freadahead.c: Likewise.
3243         * tests/test-freading.c: Likewise.
3244         * tests/test-freopen.c: Likewise.
3245         * tests/test-frexp.c: Likewise.
3246         * tests/test-frexpl.c: Likewise.
3247         * tests/test-fseek.c: Likewise.
3248         * tests/test-fseeko.c: Likewise.
3249         * tests/test-fseterr.c: Likewise.
3250         * tests/test-fstrcmp.c: Likewise.
3251         * tests/test-ftell.c: Likewise.
3252         * tests/test-ftello.c: Likewise.
3253         * tests/test-fwritable.c: Likewise.
3254         * tests/test-fwriting.c: Likewise.
3255         * tests/test-getaddrinfo.c: Likewise.
3256         * tests/test-getpass.c: Likewise.
3257         * tests/test-gettimeofday.c: Likewise.
3258         * tests/test-hmac-md5.c: Likewise.
3259         * tests/test-hmac-sha1.c: Likewise.
3260         * tests/test-iconv.c: Likewise.
3261         * tests/test-iconvme.c: Likewise.
3262         * tests/test-inttypes.c: Likewise.
3263         * tests/test-isnan.c: Likewise.
3264         * tests/test-isnanf.c: Likewise.
3265         * tests/test-isnanl-nolibm.c: Likewise.
3266         * tests/test-isnanl.c: Likewise.
3267         * tests/test-isnanl.h: Likewise.
3268         * tests/test-ldexpl.c: Likewise.
3269         * tests/test-linked_list.c: Likewise.
3270         * tests/test-linkedhash_list.c: Likewise.
3271         * tests/test-locale.c: Likewise.
3272         * tests/test-localename.c: Likewise.
3273         * tests/test-lock.c: Likewise.
3274         * tests/test-lseek.c: Likewise.
3275         * tests/test-malloca.c: Likewise.
3276         * tests/test-math.c: Likewise.
3277         * tests/test-mbscasecmp.c: Likewise.
3278         * tests/test-mbscasestr1.c: Likewise.
3279         * tests/test-mbscasestr2.c: Likewise.
3280         * tests/test-mbscasestr3.c: Likewise.
3281         * tests/test-mbscasestr4.c: Likewise.
3282         * tests/test-mbschr.c: Likewise.
3283         * tests/test-mbscspn.c: Likewise.
3284         * tests/test-mbsncasecmp.c: Likewise.
3285         * tests/test-mbspbrk.c: Likewise.
3286         * tests/test-mbspcasecmp.c: Likewise.
3287         * tests/test-mbsrchr.c: Likewise.
3288         * tests/test-mbsspn.c: Likewise.
3289         * tests/test-mbsstr1.c: Likewise.
3290         * tests/test-mbsstr2.c: Likewise.
3291         * tests/test-mbsstr3.c: Likewise.
3292         * tests/test-md5.c: Likewise.
3293         * tests/test-memmem.c: Likewise.
3294         * tests/test-netinet_in.c: Likewise.
3295         * tests/test-open.c: Likewise.
3296         * tests/test-printf-frexp.c: Likewise.
3297         * tests/test-printf-frexpl.c: Likewise.
3298         * tests/test-printf-posix.c: Likewise.
3299         * tests/test-printf-posix.h: Likewise.
3300         * tests/test-rbtree_list.c: Likewise.
3301         * tests/test-rbtree_oset.c: Likewise.
3302         * tests/test-rbtreehash_list.c: Likewise.
3303         * tests/test-read-file.c: Likewise.
3304         * tests/test-rijndael.c: Likewise.
3305         * tests/test-search.c: Likewise.
3306         * tests/test-signbit.c: Likewise.
3307         * tests/test-sleep.c: Likewise.
3308         * tests/test-snprintf-posix.c: Likewise.
3309         * tests/test-snprintf-posix.h: Likewise.
3310         * tests/test-snprintf.c: Likewise.
3311         * tests/test-sprintf-posix.c: Likewise.
3312         * tests/test-sprintf-posix.h: Likewise.
3313         * tests/test-stat-time.c: Likewise.
3314         * tests/test-stdbool.c: Likewise.
3315         * tests/test-stdint.c: Likewise.
3316         * tests/test-stdio.c: Likewise.
3317         * tests/test-stdlib.c: Likewise.
3318         * tests/test-stpncpy.c: Likewise.
3319         * tests/test-strcasestr.c: Likewise.
3320         * tests/test-striconv.c: Likewise.
3321         * tests/test-striconveh.c: Likewise.
3322         * tests/test-striconveha.c: Likewise.
3323         * tests/test-string.c: Likewise.
3324         * tests/test-sys_select.c: Likewise.
3325         * tests/test-sys_socket.c: Likewise.
3326         * tests/test-sys_stat.c: Likewise.
3327         * tests/test-sys_time.c: Likewise.
3328         * tests/test-sysexits.c: Likewise.
3329         * tests/test-time.c: Likewise.
3330         * tests/test-tls.c: Likewise.
3331         * tests/test-trunc.c: Likewise.
3332         * tests/test-truncf.c: Likewise.
3333         * tests/test-truncl.c: Likewise.
3334         * tests/test-unistd.c: Likewise.
3335         * tests/test-vasnprintf-posix.c: Likewise.
3336         * tests/test-vasnprintf-posix2.c: Likewise.
3337         * tests/test-vasnprintf.c: Likewise.
3338         * tests/test-vasprintf-posix.c: Likewise.
3339         * tests/test-vasprintf.c: Likewise.
3340         * tests/test-verify.c: Likewise.
3341         * tests/test-vfprintf-posix.c: Likewise.
3342         * tests/test-vprintf-posix.c: Likewise.
3343         * tests/test-vsnprintf-posix.c: Likewise.
3344         * tests/test-vsnprintf.c: Likewise.
3345         * tests/test-vsprintf-posix.c: Likewise.
3346         * tests/test-wchar.c: Likewise.
3347         * tests/test-wctype.c: Likewise.
3348         * tests/test-wcwidth.c: Likewise.
3349         * tests/test-xstrtol.c: Likewise.
3350         * tests/test-xvasprintf.c: Likewise.
3351         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
3352         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
3353         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
3354         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
3355         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
3356         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
3357         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
3358         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
3359         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
3360         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
3361         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
3362         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
3363         * tests/uniname/test-uninames.c: Likewise.
3364         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
3365         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
3366         * tests/unistdio/test-u16-printf1.h: Likewise.
3367         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
3368         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
3369         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
3370         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
3371         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
3372         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
3373         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
3374         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
3375         * tests/unistdio/test-u32-printf1.h: Likewise.
3376         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
3377         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
3378         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
3379         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
3380         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
3381         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
3382         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
3383         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
3384         * tests/unistdio/test-u8-printf1.h: Likewise.
3385         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
3386         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
3387         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
3388         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
3389         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
3390         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
3391         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
3392         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
3393         * tests/unistdio/test-ulc-printf1.h: Likewise.
3394         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
3395         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
3396         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
3397         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
3398         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
3399         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
3400         * tests/uniwidth/test-u16-strwidth.c: Likewise.
3401         * tests/uniwidth/test-u16-width.c: Likewise.
3402         * tests/uniwidth/test-u32-strwidth.c: Likewise.
3403         * tests/uniwidth/test-u32-width.c: Likewise.
3404         * tests/uniwidth/test-u8-strwidth.c: Likewise.
3405         * tests/uniwidth/test-u8-width.c: Likewise.
3406         * tests/uniwidth/test-uc_width.c: Likewise.
3407         * config/srclist-update: Likewise.
3408         (fixlicense): Update to GPLv3+.
3409
3410         Change copyright notice from LGPLv2.1+ to LGPLv3+.
3411         * tests/test-tsearch.c: Change copyright notice.
3412
3413         Change copyright notice from LGPLv2.0+ to LGPLv3+.
3414         * lib/c-strcaseeq.h: Change copyright notice.
3415         * lib/streq.h: Likewise.
3416         * lib/uniconv.h: Likewise.
3417         * lib/uniconv/u-conv-from-enc.h: Likewise.
3418         * lib/uniconv/u-conv-to-enc.h: Likewise.
3419         * lib/uniconv/u-strconv-from-enc.h: Likewise.
3420         * lib/uniconv/u-strconv-to-enc.h: Likewise.
3421         * lib/uniconv/u16-conv-from-enc.c: Likewise.
3422         * lib/uniconv/u16-conv-to-enc.c: Likewise.
3423         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
3424         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
3425         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
3426         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
3427         * lib/uniconv/u32-conv-from-enc.c: Likewise.
3428         * lib/uniconv/u32-conv-to-enc.c: Likewise.
3429         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
3430         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
3431         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
3432         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
3433         * lib/uniconv/u8-conv-from-enc.c: Likewise.
3434         * lib/uniconv/u8-conv-to-enc.c: Likewise.
3435         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
3436         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
3437         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
3438         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
3439         * lib/uniname.h: Likewise.
3440         * lib/uniname/uniname.c: Likewise.
3441         * lib/unistdio.h: Likewise.
3442         * lib/unistdio/u-asnprintf.h: Likewise.
3443         * lib/unistdio/u-asprintf.h: Likewise.
3444         * lib/unistdio/u-printf-args.c: Likewise.
3445         * lib/unistdio/u-printf-args.h: Likewise.
3446         * lib/unistdio/u-printf-parse.h: Likewise.
3447         * lib/unistdio/u-snprintf.h: Likewise.
3448         * lib/unistdio/u-sprintf.h: Likewise.
3449         * lib/unistdio/u-vasprintf.h: Likewise.
3450         * lib/unistdio/u-vsnprintf.h: Likewise.
3451         * lib/unistdio/u-vsprintf.h: Likewise.
3452         * lib/unistdio/u16-asnprintf.c: Likewise.
3453         * lib/unistdio/u16-asprintf.c: Likewise.
3454         * lib/unistdio/u16-printf-parse.c: Likewise.
3455         * lib/unistdio/u16-snprintf.c: Likewise.
3456         * lib/unistdio/u16-sprintf.c: Likewise.
3457         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
3458         * lib/unistdio/u16-u16-asprintf.c: Likewise.
3459         * lib/unistdio/u16-u16-snprintf.c: Likewise.
3460         * lib/unistdio/u16-u16-sprintf.c: Likewise.
3461         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
3462         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
3463         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
3464         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
3465         * lib/unistdio/u16-vasnprintf.c: Likewise.
3466         * lib/unistdio/u16-vasprintf.c: Likewise.
3467         * lib/unistdio/u16-vsnprintf.c: Likewise.
3468         * lib/unistdio/u16-vsprintf.c: Likewise.
3469         * lib/unistdio/u32-asnprintf.c: Likewise.
3470         * lib/unistdio/u32-asprintf.c: Likewise.
3471         * lib/unistdio/u32-printf-parse.c: Likewise.
3472         * lib/unistdio/u32-snprintf.c: Likewise.
3473         * lib/unistdio/u32-sprintf.c: Likewise.
3474         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
3475         * lib/unistdio/u32-u32-asprintf.c: Likewise.
3476         * lib/unistdio/u32-u32-snprintf.c: Likewise.
3477         * lib/unistdio/u32-u32-sprintf.c: Likewise.
3478         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
3479         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
3480         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
3481         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
3482         * lib/unistdio/u32-vasnprintf.c: Likewise.
3483         * lib/unistdio/u32-vasprintf.c: Likewise.
3484         * lib/unistdio/u32-vsnprintf.c: Likewise.
3485         * lib/unistdio/u32-vsprintf.c: Likewise.
3486         * lib/unistdio/u8-asnprintf.c: Likewise.
3487         * lib/unistdio/u8-asprintf.c: Likewise.
3488         * lib/unistdio/u8-printf-parse.c: Likewise.
3489         * lib/unistdio/u8-snprintf.c: Likewise.
3490         * lib/unistdio/u8-sprintf.c: Likewise.
3491         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
3492         * lib/unistdio/u8-u8-asprintf.c: Likewise.
3493         * lib/unistdio/u8-u8-snprintf.c: Likewise.
3494         * lib/unistdio/u8-u8-sprintf.c: Likewise.
3495         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
3496         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
3497         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
3498         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
3499         * lib/unistdio/u8-vasnprintf.c: Likewise.
3500         * lib/unistdio/u8-vasprintf.c: Likewise.
3501         * lib/unistdio/u8-vsnprintf.c: Likewise.
3502         * lib/unistdio/u8-vsprintf.c: Likewise.
3503         * lib/unistdio/ulc-asnprintf.c: Likewise.
3504         * lib/unistdio/ulc-asprintf.c: Likewise.
3505         * lib/unistdio/ulc-printf-parse.c: Likewise.
3506         * lib/unistdio/ulc-snprintf.c: Likewise.
3507         * lib/unistdio/ulc-sprintf.c: Likewise.
3508         * lib/unistdio/ulc-vasnprintf.c: Likewise.
3509         * lib/unistdio/ulc-vasprintf.c: Likewise.
3510         * lib/unistdio/ulc-vsnprintf.c: Likewise.
3511         * lib/unistdio/ulc-vsprintf.c: Likewise.
3512         * lib/unistr.h: Likewise.
3513         * lib/unistr/u-cpy-alloc.h: Likewise.
3514         * lib/unistr/u-cpy.h: Likewise.
3515         * lib/unistr/u-endswith.h: Likewise.
3516         * lib/unistr/u-move.h: Likewise.
3517         * lib/unistr/u-set.h: Likewise.
3518         * lib/unistr/u-startswith.h: Likewise.
3519         * lib/unistr/u-stpcpy.h: Likewise.
3520         * lib/unistr/u-stpncpy.h: Likewise.
3521         * lib/unistr/u-strcat.h: Likewise.
3522         * lib/unistr/u-strcpy.h: Likewise.
3523         * lib/unistr/u-strcspn.h: Likewise.
3524         * lib/unistr/u-strdup.h: Likewise.
3525         * lib/unistr/u-strlen.h: Likewise.
3526         * lib/unistr/u-strncat.h: Likewise.
3527         * lib/unistr/u-strncpy.h: Likewise.
3528         * lib/unistr/u-strnlen.h: Likewise.
3529         * lib/unistr/u-strpbrk.h: Likewise.
3530         * lib/unistr/u-strspn.h: Likewise.
3531         * lib/unistr/u-strstr.h: Likewise.
3532         * lib/unistr/u-strtok.h: Likewise.
3533         * lib/unistr/u16-check.c: Likewise.
3534         * lib/unistr/u16-chr.c: Likewise.
3535         * lib/unistr/u16-cmp.c: Likewise.
3536         * lib/unistr/u16-cpy-alloc.c: Likewise.
3537         * lib/unistr/u16-cpy.c: Likewise.
3538         * lib/unistr/u16-endswith.c: Likewise.
3539         * lib/unistr/u16-mblen.c: Likewise.
3540         * lib/unistr/u16-mbsnlen.c: Likewise.
3541         * lib/unistr/u16-mbtouc-aux.c: Likewise.
3542         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
3543         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
3544         * lib/unistr/u16-mbtouc.c: Likewise.
3545         * lib/unistr/u16-mbtoucr.c: Likewise.
3546         * lib/unistr/u16-move.c: Likewise.
3547         * lib/unistr/u16-next.c: Likewise.
3548         * lib/unistr/u16-prev.c: Likewise.
3549         * lib/unistr/u16-set.c: Likewise.
3550         * lib/unistr/u16-startswith.c: Likewise.
3551         * lib/unistr/u16-stpcpy.c: Likewise.
3552         * lib/unistr/u16-stpncpy.c: Likewise.
3553         * lib/unistr/u16-strcat.c: Likewise.
3554         * lib/unistr/u16-strchr.c: Likewise.
3555         * lib/unistr/u16-strcmp.c: Likewise.
3556         * lib/unistr/u16-strcpy.c: Likewise.
3557         * lib/unistr/u16-strcspn.c: Likewise.
3558         * lib/unistr/u16-strdup.c: Likewise.
3559         * lib/unistr/u16-strlen.c: Likewise.
3560         * lib/unistr/u16-strmblen.c: Likewise.
3561         * lib/unistr/u16-strmbtouc.c: Likewise.
3562         * lib/unistr/u16-strncat.c: Likewise.
3563         * lib/unistr/u16-strncmp.c: Likewise.
3564         * lib/unistr/u16-strncpy.c: Likewise.
3565         * lib/unistr/u16-strnlen.c: Likewise.
3566         * lib/unistr/u16-strpbrk.c: Likewise.
3567         * lib/unistr/u16-strrchr.c: Likewise.
3568         * lib/unistr/u16-strspn.c: Likewise.
3569         * lib/unistr/u16-strstr.c: Likewise.
3570         * lib/unistr/u16-strtok.c: Likewise.
3571         * lib/unistr/u16-to-u32.c: Likewise.
3572         * lib/unistr/u16-to-u8.c: Likewise.
3573         * lib/unistr/u16-uctomb-aux.c: Likewise.
3574         * lib/unistr/u16-uctomb.c: Likewise.
3575         * lib/unistr/u32-check.c: Likewise.
3576         * lib/unistr/u32-chr.c: Likewise.
3577         * lib/unistr/u32-cmp.c: Likewise.
3578         * lib/unistr/u32-cpy-alloc.c: Likewise.
3579         * lib/unistr/u32-cpy.c: Likewise.
3580         * lib/unistr/u32-endswith.c: Likewise.
3581         * lib/unistr/u32-mblen.c: Likewise.
3582         * lib/unistr/u32-mbsnlen.c: Likewise.
3583         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
3584         * lib/unistr/u32-mbtouc.c: Likewise.
3585         * lib/unistr/u32-mbtoucr.c: Likewise.
3586         * lib/unistr/u32-move.c: Likewise.
3587         * lib/unistr/u32-next.c: Likewise.
3588         * lib/unistr/u32-prev.c: Likewise.
3589         * lib/unistr/u32-set.c: Likewise.
3590         * lib/unistr/u32-startswith.c: Likewise.
3591         * lib/unistr/u32-stpcpy.c: Likewise.
3592         * lib/unistr/u32-stpncpy.c: Likewise.
3593         * lib/unistr/u32-strcat.c: Likewise.
3594         * lib/unistr/u32-strchr.c: Likewise.
3595         * lib/unistr/u32-strcmp.c: Likewise.
3596         * lib/unistr/u32-strcpy.c: Likewise.
3597         * lib/unistr/u32-strcspn.c: Likewise.
3598         * lib/unistr/u32-strdup.c: Likewise.
3599         * lib/unistr/u32-strlen.c: Likewise.
3600         * lib/unistr/u32-strmblen.c: Likewise.
3601         * lib/unistr/u32-strmbtouc.c: Likewise.
3602         * lib/unistr/u32-strncat.c: Likewise.
3603         * lib/unistr/u32-strncmp.c: Likewise.
3604         * lib/unistr/u32-strncpy.c: Likewise.
3605         * lib/unistr/u32-strnlen.c: Likewise.
3606         * lib/unistr/u32-strpbrk.c: Likewise.
3607         * lib/unistr/u32-strrchr.c: Likewise.
3608         * lib/unistr/u32-strspn.c: Likewise.
3609         * lib/unistr/u32-strstr.c: Likewise.
3610         * lib/unistr/u32-strtok.c: Likewise.
3611         * lib/unistr/u32-to-u16.c: Likewise.
3612         * lib/unistr/u32-to-u8.c: Likewise.
3613         * lib/unistr/u32-uctomb.c: Likewise.
3614         * lib/unistr/u8-check.c: Likewise.
3615         * lib/unistr/u8-chr.c: Likewise.
3616         * lib/unistr/u8-cmp.c: Likewise.
3617         * lib/unistr/u8-cpy-alloc.c: Likewise.
3618         * lib/unistr/u8-cpy.c: Likewise.
3619         * lib/unistr/u8-endswith.c: Likewise.
3620         * lib/unistr/u8-mblen.c: Likewise.
3621         * lib/unistr/u8-mbsnlen.c: Likewise.
3622         * lib/unistr/u8-mbtouc-aux.c: Likewise.
3623         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
3624         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
3625         * lib/unistr/u8-mbtouc.c: Likewise.
3626         * lib/unistr/u8-mbtoucr.c: Likewise.
3627         * lib/unistr/u8-move.c: Likewise.
3628         * lib/unistr/u8-next.c: Likewise.
3629         * lib/unistr/u8-prev.c: Likewise.
3630         * lib/unistr/u8-set.c: Likewise.
3631         * lib/unistr/u8-startswith.c: Likewise.
3632         * lib/unistr/u8-stpcpy.c: Likewise.
3633         * lib/unistr/u8-stpncpy.c: Likewise.
3634         * lib/unistr/u8-strcat.c: Likewise.
3635         * lib/unistr/u8-strchr.c: Likewise.
3636         * lib/unistr/u8-strcmp.c: Likewise.
3637         * lib/unistr/u8-strcpy.c: Likewise.
3638         * lib/unistr/u8-strcspn.c: Likewise.
3639         * lib/unistr/u8-strdup.c: Likewise.
3640         * lib/unistr/u8-strlen.c: Likewise.
3641         * lib/unistr/u8-strmblen.c: Likewise.
3642         * lib/unistr/u8-strmbtouc.c: Likewise.
3643         * lib/unistr/u8-strncat.c: Likewise.
3644         * lib/unistr/u8-strncmp.c: Likewise.
3645         * lib/unistr/u8-strncpy.c: Likewise.
3646         * lib/unistr/u8-strnlen.c: Likewise.
3647         * lib/unistr/u8-strpbrk.c: Likewise.
3648         * lib/unistr/u8-strrchr.c: Likewise.
3649         * lib/unistr/u8-strspn.c: Likewise.
3650         * lib/unistr/u8-strstr.c: Likewise.
3651         * lib/unistr/u8-strtok.c: Likewise.
3652         * lib/unistr/u8-to-u16.c: Likewise.
3653         * lib/unistr/u8-to-u32.c: Likewise.
3654         * lib/unistr/u8-uctomb-aux.c: Likewise.
3655         * lib/unistr/u8-uctomb.c: Likewise.
3656         * lib/unitypes.h: Likewise.
3657         * lib/uniwidth.h: Likewise.
3658         * lib/uniwidth/cjk.h: Likewise.
3659         * lib/uniwidth/u16-strwidth.c: Likewise.
3660         * lib/uniwidth/u16-width.c: Likewise.
3661         * lib/uniwidth/u32-strwidth.c: Likewise.
3662         * lib/uniwidth/u32-width.c: Likewise.
3663         * lib/uniwidth/u8-strwidth.c: Likewise.
3664         * lib/uniwidth/u8-width.c: Likewise.
3665         * lib/uniwidth/width.c: Likewise.
3666
3667 2007-10-07  Bruno Haible  <bruno@clisp.org>
3668
3669         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
3670         The file is still under LGPL (see modules/inttypes).
3671
3672 2007-10-06  Bruno Haible  <bruno@clisp.org>
3673
3674         * modules/trunc (Dependencies): Add 'extensions'.
3675         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
3676         Reported by Ben Pfaff <blp@gnu.org>.
3677
3678 2007-10-06  Bruno Haible  <bruno@clisp.org>
3679
3680         * modules/freopen-tests: New file.
3681         * tests/test-freopen.c: New file.
3682
3683         * modules/fopen-tests: New file.
3684         * tests/test-fopen.c: New file.
3685
3686         * modules/fopen: New file.
3687         * lib/fopen.c: New file.
3688         * m4/fopen.m4: New file.
3689         * modules/freopen: New file.
3690         * lib/freopen.c: New file.
3691         * m4/freopen.m4: New file.
3692         * lib/stdio.in.h (fopen, freopen): New declarations.
3693         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
3694         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
3695         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
3696         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
3697         * doc/functions/fopen.texi: Mention the 'fopen' module.
3698         * doc/functions/freopen.texi: Mention the 'freopen' module.
3699
3700 2007-10-06  Bruno Haible  <bruno@clisp.org>
3701
3702         * modules/open-tests: New file.
3703         * tests/test-open.c: New file.
3704
3705         * modules/open: New file.
3706         * lib/open.c: New file.
3707         * m4/open.m4: New file.
3708         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
3709         lib/open.c does.
3710         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
3711         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
3712         macros.
3713         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
3714         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
3715         REPLACE_OPEN.
3716         * doc/functions/open.texi: Mention the 'open' module.
3717
3718 2007-10-04  Bruno Haible  <bruno@clisp.org>
3719
3720         * modules/ceill-tests: New file.
3721         * tests/test-ceill.c: New file.
3722
3723         * modules/ceill: New file.
3724         * lib/ceill.c: Replace entire file.
3725         * m4/ceill.m4: New file.
3726         * lib/math.in.h (ceill): Replace declaration.
3727         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
3728         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
3729         * doc/functions/ceill.texi: Mention the 'ceill' module.
3730         * modules/mathl (Files): Remove lib/ceill.c.
3731         (Depends-on): Add ceill.
3732
3733 2007-10-04  Bruno Haible  <bruno@clisp.org>
3734
3735         * modules/ceilf-tests: New file.
3736         * tests/test-ceilf.c: New file.
3737
3738         * modules/ceilf: New file.
3739         * lib/ceil.c: New file.
3740         * lib/ceilf.c: New file.
3741         * m4/ceilf.m4: New file.
3742         * lib/math.in.h (ceilf): New declaration.
3743         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
3744         HAVE_DECL_CEILF.
3745         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
3746         HAVE_DECL_CEILF.
3747         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
3748
3749 2007-10-04  Bruno Haible  <bruno@clisp.org>
3750
3751         * modules/floorl-tests: New file.
3752         * tests/test-floorl.c: New file.
3753
3754         * modules/floorl: New file.
3755         * lib/floorl.c: Replace entire file.
3756         * m4/floorl.m4: New file.
3757         * lib/math.in.h (floorl): Replace declaration.
3758         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
3759         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
3760         * doc/functions/floorl.texi: Mention the 'floorl' module.
3761         * modules/mathl (Files): Remove lib/floorl.c.
3762         (Depends-on): Add floorl.
3763
3764 2007-10-04  Bruno Haible  <bruno@clisp.org>
3765
3766         * modules/floorf-tests: New file.
3767         * tests/test-floorf.c: New file.
3768
3769         * modules/floorf: New file.
3770         * lib/floor.c: New file.
3771         * lib/floorf.c: New file.
3772         * m4/floorf.m4: New file.
3773         * lib/math.in.h (floorf): New declaration.
3774         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
3775         HAVE_DECL_FLOORF.
3776         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
3777         HAVE_DECL_FLOORF.
3778         * doc/functions/floorf.texi: Mention the 'floorf' module.
3779
3780 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
3781             Bruno Haible  <bruno@clisp.org>
3782
3783         Advertise for the Git server instead of the CVS server.
3784         * doc/gnulib-intro.texi (Steady Development): Mention the Git
3785         repository instead of the CVS one.
3786         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
3787         about all VCS systems generically.
3788         * doc/gnulib.texi (Introduction): Capitalize `Git'.
3789
3790 2007-10-04  Bruno Haible  <bruno@clisp.org>
3791
3792         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
3793         means.
3794         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
3795
3796 2007-10-04  Bruno Haible  <bruno@clisp.org>
3797
3798         * modules/truncl-tests: New file.
3799         * tests/test-truncl.c: New file.
3800
3801         * modules/truncl: New file.
3802         * lib/truncl.c: New file.
3803         * m4/truncl.m4: New file.
3804         * lib/math.in.h (truncl): New declaration.
3805         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
3806         HAVE_DECL_TRUNCL.
3807         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
3808         HAVE_DECL_TRUNCL.
3809         * doc/functions/truncl.texi: Mention the 'truncl' module.
3810
3811 2007-10-04  Bruno Haible  <bruno@clisp.org>
3812
3813         * modules/truncf-tests: New file.
3814         * tests/test-truncf.c: New file.
3815
3816         * modules/truncf: New file.
3817         * lib/trunc.c: Make paramerizable through USE_* macros.
3818         * lib/truncf.c: New file.
3819         * m4/truncf.m4: New file.
3820         * lib/math.in.h (truncf): New declaration.
3821         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
3822         HAVE_DECL_TRUNCF.
3823         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
3824         HAVE_DECL_TRUNCF.
3825         * doc/functions/truncf.texi: Mention the 'truncf' module.
3826
3827 2007-10-03  Bruno Haible  <bruno@clisp.org>
3828
3829         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
3830         augmentation also for tests modules.
3831         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
3832         * modules/atexit-tests (Makefile.am): Likewise.
3833         * modules/binary-io-tests (Makefile.am): Likewise.
3834         * modules/c-strcase-tests (Makefile.am): Likewise.
3835         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
3836         * modules/canonicalize-tests (Makefile.am): Likewise.
3837         * modules/closein-tests (Makefile.am): Likewise.
3838         * modules/fprintf-posix-tests (Makefile.am): Likewise.
3839         * modules/freadahead-tests (Makefile.am): Likewise.
3840         * modules/fseek-tests (Makefile.am): Likewise.
3841         * modules/fseeko-tests (Makefile.am): Likewise.
3842         * modules/ftell-tests (Makefile.am): Likewise.
3843         * modules/ftello-tests (Makefile.am): Likewise.
3844         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
3845         * modules/isnanl-tests (Makefile.am): Likewise.
3846         * modules/lseek-tests (Makefile.am): Likewise.
3847         * modules/mbscasecmp-tests (Makefile.am): Likewise.
3848         * modules/mbscasestr-tests (Makefile.am): Likewise.
3849         * modules/mbschr-tests (Makefile.am): Likewise.
3850         * modules/mbscspn-tests (Makefile.am): Likewise.
3851         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
3852         * modules/mbspbrk-tests (Makefile.am): Likewise.
3853         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
3854         * modules/mbsrchr-tests (Makefile.am): Likewise.
3855         * modules/mbsspn-tests (Makefile.am): Likewise.
3856         * modules/mbsstr-tests (Makefile.am): Likewise.
3857         * modules/printf-posix-tests (Makefile.am): Likewise.
3858         * modules/snprintf-posix-tests (Makefile.am): Likewise.
3859         * modules/sprintf-posix-tests (Makefile.am): Likewise.
3860         * modules/tsearch-tests (Makefile.am): Likewise.
3861         * modules/uniname/uniname-tests (Makefile.am): Likewise.
3862         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
3863         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
3864         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
3865         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
3866         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
3867         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
3868         * modules/vprintf-posix-tests (Makefile.am): Likewise.
3869         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
3870         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
3871         * modules/xstrtoimax-tests (Makefile.am): Likewise.
3872         * modules/xstrtol-tests (Makefile.am): Likewise.
3873         * modules/xstrtoumax-tests (Makefile.am): Likewise.
3874         * modules/yesno-tests (Makefile.am): Likewise.
3875
3876 2007-10-03  Bruno Haible  <bruno@clisp.org>
3877
3878         * modules/trunc-tests: New file.
3879         * tests/test-trunc.c: New file.
3880
3881         * modules/trunc: New file.
3882         * lib/trunc.c: New file.
3883         * m4/trunc.m4: New file.
3884         * lib/math.in.h (trunc): New declaration.
3885         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
3886         HAVE_DECL_TRUNC.
3887         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
3888         HAVE_DECL_TRUNC.
3889         * doc/functions/trunc.texi: Mention the 'trunc' module.
3890
3891 2007-10-03  Bruno Haible  <bruno@clisp.org>
3892
3893         * tests/test-fpending.c: New file, mostly copied
3894         from coreutils/lib/t-fpending.c.
3895         * modules/fpending-tests: New file.
3896
3897 2007-10-03  Bruno Haible  <bruno@clisp.org>
3898
3899         Port the stdio extensions to QNX (untested).
3900         * lib/fseterr.c (fseterr): Add support for QNX.
3901         * lib/fbufmode.c (fbufmode): Likewise.
3902         * lib/freadable.c (freadable): Likewise.
3903         * lib/fwritable.c (fwritable): Likewise.
3904         * lib/freading.c (freading): Likewise.
3905         * lib/fwriting.c (fwriting): Likewise.
3906         * lib/freadahead.c (freadahed): Likewise.
3907         * lib/fpurge.c (fpurge): Likewise.
3908         * lib/fseeko.c (rpl_fseeko): Likewise.
3909
3910 2007-10-03  Bruno Haible  <bruno@clisp.org>
3911             Jim Meyering  <jim@meyering.net>
3912             Eric Blake  <ebb9@byu.net>
3913
3914         * doc/relocatable.texi: Use @command instead of @program.
3915
3916 2007-10-02  Jim Meyering  <jim@meyering.net>
3917
3918         Perform one more "_.h" -> ".in.h" substitution.
3919         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
3920         instead of unistd_.h here, too.
3921
3922 2007-10-01  Bruno Haible  <bruno@clisp.org>
3923
3924         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
3925         Needed for the alloca-opt module.
3926
3927 2007-09-30  Bruno Haible  <bruno@clisp.org>
3928
3929         * lib/alloca.in.h: Renamed from lib/alloca_.h.
3930         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
3931         alloca_.h.
3932         * lib/argz.in.h: Renamed from lib/argz_.h.
3933         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
3934         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
3935         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
3936         byteswap_.h.
3937         * lib/dirent.in.h: Renamed from lib/dirent_.h.
3938         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
3939         dirent_.h.
3940         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
3941         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
3942         fcntl_.h.
3943         * lib/float.in.h: Renamed from lib/float_.h.
3944         * modules/float (Files, Makefile.am): Use float.in.h instead of
3945         float_.h.
3946         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
3947         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
3948         fnmatch_.h.
3949         * lib/getopt.in.h: Renamed from lib/getopt_.h.
3950         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
3951         getopt_.h.
3952         * lib/glob.in.h: Renamed from lib/glob_.h.
3953         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
3954         * lib/iconv.in.h: Renamed from lib/iconv_.h.
3955         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
3956         iconv_.h.
3957         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
3958         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
3959         inttypes_.h.
3960         * lib/locale.in.h: Renamed from lib/locale_.h.
3961         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
3962         locale_.h.
3963         * lib/math.in.h: Renamed from lib/math_.h.
3964         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
3965         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
3966         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
3967         of netinet_in_.h. Add dependency.
3968         * lib/poll.in.h: Renamed from lib/poll_.h.
3969         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
3970         * lib/search.in.h: Renamed from lib/search_.h.
3971         * modules/search (Files, Makefile.am): Use search.in.h instead of
3972         search_.h.
3973         * lib/signal.in.h: Renamed from lib/signal_.h.
3974         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
3975         _signal.h.
3976         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
3977         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
3978         stdbool_.h.
3979         * lib/stdint.in.h: Renamed from lib/stdint_.h.
3980         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
3981         stdint_.h.
3982         * lib/stdio.in.h: Renamed from lib/stdio_.h.
3983         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
3984         stdio_.h.
3985         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
3986         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
3987         stdlib_.h.
3988         * lib/string.in.h: Renamed from lib/string_.h.
3989         * modules/string (Files, Makefile.am): Use string.in.h instead of
3990         string_.h.
3991         * doc/gnulib-tool.texi (Initial import): Update.
3992         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
3993         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
3994         of sys_select_.h. Add dependency.
3995         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
3996         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
3997         of sys_socket_.h.
3998         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
3999         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
4000         sys_stat_.h.
4001         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
4002         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
4003         sys_time_.h.
4004         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
4005         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
4006         sysexits_.h.
4007         * lib/time.in.h: Renamed from lib/time_.h.
4008         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
4009         * lib/unistd.in.h: Renamed from lib/unistd_.h.
4010         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
4011         unistd_.h.
4012         * lib/wchar.in.h: Renamed from lib/wchar_.h.
4013         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
4014         wchar_.h.
4015         * lib/wctype.in.h: Renamed from lib/wctype_.h.
4016         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
4017         wctype_.h.
4018         * build-aux/bootstrap (slurp): Update.
4019         * lib/.cppi-disable: Update.
4020
4021 2007-09-30  Bruno Haible  <bruno@clisp.org>
4022
4023         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
4024         Needed on BeOS.
4025
4026 2007-09-30  Bruno Haible  <bruno@clisp.org>
4027
4028         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
4029
4030 2007-09-29  Bruno Haible  <bruno@clisp.org>
4031
4032         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
4033
4034 2007-09-29  Bruno Haible  <bruno@clisp.org>
4035
4036         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
4037         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
4038         * build-aux/install-reloc: Compile also areadlink.c.
4039         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
4040
4041 2007-09-29  Bruno Haible  <bruno@clisp.org>
4042
4043         * gnulib-tool (func_emit_initmacro_done): Indentation.
4044
4045 2007-09-29  Bruno Haible  <bruno@clisp.org>
4046
4047         * README: Add CVS checkout update instructions.
4048         Info from Bob Proulx <bob@proulx.com>.
4049
4050 2007-09-28  Eric Blake  <ebb9@byu.net>
4051
4052         Provide move-if-change.
4053         * build-aux/move-if-change: New file, based on best practice
4054         rather than any canonical upstream location.
4055
4056 2007-09-28  Jim Meyering  <jim@meyering.net>
4057
4058         Fix canonicalize loop-detection corner case.
4059         Do not attempt to stat the symlink values stored via seen_triple.
4060         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
4061         on linux-2.6.18, (but not 2.6.22).
4062         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
4063         triple_compare.  The former compares dev,ino,filename, while the latter
4064         would actually stat dirname(filename) when dev and ino were equal.
4065         * lib/hash-triple.c: Install <string.h>.
4066         (STREQ): Define.
4067         (triple_compare_ino_str): New function.
4068         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
4069
4070 2007-09-28  Eric Blake  <ebb9@byu.net>
4071
4072         Enforce that AC_REPLACE_FUNCS files exist.
4073         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
4074         override check for typos.
4075
4076         Fix test-closein on Solaris 10.
4077         * tests/test-closein.c (main): Don't assume stdin can be inherited
4078         closed on all systems.
4079         * tests/test-closein.sh: Likewise.
4080         Reported by Piotr Tarnowski.
4081
4082 2007-09-28  Jim Meyering  <jim@meyering.net>
4083
4084         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
4085
4086 2007-09-27  Jim Meyering  <jim@meyering.net>
4087
4088         canonicalize: Avoid a false-positive cycle failure.
4089         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
4090         Sort.  Remove cycle-check.
4091         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
4092         not cycle-check.h.
4093         (seen_triple): New function.
4094         (canonicalize_filename_mode): Use it instead of cycle-check.
4095         * tests/test-canonicalize.c: Add a test for this bug.
4096         * tests/test-canonicalize.sh: Set up and run the test.
4097
4098         New module, file-set, from coreutils.
4099         * modules/file-set: Define it.
4100         * lib/file-set.c, lib/file-set.h: Implement.
4101
4102         New module, hash-triple, from coreutils.
4103         * modules/hash-triple: Define it.
4104         * lib/hash-triple.c, lib/hash-triple.h: Implement.
4105
4106 2007-09-25  Eric Blake  <ebb9@byu.net>
4107
4108         Fix strerror on Interix.
4109         * lib/string_.h (strerror): Declare replacement.
4110         * doc/functions/strerror.texi (strerror): Document the Interix
4111         shortcoming.
4112         * modules/string (Makefile.am): Support new hooks.
4113         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
4114         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
4115         gl_FUNC_STRERROR_SEPARATE.
4116         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
4117         * lib/strerror.c (rpl_strerror): Provide replacement.
4118         * modules/strerror (Depends-on): Add string.
4119         (configure.ac): Detect use of module.
4120         * tests/test-strerror.c: New file.
4121         * modules/strerror-tests: New test module.
4122         * modules/argp (Depends-on): Add strerror.
4123         * modules/error (Depends-on): Likewise.
4124         Reported by Martin Koeppe.
4125
4126 2007-09-24  Bruno Haible  <bruno@clisp.org>
4127
4128         * README: Update git instructions.
4129
4130 2007-09-24  Eric Blake  <ebb9@byu.net>
4131
4132         Revert fpending breakage from 2007-09-08.
4133         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
4134         __fpending.c.
4135
4136 2007-09-24  Jim Meyering  <jim@meyering.net>
4137
4138         filenamecat.c: Add a test.
4139         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
4140         showing how the function works when DIR is the empty string.
4141
4142 2007-09-21  Simon Josefsson  <simon@josefsson.org>
4143
4144         * tests/test-canonicalize.sh: Turn on executable bit.
4145
4146 2007-09-19  Eric Blake  <ebb9@byu.net>
4147
4148         * README: Update CVS instructions.
4149
4150 2007-09-18  Bruno Haible  <bruno@clisp.org>
4151
4152         * modules/areadlink: New file.
4153         * lib/areadlink.h (areadlink): New declaration.
4154         * lib/areadlink.c: New file, based on lib/xreadlink.c.
4155
4156 2007-09-17  Jim Meyering  <jim@meyering.net>
4157
4158         * lib/savewd.c (ESTALE) [!defined]: Define.
4159         Reported to be required on Interix by Martin Koeppe.
4160
4161 2007-09-17  Bruno Haible  <bruno@clisp.org>
4162
4163         * gnulib-tool (func_version): Use $version.
4164
4165 2007-09-16  Bruno Haible  <bruno@clisp.org>
4166
4167         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
4168         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
4169         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
4170         Reported by Greg Schafer <gschafer@zip.com.au>.
4171
4172 2007-09-15  Bruno Haible  <bruno@clisp.org>
4173
4174         * gnulib-tool (sed): Try a little harder to make bash understand the
4175         alias.
4176         Reported by Bruce Korb <bruce.korb@gmail.com>.
4177
4178 2007-09-13  Eric Blake  <ebb9@byu.net>
4179
4180         * ChangeLog: Remove conflict markers.
4181
4182 2007-09-13  Simon Josefsson  <simon@josefsson.org>
4183
4184         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
4185         Reported by Bruno Haible <bruno@clisp.org>.
4186
4187 2007-09-12  Bruno Haible  <bruno@clisp.org>
4188
4189         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
4190         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
4191         is not defined.
4192
4193 2007-09-12  Eric Blake  <ebb9@byu.net>
4194
4195         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
4196         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
4197         Autoconf definition.
4198         * modules/euidaccess (Depends-on): Add extensions, for
4199         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
4200         * modules/fnmatch (Depends-on): Likewise.
4201         * modules/getaddrinfo (Depends-on): Likewise.
4202         * modules/getdelim (Depends-on): Likewise.
4203         * modules/getline (Depends-on): Likewise.
4204         * modules/getsubopt (Depends-on): Likewise.
4205         * modules/gettext (Depends-on): Likewise.
4206         * modules/group-member (Depends-on): Likewise.
4207         * modules/mbchar (Depends-on): Likewise.
4208         * modules/memmem (Depends-on): Likewise.
4209         * modules/mempcpy (Depends-on): Likewise.
4210         * modules/memrchr (Depends-on): Likewise.
4211         * modules/pagealign_alloc (Depends-on): Likewise.
4212         * modules/readutmp (Depends-on): Likewise.
4213         * modules/stpcpy (Depends-on): Likewise.
4214         * modules/stpncpy (Depends-on): Likewise.
4215         * modules/strchrnul (Depends-on): Likewise.
4216         * modules/strndup (Depends-on): Likewise.
4217         * modules/strsep (Depends-on): Likewise.
4218         * modules/strverscmp (Depends-on): Likewise.
4219         * modules/vasprintf (Depends-on): Likewise.
4220         * modules/wcwidth (Depends-on): Likewise.
4221         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
4222         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
4223         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
4224         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
4225         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
4226         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
4227         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
4228         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
4229         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
4230         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
4231         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
4232         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
4233         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
4234         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
4235         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
4236         * m4/readutmp.m4 (gl_READUTMP): Likewise.
4237         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
4238         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
4239         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
4240         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
4241         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
4242         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
4243         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
4244         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
4245         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
4246         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
4247         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
4248         so that lock.m4 can be used in gettext without extensions module.
4249
4250 2007-09-11  Bruno Haible  <bruno@clisp.org>
4251
4252         * m4/isc-posix.m4: Remove file.
4253         Suggested by Eric Blake.
4254
4255 2007-09-11  Eric Blake  <ebb9@byu.net>
4256
4257         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
4258
4259 2007-09-10  Bruno Haible  <bruno@clisp.org>
4260
4261         * posix-modules: Fix typo in error message.
4262         Reported by Matt <mkraai@beckman.com>.
4263
4264 2007-09-09  Bruno Haible  <bruno@clisp.org>
4265
4266         * doc/functions/getdelim.texi: Update list of platforms lacking the
4267         function.
4268         * doc/functions/getline.texi: Likewise.
4269
4270 2007-09-09  Jim Meyering  <jim@meyering.net>
4271
4272         * lib/hash.c (hash_initialize): Detect calloc failure.
4273         Reported by Bruno Haible.
4274
4275 2007-09-09  Bruno Haible  <bruno@clisp.org>
4276
4277         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
4278         malloc or realloc fails.
4279
4280 2007-09-09  Bruno Haible  <bruno@clisp.org>
4281
4282         * modules/getcwd (Depends-on): Add malloc-posix.
4283         * modules/glob (Depends-on): Likewise.
4284         * modules/putenv (Depends-on): Likewise.
4285         * modules/strdup (Depends-on): Likewise.
4286         * modules/getdelim (Depends-on): Add realloc-posix.
4287         * modules/read-file (Depends-on): Likewise.
4288
4289 2007-09-09  Bruno Haible  <bruno@clisp.org>
4290
4291         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
4292         (gl_FUNC_MALLOC_POSIX): Require it.
4293         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
4294         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
4295         * modules/realloc (Files): Add m4/malloc.m4.
4296         * modules/calloc (Files): Likewise.
4297
4298 2007-09-09  Bruno Haible  <bruno@clisp.org>
4299
4300         * modules/malloc-posix: New file.
4301         * modules/malloc (Depends-on): Add malloc-posix.
4302         * lib/malloc.c: Include errno.h.
4303         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
4304         and a POSIX-compatible malloc into a single function. Set ENOMEM
4305         when returning NULL.
4306         * m4/malloc.m4: New file.
4307         * doc/functions/malloc.texi: Mention the malloc-posix module.
4308         * lib/stdlib_.h (malloc): New declaration.
4309         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
4310         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
4311         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
4312         and HAVE_MALLOC_POSIX.
4313
4314 2007-09-09  Bruno Haible  <bruno@clisp.org>
4315
4316         * modules/realloc-posix: New file.
4317         * modules/realloc (Depends-on): Add realloc-posix.
4318         * lib/realloc.c: Include errno.h.
4319         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
4320         and a POSIX-compatible realloc into a single function. Set ENOMEM
4321         when returning NULL.
4322         * m4/realloc.m4: New file.
4323         * doc/functions/realloc.texi: Mention the realloc-posix module.
4324         * lib/stdlib_.h (realloc): New declaration.
4325         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
4326         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
4327         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
4328         and HAVE_REALLOC_POSIX.
4329
4330 2007-09-09  Bruno Haible  <bruno@clisp.org>
4331
4332         * modules/calloc-posix: New file.
4333         * modules/calloc (Depends-on): Add calloc-posix.
4334         * lib/calloc.c: Include errno.h.
4335         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
4336         and a POSIX-compatible calloc into a single function. Set ENOMEM
4337         when returning NULL.
4338         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
4339         * doc/functions/calloc.texi: Mention the calloc-posix module.
4340         * lib/stdlib_.h (calloc): New declaration.
4341         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
4342         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
4343         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
4344         and HAVE_CALLOC_POSIX.
4345
4346 2007-09-09  Bruno Haible  <bruno@clisp.org>
4347
4348         Allow for modules to show an arbitrary notice.
4349         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
4350         * gnulib-tool: New option --extract-notice.
4351         (func_usage): Document it.
4352         (sed_extract_prog): Update.
4353         (func_get_notice): New function.
4354         (func_modules_notice): New function.
4355         (func_import, func_create_testdir): Invoke it.
4356         Suggested by Jim Meyering.
4357
4358 2007-09-09  Bruno Haible  <bruno@clisp.org>
4359
4360         * gnulib-tool: New options --verbose, --quiet.
4361         (func_usage): Document them.
4362         (verbose): New variable.
4363         (func_execute_command): New function.
4364         (func_import): Don't show the module list and the file list if
4365         $verbose < 0.
4366         (func_create_testdir): Likewise. Use func_execute_command.
4367         (func_create_megatestdir): Use func_execute_command.
4368
4369 2007-09-08  Bruno Haible  <bruno@clisp.org>
4370
4371         * gnulib-tool (func_import): Prefer rsync over wget when available,
4372         for fetching the PO files.
4373
4374 2007-09-08  Bruno Haible  <bruno@clisp.org>
4375
4376         * posix-modules: New file. Portions copied from gnulib-tool.
4377         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
4378
4379 2007-09-08  Jim Meyering  <jim@meyering.net>
4380
4381         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
4382         * lib/fpending.h: Rename from __fpending.h.
4383         * lib/fpending.c: Rename from __fpending.c.
4384         Include "fpending.h", not "__fpending.h".
4385         * lib/__fpending.h, lib/__fpending.c: Remove files.
4386         * modules/fpending (Files): Reflect new file names.
4387         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
4388
4389 2007-09-08  Bruno Haible  <bruno@clisp.org>
4390
4391         * m4/inttypes-h.m4: Remove stub file.
4392
4393 2007-09-07  Simon Josefsson  <simon@josefsson.org>
4394
4395         * doc/headers/stdint.texi: Discuss #include_next issue.
4396
4397 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
4398
4399         * build-aux/bootstrap: Remove obsolete comment about wget --help.
4400
4401 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
4402
4403         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
4404         in variable name.
4405
4406 2007-09-03  Jim Meyering  <jim@meyering.net>
4407
4408         New module: git-version-gen.
4409         * modules/git-version-gen: New file.
4410
4411         Import changes from coreutils for bootstrap script.
4412
4413         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
4414
4415         bootstrap: uses rsync to download the .po files
4416         * build-aux/bootstrap (po_download_command_format): New global.
4417         (download_po_files): Use rsync.
4418         (update_po_files): Don't remove .po files after download,
4419         so future rsync runs can take advantage of the copies.
4420
4421         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
4422
4423         Solve the unnecessary-.po-file-regeneration problem once and for all.
4424         * build-aux/bootstrap (download_po_files): New function, renamed from
4425         get_translations.  Now, downloads, but doesn't update LINGUAS.
4426         (update_po_files): New function.
4427
4428         bootstrap: Ignore more.
4429         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
4430         uniwidth to e.g., lib/.gitignore.
4431         (slurp): Handle the sys_stat_.h -> sys mapping, too.
4432
4433         * build-aux/bootstrap: New setting: vc_ignore.
4434         (insert_sorted_if_absent): Create $file if absent.
4435         Adapt to new, possibly empty, list: $vc_ignore.
4436
4437         bootstrap: generate more ignorable names
4438         * build-aux/bootstrap (slurp): When generating ignorable names,
4439         also map .sin to .sed, .gperf to .c, and .y to .c.
4440
4441 2007-09-03  Jim Meyering  <jim@meyering.net>
4442
4443         * build-aux/git-version-gen: New file, from coreutils.  For details, see
4444         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
4445
4446 2007-09-02  Bruno Haible  <bruno@clisp.org>
4447
4448         Fix mis-recognition of 'mcs' on QNX 6.
4449         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
4450         output contains the string "Mono".
4451         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
4452         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
4453
4454 2007-09-01  Bruno Haible  <bruno@clisp.org>
4455
4456         Fix collision between uniwidth/* and linebreak modules.
4457         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
4458         u32_width): Remove declarations.
4459         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
4460         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
4461         streq3, streq2, streq1, streq0): Remove functions.
4462         (STREQ): Remove macro.
4463         (is_cjk_encoding): Remove function.
4464         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
4465         (uc_width, u8_width, u16_width, u32_width): Remove functions.
4466         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
4467         * NEWS: Document the change.
4468
4469 2007-09-01  Bruno Haible  <bruno@clisp.org>
4470
4471         * lib/streq.h: Add double-inclusion guard.
4472
4473 2007-09-01  Karl Berry  <karl@gnu.org>
4474
4475         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
4476
4477 2007-08-28  Jim Meyering  <jim@meyering.net>
4478
4479         Rename mreadlink_with_size to areadlink_with_size.
4480         * NEWS: Document the change.
4481         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
4482         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
4483         * lib/mreadlink.h: Rename this to...
4484         * lib/areadlink.h: ...this.
4485         * modules/mreadlink-with-size: Rename this to...
4486         * modules/areadlink-with-size: ...this.
4487         * lib/canonicalize.c: Reflect the renaming.
4488         * modules/canonicalize: Likewise.
4489
4490 2007-08-26  Bruno Haible  <bruno@clisp.org>
4491
4492         * gnulib-tool (func_import): When deciding which files to remove,
4493         consider also dangling symbolic links.
4494         Reported by Eric Blake.
4495
4496 2007-08-26  Bruno Haible  <bruno@clisp.org>
4497
4498         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
4499
4500 2007-08-23  Simon Josefsson  <simon@josefsson.org>
4501
4502         * lib/readline.c: Don't include getline.h, the prototype is now
4503         found in stdio.h.
4504
4505 2007-08-23  Jim Meyering  <jim@meyering.net>
4506
4507         Getdelim touchup.
4508         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
4509         around the funlockfile call, since funlockfile never sets errno.
4510         Don't set errno upon failed realloc.
4511
4512 2007-08-22  Eric Blake  <ebb9@byu.net>
4513
4514         Getline touchups.
4515         * lib/getdelim.c (getdelim): Revert regression that required *n to
4516         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
4517         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
4518         getdelim, rather than whether implementation is missing.
4519         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
4520         * lib/stdio_.h (getline): Also declare if replacement is
4521         required.
4522         * doc/functions/getdelim.texi: New file.
4523         * doc/functions/getline.texi: Likewise.
4524         * doc/gnulib.texi (Function Substitutes): Add new files.
4525         Reported by Bruno Haible.
4526
4527 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
4528
4529         * users.txt: Add Guile.
4530
4531 2007-08-22  Eric Blake  <ebb9@byu.net>
4532
4533         * tests/test-getdelim.c (main): Use remove, not unlink.
4534         * tests/test-getline.c (main): Likewise.
4535
4536         Move getline and getdelim into stdio.h, per POSIX 200x.
4537         * modules/getline (Files): Remove getline.h.
4538         (Depends-on): Add stdio.
4539         (configure.ac): Add module indicator.
4540         * modules/getdelim (Files): Remove getdelim.h.
4541         (Depends-on): Add stdio.
4542         (configure.ac): Add module indicator.
4543         * modules/stdio (Makefile.am): Work with new indicators.
4544         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
4545         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
4546         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
4547         * lib/getdelim.h: Delete.
4548         * lib/getline.h: Delete.
4549         * lib/stdio_.h (getdelim, getline): Declare.
4550         * modules/getdelim-tests: New module.
4551         * modules/getline-tests: Likewise.
4552         * tests/test-getdelim.c: New file.
4553         * tests/test-getline.c: Likewise.
4554         * NEWS: Document the change.
4555         * lib/getline.c: Update choice of header.
4556         * lib/csharpcomp.c: Likewise.
4557         * lib/getpass.c: Likewise.
4558         * lib/javacomp.c: Likewise.
4559         * lib/javaversion.c: Likewise.
4560         * lib/yesno.c: Likewise.
4561         * lib/getdelim.c: Likewise.
4562         (getdelim): Set errno on failure, and avoid memory leak.
4563
4564 2007-08-19  Bruno Haible  <bruno@clisp.org>
4565
4566         * modules/closein (Depends-on): Add freadahead.
4567         * lib/closein.c: Include freadahead.h.
4568         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
4569         is zero.
4570
4571 2007-08-19  Bruno Haible  <bruno@clisp.org>
4572
4573         * modules/freadahead-tests: New file.
4574         * tests/test-freadahead.sh: New file.
4575         * tests/test-freadahead.c: New file.
4576
4577         * modules/freadahead: New file.
4578         * lib/freadahead.h: New file.
4579         * lib/freadahead.c: New file.
4580         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
4581         fbufmode, fpurge, freadable, fwritable.
4582
4583 2007-08-19  Eric Blake  <ebb9@byu.net>
4584
4585         Test yesno in combination with closein.
4586         * lib/yesno.c (yesno): Document use of stdin.
4587         * modules/yesno-tests (Files): New module.
4588         * tests/test-yesno.c (main): New file.
4589         * tests/test-yesno.sh: Likewise.
4590
4591 2007-08-19  Bruno Haible  <bruno@clisp.org>
4592
4593         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
4594         * lib/fseeko.c (rpl_fseeko): Likewise.
4595         * lib/fseterr.c (fseterr): Likewise.
4596
4597 2007-08-19  Bruno Haible  <bruno@clisp.org>
4598
4599         * tests/test-lseek.c (main): Disable a test for BeOS.
4600         * doc/functions/lseek.texi: Document the BeOS bug.
4601
4602 2007-08-19  Bruno Haible  <bruno@clisp.org>
4603             Eric Blake  <ebb9@byu.net>
4604
4605         * lib/lseek.c: Include <sys/stat.h>.
4606         (rpl_lseek): Add workaround code also for Unix platforms.
4607         Needed for BeOS.
4608         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
4609         * doc/functions/lseek.texi: Document BeOS definiency.
4610
4611 2007-08-18  Bruno Haible  <bruno@clisp.org>
4612
4613         * modules/fstrcmp-tests: New file.
4614         * tests/test-fstrcmp.c: New file.
4615
4616 2007-08-18  Bruno Haible  <bruno@clisp.org>
4617
4618         * modules/fstrcmp: New file, from GNU gettext with modifications.
4619         * lib/fstrcmp.h: New file, from GNU gettext.
4620         * lib/fstrcmp.c: New file, from GNU gettext.
4621         * MODULES.html.sh (String handling): Add fstrcmp.
4622
4623 2007-08-18  Bruno Haible  <bruno@clisp.org>
4624
4625         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
4626         'bool'.
4627         (diag, compareseq): Remove const from the ctxt argument.
4628         (USE_HEURISTIC): Undefine at the end.
4629
4630 2007-08-18  Jim Meyering  <jim@meyering.net>
4631
4632         New file: lib/idcache.h
4633         * NEWS: Mention the addition.
4634         * modules/idcache (Files): Add lib/idcache.h
4635         * lib/idcache.c: Include "idcache.h".
4636         Don't include <sys/types.h>.
4637         Add a FIXME comment.
4638         Move file-scoped "static" declarations to the top.
4639         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
4640
4641 2007-08-17  Bruno Haible  <bruno@clisp.org>
4642         and Paul Eggert  <eggert@cs.ucla.edu>
4643
4644         * MODULES.html.sh: Add diffseq.
4645         * modules/diffseq: New file.
4646         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
4647         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
4648
4649 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
4650
4651         Import changes from coreutils for bootstrap script.
4652
4653         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
4654
4655         * build-aux/bootstrap (slurp): Work even in environments where
4656         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
4657         current code does not slurp files whose names start with ".", and
4658         this looks like it might be a troublesome area.
4659
4660         2007-07-11  Jim Meyering  <jim@meyering.net>
4661
4662         If there's a GPL vN copyright comment, require that N == 3.
4663
4664         2007-07-08  Jim Meyering  <jim@meyering.net>
4665
4666         Run the coreutils-specific code only if tests/Makefile.am.in exists.
4667         * build-aux/bootstrap (mam_template): Move definition out of loop.
4668
4669         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
4670
4671         * build-aux/bootstrap (symlink_to_dir): Rename function from
4672         symlink_to_gnulib.  Add a directory parameter.  Update all
4673         callers.
4674         (cp_mark_as_generated): Also check for -- and link to -- files in
4675         gl/.
4676
4677         2007-07-08  Jim Meyering  <jim@meyering.net>
4678
4679         Adapt to deeper hierarchy in gnulib.
4680         * build-aux/bootstrap (symlink_to_dir): If the destination
4681         directory doesn't exist, create it. This is required at least for
4682         "lib/uniwidth/cjk.h".
4683
4684         2007-05-15  Jim Meyering  <jim@meyering.net>
4685
4686         * build-aux/bootstrap: Now that generated Makefile.am files
4687         are no longer under version control, they must be created at
4688         bootstrap time.
4689
4690 2007-08-14  Ben Pfaff  <blp@gnu.org>
4691
4692         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
4693
4694 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
4695
4696         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
4697         given the changes below.
4698         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
4699         even on hosts that have padding bits beyond the supported 64.
4700
4701 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
4702
4703         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
4704         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
4705         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
4706         depends on it.
4707         (xstrtol_error): Remove.
4708         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
4709         but with a different signature.
4710         (ATTRIBUTE_NORETURN, __attribute__): New macros.
4711         * lib/xstrtol-error.c: Include exitfail.h.
4712         (xstrtol_fatal): New function, with a different signature from the
4713         old xstrtol_error, so that the caller need not worry about passing
4714         in an exit status, or about storage management of the option argument.
4715         (xstrtol_error): Now a static function.  Redo signature to
4716         implement xstrtol_fatal.  Output the correct number of hyphens in
4717         front of the option so that the caller need not worry about
4718         storage management.
4719         (N_): New macro.
4720         (_): Remove; not used now.
4721         * modules/xstrtol: Depend on getopt.
4722         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
4723         of old STRTOL_FATAL_ERROR macro.
4724         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
4725         of test program.
4726         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
4727         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
4728
4729 2007-08-08  Eric Blake  <ebb9@byu.net>
4730
4731         * lib/xstrtol-error.c: Add missing include.
4732
4733         Move xstrtol messages into gnulib domain, when --pobase is used.
4734         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
4735         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
4736         * modules/xstrtol (Files): Distribute new file.
4737         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
4738         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
4739         * tests/test-xstrtol.c: ...into new file.
4740         * tests/test-xstrtoul.c: Also test xstrtoul.
4741         * tests/test-xstrtoimax.c: Also test xstrtoimax.
4742         * tests/test-xstrtoumax.c: Also test xstrtoumax.
4743         * tests/test-xstrtol.sh: Drive the tests.
4744         * tests/test-xstrtoimax.sh: Likewise.
4745         * tests/test-xstrtoumax.sh: Likewise.
4746         * modules/xstrtol-tests: New module.
4747         * modules/xstrtoimax-tests: Likewise.
4748         * modules/xstrtoumax-tests: Likewise.
4749
4750 2007-08-08  Jim Meyering  <jim@meyering.net>
4751
4752         New function: mfile_name_concat.
4753         * lib/filenamecat.c (mfile_name_concat): New function, just like
4754         file_name_concat, but return NULL upon failure rather than exiting
4755         with a diagnostic.
4756         * lib/filenamecat.h: Declare it.
4757
4758 2007-08-07  Bruno Haible  <bruno@clisp.org>
4759
4760         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
4761         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
4762         warning from gcc.
4763         Reported by Eric Blake.
4764
4765 2007-08-07  Simon Josefsson  <simon@josefsson.org>
4766
4767         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
4768         * modules/crypto/arcfour (License): Likewise.
4769         * modules/crypto/des-tests (License): Likewise.
4770         * modules/crypto/gc-arctwo-tests (License): Likewise.
4771         * modules/crypto/gc-des-tests (License): Likewise.
4772         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
4773         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
4774         * modules/crypto/gc-md2-tests (License): Likewise.
4775         * modules/crypto/gc-md4-tests (License): Likewise.
4776         * modules/crypto/gc-md5-tests (License): Likewise.
4777         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
4778         * modules/crypto/gc-rijndael-tests (License): Likewise.
4779         * modules/crypto/gc-sha1-tests (License): Likewise.
4780         * modules/crypto/gc-tests (License): Likewise.
4781         * modules/crypto/hmac-md5 (License): Likewise.
4782         * modules/crypto/hmac-sha1 (License): Likewise.
4783         * modules/crypto/md2-tests (License): Likewise.
4784         * modules/crypto/md4-tests (License): Likewise.
4785         * modules/crypto/md5 (License): Likewise.
4786         * modules/crypto/rijndael (License): Likewise.
4787         * modules/crypto/sha1 (License): Likewise.
4788         * modules/memxor (License): Likewise.
4789
4790 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
4791         and Bruno Haible  <bruno@clisp.org>
4792
4793         * NEWS: Describe interface changes to human, xstrtol.
4794         * lib/human.h: Include <xstrtol.h>.
4795         (human_options): Return enum strtol_error, not int.  Remove
4796         bool arg; take int * instead.
4797         * lib/human.c: Don't include "gettext.h".
4798         (_): Remove; no longer used.
4799         Don't include <xstrtol.h>, since human.h does it.
4800         (human_options): Adjust to abovementioned interface changes.
4801         Do not report error to stderr; that's now the caller's
4802         responsibility.
4803         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
4804         interface change.
4805         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
4806         Str, Argument_type_string.  All uses changed.  Put " argument"
4807         in diagnostics to make them clearer.  Change wording of suffix
4808         message for clarity.
4809         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
4810         Argument_type_string.
4811         (STRTOL_FATAL_WARN): Remove; no longer used.
4812         * modules/human (Depends-on): Remove gettext-h.
4813
4814 2007-08-06  Simon Josefsson  <simon@josefsson.org>
4815
4816         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
4817
4818 2007-07-31  Bruno Haible  <bruno@clisp.org>
4819
4820         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
4821         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
4822         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
4823
4824 2007-07-31  Bruno Haible  <bruno@clisp.org>
4825
4826         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
4827         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
4828
4829 2007-07-30  Bruno Haible  <bruno@clisp.org>
4830
4831         * modules/base64 (License): Use the synonymous term "LGPLv2+".
4832         * modules/c-ctype (License): Likewise.
4833         * modules/c-strcase (License): Likewise.
4834         * modules/check-version (License): Likewise.
4835         * modules/iconv (License): Likewise.
4836         * modules/iconv_open (License): Likewise.
4837         * modules/read-file (License): Likewise.
4838         * modules/striconv (License): Likewise.
4839         * modules/strverscmp (License): Likewise.
4840         * modules/vasprintf (License): Likewise.
4841         * modules/crypto/des (License): Likewise.
4842         * modules/crypto/gc (License): Likewise.
4843         * modules/crypto/gc-arcfour (License): Likewise.
4844         * modules/crypto/gc-arctwo (License): Likewise.
4845         * modules/crypto/gc-des (License): Likewise.
4846         * modules/crypto/gc-hmac-md5 (License): Likewise.
4847         * modules/crypto/gc-hmac-sha1 (License): Likewise.
4848         * modules/crypto/gc-md2 (License): Likewise.
4849         * modules/crypto/gc-md4 (License): Likewise.
4850         * modules/crypto/gc-md5 (License): Likewise.
4851         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
4852         * modules/crypto/gc-random (License): Likewise.
4853         * modules/crypto/gc-rijndael (License): Likewise.
4854         * modules/crypto/gc-sha1 (License): Likewise.
4855         * modules/crypto/md2 (License): Likewise.
4856         * modules/crypto/md4 (License): Likewise.
4857
4858 2007-07-30  Jim Meyering  <jim@meyering.net>
4859
4860         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
4861         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
4862         it has valid stat data.  This bug would cause du not to count the
4863         sizes of inaccessible directories.
4864         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
4865         in <http://bugzilla.redhat.com/250077>.
4866
4867 2007-07-25  Peter O'Gorman  <peter@pogma.com>
4868             Bruno Haible  <bruno@clisp.org>
4869
4870         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
4871         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
4872         #include_next, gives a diagnostic about it, but reports no error in
4873         the exit code.
4874         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
4875
4876 2007-07-24  Ben Pfaff  <blp@gnu.org>
4877
4878         Improve name: "count-one-bits" is better than "popcount".
4879         * MODULES.html.sh: Update name.
4880         * lib/popcount.h: Renamed lib/count-one-bits.h.
4881         (popcount): Renamed count_one_bits.
4882         (popcountl): Renamed count_one_bits_l.
4883         (popcountll): Renamed count_one_bits_ll.
4884         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
4885         * modules/popcount: Renamed module/count-one-bits.
4886         * modules/popcount-tests: Renamed module/count-one-bits-tests.
4887         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
4888
4889 2007-07-23  Ben Pfaff  <blp@gnu.org>
4890
4891         * lib/popcount.h (popcount32): Reduce size of constants, to allow
4892         better code generation, and add U to large constants to avoid
4893         warnings, in non-GCC case.
4894         Suggested by Bruno Haible.
4895
4896 2007-07-23  Ben Pfaff  <blp@gnu.org>
4897
4898         * lib/popcount.h: Use verify_true instead of if...abort.
4899         * modules/popcount: Depend on verify module.
4900         Suggested by Jim Meyering.
4901
4902 2007-07-23  Bruno Haible  <bruno@clisp.org>
4903
4904         * gnulib-tool (func_import): Create a .cvsignore file also when the
4905         directory is not yet in CVS but the toplevel directory is. When
4906         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
4907         Reported by Karl Berry.
4908
4909 2007-07-22  Ben Pfaff  <blp@gnu.org>
4910
4911         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
4912         case.
4913         Suggested by Eric Blake.
4914
4915 2007-07-22  Ben Pfaff  <blp@gnu.org>
4916
4917         New module: popcount.
4918         * MODULES.html.sh: Add popcount.
4919         * modules/popcount: New file.
4920         * modules/popcount-tests: New file.
4921         * tests/test-popcount.c: New file.
4922         * lib/popcount.h: New file.
4923         * m4/popcount.m4: New file.
4924
4925 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
4926
4927         * build-aux/announce-gen: Update to GPLv3.
4928
4929         * build-aux/config.guess: Update from config.
4930
4931 2007-07-21  Bruno Haible  <bruno@clisp.org>
4932
4933         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
4934         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
4935
4936 2007-07-20  Jim Meyering  <jim@meyering.net>
4937
4938         * check-module: Diagnose a self-dependency.
4939
4940 2007-07-19  Bruno Haible  <bruno@clisp.org>
4941
4942         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
4943         empty.
4944         Reported by Eric Blake.
4945
4946 2007-07-18  Bruno Haible  <bruno@clisp.org>
4947
4948         * gnulib-tool: New options --po-base, --po-domain.
4949         (func_usage): Document them.
4950         (pobase, po_domain): New variables.
4951         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
4952         DEFAULT_TEXT_DOMAIN.
4953         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
4954         (func_import): Consider pobase and po_domain. Create a po/ directory.
4955         (func_create_testdir): Set pobase and po_domain to empty.
4956         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
4957         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
4958
4959 2007-07-18  Bruno Haible  <bruno@clisp.org>
4960
4961         * gnulib-tool (func_get_automake_snippet): Synthesize also an
4962         EXTRA_DIST augmentation for files in build-aux/.
4963
4964 2007-07-16  Bruno Haible  <bruno@clisp.org>
4965
4966         * modules/lseek (License): Use the synonymous term "LGPLv2+".
4967         * modules/getdelim (License): Likewise.
4968
4969 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
4970
4971         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
4972         * modules/d-type (License): Likewise.
4973         * modules/extensions (License): Likewise.
4974         * modules/fnmatch (License): Likewise.
4975         * modules/fseeko (License): Likewise.
4976         * modules/getaddrinfo (License): Likewise.
4977         * modules/getline (License): Likewise.
4978         * modules/getlogin_r (License): Likewise.
4979         * modules/getpass (License): Likewise.
4980         * modules/gettimeofday (License): Likewise.
4981         * modules/glob (License): Likewise.
4982         * modules/inet_ntop (License): Likewise.
4983         * modules/malloc (License): Likewise.
4984         * modules/malloca (License): Likewise.
4985         * modules/memmem (License): Likewise.
4986         * modules/mempcpy (License): Likewise.
4987         * modules/memset (License): Likewise.
4988         * modules/minmax (License): Likewise.
4989         * modules/mktime (License): Likewise.
4990         * modules/netinet_in (License): Likewise.
4991         * modules/pathmax (License): Likewise.
4992         * modules/poll (License): Likewise.
4993         * modules/regex (License): Likewise.
4994         * modules/snprintf (License): Likewise.
4995         * modules/stdbool (License): Likewise.
4996         * modules/stdint (License): Likewise.
4997         * modules/stdio (License): Likewise.
4998         * modules/strcase (License): Likewise.
4999         * modules/strcasestr (License): Likewise.
5000         * modules/strdup (License): Likewise.
5001         * modules/string (License): Likewise.
5002         * modules/strndup (License): Likewise.
5003         * modules/strnlen (License): Likewise.
5004         * modules/strpbrk (License): Likewise.
5005         * modules/strptime (License): Likewise.
5006         * modules/strsep (License): Likewise.
5007         * modules/sys_select (License): Likewise.
5008         * modules/sys_socket (License): Likewise.
5009         * modules/sys_stat (License): Likewise.
5010         * modules/sys_time (License): Likewise.
5011         * modules/time (License): Likewise.
5012         * modules/time_r (License): Likewise.
5013         * modules/timegm (License): Likewise.
5014         * modules/unistd (License): Likewise.
5015         * modules/vsnprintf (License): Likewise.
5016         * modules/wctype (License): Likewise.
5017
5018 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5019
5020         * modules/argz (License): LGPLv2+.
5021
5022 2007-07-15  Karl Berry  <karl@gnu.org>
5023
5024         * doc/gnulib.texi: revise node structure per new fdl.texi.
5025
5026 2007-07-14  Bruno Haible  <bruno@clisp.org>
5027
5028         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
5029         the output file.
5030         * lib/uniname/uninames.h: Regenerated.
5031
5032 2007-07-14  Karl Berry  <karl@gnu.org>
5033
5034         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
5035         omitting sectioning and index commands.
5036
5037 2007-07-13  Bruno Haible  <bruno@clisp.org>
5038
5039         New gnulib-tool option --more-symlinks.
5040         * gnulib-tool (func_usage): Document --more-symlinks.
5041         (do_copyrights): New variable.
5042         Recognize option --more-symlinks.
5043         (func_import): Don't add a copyright notice transform to
5044         sed_transform_lib_file if do_copyrights is empty.
5045
5046 2007-07-13  Bruno Haible  <bruno@clisp.org>
5047
5048         * lib/vasnprintf.c (decimal_point_char): Define also if
5049         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
5050         && !NEED_PRINTF_DIRECTIVE_A.
5051         Reported by Clemens Koller <clemens.koller@anagramm.de> via
5052         Gary V. Vaughan <gary@gnu.org>.
5053
5054 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
5055
5056         * lib/inttypes_.h: Undo previous change, since it was fixed
5057         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
5058
5059 2007-07-13  Bruno Haible  <bruno@clisp.org>
5060
5061         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
5062         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
5063
5064 2007-07-13  Jim Meyering  <jim@meyering.net>
5065
5066         df: Don't fail for Tru64's "file-on-file mount".
5067         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
5068         so we fall through and use statfs instead.  Details here:
5069         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
5070         Reported by Albert Chin.
5071
5072 2007-07-13  Bruno Haible  <bruno@clisp.org>
5073
5074         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
5075         * modules/configmake (License): Likewise.
5076         * modules/gettext (License): Likewise.
5077         * modules/gettext-h (License): Likewise.
5078         * modules/include_next (License): Likewise.
5079         * modules/link-warning (License): Likewise.
5080         * modules/localcharset (License): Likewise.
5081         * modules/localename (License): Likewise.
5082         * modules/lock (License): Likewise.
5083         * modules/relocatable-lib-lgpl (License): Likewise.
5084         * modules/size_max (License): Likewise.
5085         * modules/vasnprintf (License): Likewise.
5086         * modules/wchar (License): Likewise.
5087         * modules/xsize (License): Likewise.
5088
5089 2007-07-13  Bruno Haible  <bruno@clisp.org>
5090
5091         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
5092         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
5093
5094 2007-07-12  Bruno Haible  <bruno@clisp.org>
5095
5096         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
5097         in the modules files.
5098
5099 2007-07-11  Karl Berry  <karl@gnu.org>
5100
5101         * MODULES.html.sh (func_module): use
5102          sed -e '\|^'"${includefile}"'$|d'
5103          instead of /.../d, to avoid errors on $includefile's containing /.
5104
5105 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
5106
5107         * gnulib-tool (func_import): Avoid duplication of --avoid
5108         statements
5109         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
5110         names to `_' in variable names.
5111
5112 2007-07-10  Eric Blake  <ebb9@byu.net>
5113
5114         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
5115         * NEWS: Document this change.
5116
5117 2007-07-08  Bruno Haible  <bruno@clisp.org>
5118
5119         Update to Unicode 5.0.
5120         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
5121         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
5122         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
5123         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
5124         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
5125         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
5126         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
5127         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
5128         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
5129         U+10A3F, U+1D242..U+1D244.
5130         (nonspacing_table_ind): Update.
5131         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
5132         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
5133
5134 2007-07-08  Bruno Haible  <bruno@clisp.org>
5135
5136         Update to Unicode 5.0.
5137         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
5138         code transform. Extend the name index field of unicode_name_to_code and
5139         unicode_code_to_name from 16 to 24 bits.
5140         * lib/uniname/uniname.c (unicode_character_name,
5141         unicode_name_character): Add the range 0x12xxx to the code transform.
5142         * lib/uniname/uninames.h: Regenerated.
5143         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
5144
5145 2007-07-07  Bruno Haible  <bruno@clisp.org>
5146
5147         * modules/wcwidth-tests: New file.
5148         * tests/test-wcwidth.c: New file.
5149
5150         Work around MacOS X wcwidth() bug.
5151         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
5152         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
5153         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
5154         original wcwidth in non-UTF-8 locales.
5155         * modules/wcwidth (Depends-on): Add localcharset, streq,
5156         uniwidth/width.
5157         * doc/functions/wcwidth.texi: Update.
5158
5159 2007-07-07  Bruno Haible  <bruno@clisp.org>
5160
5161         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
5162         (wcwidth): New declaration.
5163         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
5164         macros.
5165         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
5166         here. Prepare for creating <wchar.h> unconditionally.
5167         * modules/wchar (Depends-on): Add link-warning.
5168         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
5169         REPLACE_WCWIDTH, and GL_LINK_WARNING.
5170         * lib/wcwidth.h: Remove file.
5171         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
5172         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
5173         * modules/wcwidth (Files): Remove lib/wcwidth.h.
5174         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
5175         (Include): Replace wcwidth.h with <wchar.h>.
5176         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
5177         * lib/mbchar.h: Don't include wcwidth.h.
5178         * lib/mbswidth.c: Likewise.
5179         * NEWS: Mention the change.
5180
5181 2007-07-07  Bruno Haible  <bruno@clisp.org>
5182
5183         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
5184         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
5185         definition with an external declaration.
5186         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
5187         defined as a function. Remove AC_C_INLINE requirement.
5188         * modules/wcwidth (Files): Add lib/wcwidth.c.
5189         (Makefile.am): Remove redundant statement.
5190
5191 2007-07-07  Bruno Haible  <bruno@clisp.org>
5192
5193         * MODULES.html.sh (Unicode string functions): Add the new modules.
5194
5195         * tests/uniwidth/test-u32-strwidth.c: New file.
5196         * modules/uniwidth/u32-strwidth-tests: New file.
5197
5198         * lib/uniwidth/u32-strwidth.c: New file.
5199         * modules/uniwidth/u32-strwidth: New file.
5200
5201         * tests/uniwidth/test-u16-strwidth.c: New file.
5202         * modules/uniwidth/u16-strwidth-tests: New file.
5203
5204         * lib/uniwidth/u16-strwidth.c: New file.
5205         * modules/uniwidth/u16-strwidth: New file.
5206
5207         * tests/uniwidth/test-u8-strwidth.c: New file.
5208         * modules/uniwidth/u8-strwidth-tests: New file.
5209
5210         * lib/uniwidth/u8-strwidth.c: New file.
5211         * modules/uniwidth/u8-strwidth: New file.
5212
5213         * tests/uniwidth/test-u32-width.c: New file.
5214         * modules/uniwidth/u32-width-tests: New file.
5215
5216         * lib/uniwidth/u32-width.c: New file.
5217         * modules/uniwidth/u32-width: New file.
5218
5219         * tests/uniwidth/test-u16-width.c: New file.
5220         * modules/uniwidth/u16-width-tests: New file.
5221
5222         * lib/uniwidth/u16-width.c: New file.
5223         * modules/uniwidth/u16-width: New file.
5224
5225         * tests/uniwidth/test-u8-width.c: New file.
5226         * modules/uniwidth/u8-width-tests: New file.
5227
5228         * lib/uniwidth/u8-width.c: New file.
5229         * modules/uniwidth/u8-width: New file.
5230
5231         * tests/uniwidth/test-uc_width.c: New file.
5232         * modules/uniwidth/width-tests: New file.
5233
5234         * lib/uniwidth/width.c: New file, from GNU libiconv.
5235         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
5236         * modules/uniwidth/width: New file.
5237
5238         * lib/uniwidth.h: New file, from GNU libiconv.
5239         * modules/uniwidth/base: New file.
5240
5241 2007-07-07  Bruno Haible  <bruno@clisp.org>
5242
5243         * lib/uniname.h: New file, from GNU gettext.
5244         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
5245         * lib/uniname/uninames.h: New file, from GNU gettext.
5246         * lib/uniname/uniname.c: New file, from GNU gettext.
5247         * tests/uniname/test-uninames.sh: New file.
5248         * tests/uniname/test-uninames.c: New file, from GNU gettext.
5249         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
5250         * modules/uniname/base: New file.
5251         * modules/uniname/uniname: New file.
5252         * modules/uniname/uniname-tests: New file.
5253         * MODULES.html.sh (Unicode string functions): Add the new modules.
5254
5255 2007-07-06  Bruno Haible  <bruno@clisp.org>
5256
5257         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
5258
5259 2007-07-06  Bruno Haible  <bruno@clisp.org>
5260
5261         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
5262         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
5263         includes <cygwin/sys_time.h> which includes <sys/select.h> which
5264         include <sys/time.h>.
5265         Reported by Eric Blake.
5266
5267 2007-07-06  Eric Blake  <ebb9@byu.net>
5268
5269         Fix testing canonicalize on cygwin.
5270         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
5271         Revert patch from 2007-06-19.
5272         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
5273         canonicalize module is also in use.
5274         * tests/test-canonicalize.c: New file.
5275         * tests/test-canonicalize.sh: Likewise.
5276         * modules/canonicalize-tests: Likewise.
5277
5278 2007-07-06  Jim Meyering  <jim@meyering.net>
5279
5280         * lib/getugroups.c (getugroups): Detect getgrent failure.
5281         Adjust comment to reflect reality: this function may return -1.
5282
5283 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
5284
5285         * build-aux/bootstrap (TP_URL,get_translations): Update to use
5286         the new TP address.
5287         (usage): Fix typo
5288         (gnulib_mk): New variable.
5289
5290 2007-07-05  Jim Meyering  <jim@meyering.net>
5291
5292         Don't let endgrent clobber errno, no matter how improbable.
5293         * lib/getugroups.c (getugroups): Save and restore errno around
5294         endgrent call.
5295
5296         Close the group DB even when failing with 2^31 or more members.
5297         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
5298
5299 2007-07-04  Jim Meyering  <jim@meyering.net>
5300
5301         * lib/getugroups.h: New file.
5302         * lib/getugroups.c: Include "getugroups.h".
5303         Remove uses of "register" keyword.
5304         Move local variable, "cp", down into scope where used.
5305         Give "username" parameter the "const" attribute.
5306         * modules/getugroups (Files): Add lib/getugroups.h
5307
5308 2007-07-04  Karl Berry  <karl@gnu.org>
5309
5310         * MODULES.html.sh (func_all_modules): Complete rename of
5311         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
5312
5313 2007-07-02  Bruno Haible  <bruno@clisp.org>
5314
5315         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
5316         mode, when inttypes.h comes from gnulib.
5317         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
5318
5319 2007-07-02  Simon Josefsson  <simon@josefsson.org>
5320
5321         * NEWS: Mention lgpl module name change.
5322
5323         * modules/lgpl-2.1: Renamed from lgpl.
5324
5325         * NEWS: Mention gpl module name change.
5326
5327         * modules/gpl-3.0: New file, based on gpl-2.0.
5328
5329         * modules/gpl-2.0: Renamed from gpl.
5330
5331         * modules/gpl: Fix filename, doc/gpl.texi is now found at
5332         doc/gpl-2.0.texi.
5333
5334 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
5335
5336         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
5337         #define __STDC_LIMIT_MACROS temporarily while including
5338         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
5339         Problem reported by Joel E. Denny in
5340         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
5341
5342 2007-07-01  Bruno Haible  <bruno@clisp.org>
5343
5344         * lib/unistdio.h: New file.
5345         * lib/unistdio/u-asnprintf.h: New file.
5346         * lib/unistdio/u-asprintf.h: New file.
5347         * lib/unistdio/u-printf-args.c: New file.
5348         * lib/unistdio/u-printf-args.h: New file.
5349         * lib/unistdio/u-printf-parse.h: New file.
5350         * lib/unistdio/u-snprintf.h: New file.
5351         * lib/unistdio/u-sprintf.h: New file.
5352         * lib/unistdio/u-vasprintf.h: New file.
5353         * lib/unistdio/u-vsnprintf.h: New file.
5354         * lib/unistdio/u-vsprintf.h: New file.
5355         * lib/unistdio/ulc-asnprintf.c: New file.
5356         * lib/unistdio/ulc-asprintf.c: New file.
5357         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
5358         * lib/unistdio/ulc-printf-parse.c: New file.
5359         * lib/unistdio/ulc-snprintf.c: New file.
5360         * lib/unistdio/ulc-sprintf.c: New file.
5361         * lib/unistdio/ulc-vasnprintf.c: New file.
5362         * lib/unistdio/ulc-vasprintf.c: New file.
5363         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
5364         * lib/unistdio/ulc-vsnprintf.c: New file.
5365         * lib/unistdio/ulc-vsprintf.c: New file.
5366         * lib/unistdio/u8-asnprintf.c: New file.
5367         * lib/unistdio/u8-asprintf.c: New file.
5368         * lib/unistdio/u8-printf-parse.c: New file.
5369         * lib/unistdio/u8-snprintf.c: New file.
5370         * lib/unistdio/u8-sprintf.c: New file.
5371         * lib/unistdio/u8-vasnprintf.c: New file.
5372         * lib/unistdio/u8-vasprintf.c: New file.
5373         * lib/unistdio/u8-vsnprintf.c: New file.
5374         * lib/unistdio/u8-vsprintf.c: New file.
5375         * lib/unistdio/u8-u8-asnprintf.c: New file.
5376         * lib/unistdio/u8-u8-asprintf.c: New file.
5377         * lib/unistdio/u8-u8-snprintf.c: New file.
5378         * lib/unistdio/u8-u8-sprintf.c: New file.
5379         * lib/unistdio/u8-u8-vasnprintf.c: New file.
5380         * lib/unistdio/u8-u8-vasprintf.c: New file.
5381         * lib/unistdio/u8-u8-vsnprintf.c: New file.
5382         * lib/unistdio/u8-u8-vsprintf.c: New file.
5383         * lib/unistdio/u16-asnprintf.c: New file.
5384         * lib/unistdio/u16-asprintf.c: New file.
5385         * lib/unistdio/u16-printf-parse.c: New file.
5386         * lib/unistdio/u16-snprintf.c: New file.
5387         * lib/unistdio/u16-sprintf.c: New file.
5388         * lib/unistdio/u16-vasnprintf.c: New file.
5389         * lib/unistdio/u16-vasprintf.c: New file.
5390         * lib/unistdio/u16-vsnprintf.c: New file.
5391         * lib/unistdio/u16-vsprintf.c: New file.
5392         * lib/unistdio/u16-u16-asnprintf.c: New file.
5393         * lib/unistdio/u16-u16-asprintf.c: New file.
5394         * lib/unistdio/u16-u16-snprintf.c: New file.
5395         * lib/unistdio/u16-u16-sprintf.c: New file.
5396         * lib/unistdio/u16-u16-vasnprintf.c: New file.
5397         * lib/unistdio/u16-u16-vasprintf.c: New file.
5398         * lib/unistdio/u16-u16-vsnprintf.c: New file.
5399         * lib/unistdio/u16-u16-vsprintf.c: New file.
5400         * lib/unistdio/u32-asnprintf.c: New file.
5401         * lib/unistdio/u32-asprintf.c: New file.
5402         * lib/unistdio/u32-printf-parse.c: New file.
5403         * lib/unistdio/u32-snprintf.c: New file.
5404         * lib/unistdio/u32-sprintf.c: New file.
5405         * lib/unistdio/u32-vasnprintf.c: New file.
5406         * lib/unistdio/u32-vasprintf.c: New file.
5407         * lib/unistdio/u32-vsnprintf.c: New file.
5408         * lib/unistdio/u32-vsprintf.c: New file.
5409         * lib/unistdio/u32-u32-asnprintf.c: New file.
5410         * lib/unistdio/u32-u32-asprintf.c: New file.
5411         * lib/unistdio/u32-u32-snprintf.c: New file.
5412         * lib/unistdio/u32-u32-sprintf.c: New file.
5413         * lib/unistdio/u32-u32-vasnprintf.c: New file.
5414         * lib/unistdio/u32-u32-vasprintf.c: New file.
5415         * lib/unistdio/u32-u32-vsnprintf.c: New file.
5416         * lib/unistdio/u32-u32-vsprintf.c: New file.
5417         * tests/unistdio/test-ulc-asnprintf1.c: New file.
5418         * tests/unistdio/test-ulc-asnprintf1.h: New file.
5419         * tests/unistdio/test-ulc-printf1.h: New file.
5420         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
5421         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
5422         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
5423         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
5424         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
5425         * tests/unistdio/test-ulc-vasprintf1.c: New file.
5426         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
5427         * tests/unistdio/test-ulc-vsprintf1.c: New file.
5428         * tests/unistdio/test-u8-asnprintf1.c: New file.
5429         * tests/unistdio/test-u8-asnprintf1.h: New file.
5430         * tests/unistdio/test-u8-printf1.h: New file.
5431         * tests/unistdio/test-u8-vasnprintf1.c: New file.
5432         * tests/unistdio/test-u8-vasnprintf2.c: New file.
5433         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
5434         * tests/unistdio/test-u8-vasnprintf3.c: New file.
5435         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
5436         * tests/unistdio/test-u8-vasprintf1.c: New file.
5437         * tests/unistdio/test-u8-vsnprintf1.c: New file.
5438         * tests/unistdio/test-u8-vsprintf1.c: New file.
5439         * tests/unistdio/test-u16-asnprintf1.c: New file.
5440         * tests/unistdio/test-u16-asnprintf1.h: New file.
5441         * tests/unistdio/test-u16-printf1.h: New file.
5442         * tests/unistdio/test-u16-vasnprintf1.c: New file.
5443         * tests/unistdio/test-u16-vasnprintf2.c: New file.
5444         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
5445         * tests/unistdio/test-u16-vasnprintf3.c: New file.
5446         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
5447         * tests/unistdio/test-u16-vasprintf1.c: New file.
5448         * tests/unistdio/test-u16-vsnprintf1.c: New file.
5449         * tests/unistdio/test-u16-vsprintf1.c: New file.
5450         * tests/unistdio/test-u32-asnprintf1.c: New file.
5451         * tests/unistdio/test-u32-asnprintf1.h: New file.
5452         * tests/unistdio/test-u32-printf1.h: New file.
5453         * tests/unistdio/test-u32-vasnprintf1.c: New file.
5454         * tests/unistdio/test-u32-vasnprintf2.c: New file.
5455         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
5456         * tests/unistdio/test-u32-vasnprintf3.c: New file.
5457         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
5458         * tests/unistdio/test-u32-vasprintf1.c: New file.
5459         * tests/unistdio/test-u32-vsnprintf1.c: New file.
5460         * tests/unistdio/test-u32-vsprintf1.c: New file.
5461         * modules/unistdio/base: New file.
5462         * modules/unistdio/u-printf-args: New file.
5463         * modules/unistdio/ulc-asnprintf: New file.
5464         * modules/unistdio/ulc-asprintf: New file.
5465         * modules/unistdio/ulc-fprintf: New file.
5466         * modules/unistdio/ulc-printf-parse: New file.
5467         * modules/unistdio/ulc-snprintf: New file.
5468         * modules/unistdio/ulc-sprintf: New file.
5469         * modules/unistdio/ulc-vasnprintf: New file.
5470         * modules/unistdio/ulc-vasprintf: New file.
5471         * modules/unistdio/ulc-vfprintf: New file.
5472         * modules/unistdio/ulc-vsnprintf: New file.
5473         * modules/unistdio/ulc-vsprintf: New file.
5474         * modules/unistdio/u8-asnprintf: New file.
5475         * modules/unistdio/u8-asprintf: New file.
5476         * modules/unistdio/u8-printf-parse: New file.
5477         * modules/unistdio/u8-snprintf: New file.
5478         * modules/unistdio/u8-sprintf: New file.
5479         * modules/unistdio/u8-vasnprintf: New file.
5480         * modules/unistdio/u8-vasprintf: New file.
5481         * modules/unistdio/u8-vsnprintf: New file.
5482         * modules/unistdio/u8-vsprintf: New file.
5483         * modules/unistdio/u8-u8-asnprintf: New file.
5484         * modules/unistdio/u8-u8-asprintf: New file.
5485         * modules/unistdio/u8-u8-snprintf: New file.
5486         * modules/unistdio/u8-u8-sprintf: New file.
5487         * modules/unistdio/u8-u8-vasnprintf: New file.
5488         * modules/unistdio/u8-u8-vasprintf: New file.
5489         * modules/unistdio/u8-u8-vsnprintf: New file.
5490         * modules/unistdio/u8-u8-vsprintf: New file.
5491         * modules/unistdio/u16-asnprintf: New file.
5492         * modules/unistdio/u16-asprintf: New file.
5493         * modules/unistdio/u16-printf-parse: New file.
5494         * modules/unistdio/u16-snprintf: New file.
5495         * modules/unistdio/u16-sprintf: New file.
5496         * modules/unistdio/u16-vasnprintf: New file.
5497         * modules/unistdio/u16-vasprintf: New file.
5498         * modules/unistdio/u16-vsnprintf: New file.
5499         * modules/unistdio/u16-vsprintf: New file.
5500         * modules/unistdio/u16-u16-asnprintf: New file.
5501         * modules/unistdio/u16-u16-asprintf: New file.
5502         * modules/unistdio/u16-u16-snprintf: New file.
5503         * modules/unistdio/u16-u16-sprintf: New file.
5504         * modules/unistdio/u16-u16-vasnprintf: New file.
5505         * modules/unistdio/u16-u16-vasprintf: New file.
5506         * modules/unistdio/u16-u16-vsnprintf: New file.
5507         * modules/unistdio/u16-u16-vsprintf: New file.
5508         * modules/unistdio/u32-asnprintf: New file.
5509         * modules/unistdio/u32-asprintf: New file.
5510         * modules/unistdio/u32-printf-parse: New file.
5511         * modules/unistdio/u32-snprintf: New file.
5512         * modules/unistdio/u32-sprintf: New file.
5513         * modules/unistdio/u32-vasnprintf: New file.
5514         * modules/unistdio/u32-vasprintf: New file.
5515         * modules/unistdio/u32-vsnprintf: New file.
5516         * modules/unistdio/u32-vsprintf: New file.
5517         * modules/unistdio/u32-u32-asnprintf: New file.
5518         * modules/unistdio/u32-u32-asprintf: New file.
5519         * modules/unistdio/u32-u32-snprintf: New file.
5520         * modules/unistdio/u32-u32-sprintf: New file.
5521         * modules/unistdio/u32-u32-vasnprintf: New file.
5522         * modules/unistdio/u32-u32-vasprintf: New file.
5523         * modules/unistdio/u32-u32-vsnprintf: New file.
5524         * modules/unistdio/u32-u32-vsprintf: New file.
5525         * modules/unistdio/ulc-asnprintf-tests: New file.
5526         * modules/unistdio/ulc-vasnprintf-tests: New file.
5527         * modules/unistdio/ulc-vasprintf-tests: New file.
5528         * modules/unistdio/ulc-vsnprintf-tests: New file.
5529         * modules/unistdio/ulc-vsprintf-tests: New file.
5530         * modules/unistdio/u8-asnprintf-tests: New file.
5531         * modules/unistdio/u8-vasnprintf-tests: New file.
5532         * modules/unistdio/u8-vasprintf-tests: New file.
5533         * modules/unistdio/u8-vsnprintf-tests: New file.
5534         * modules/unistdio/u8-vsprintf-tests: New file.
5535         * modules/unistdio/u16-asnprintf-tests: New file.
5536         * modules/unistdio/u16-vasnprintf-tests: New file.
5537         * modules/unistdio/u16-vasprintf-tests: New file.
5538         * modules/unistdio/u16-vsnprintf-tests: New file.
5539         * modules/unistdio/u16-vsprintf-tests: New file.
5540         * modules/unistdio/u32-asnprintf-tests: New file.
5541         * modules/unistdio/u32-vasnprintf-tests: New file.
5542         * modules/unistdio/u32-vasprintf-tests: New file.
5543         * modules/unistdio/u32-vsnprintf-tests: New file.
5544         * modules/unistdio/u32-vsprintf-tests: New file.
5545         * MODULES.html.sh (Unicode string functions): Add the new modules.
5546
5547 2007-07-01  Bruno Haible  <bruno@clisp.org>
5548
5549         * lib/sprintf.c (sprintf): Limit the available length estimation,
5550         to avoid address wraparound.
5551         * lib/vsprintf.c (vsprintf): Likewise.
5552         * modules/sprintf-posix (Dependencies): Add stdint.
5553         * modules/vsprintf-posix (Dependencies): Likewise.
5554
5555 2007-07-01  Bruno Haible  <bruno@clisp.org>
5556
5557         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
5558         Windows PATH as well. Conservative double-quoting. Comments.
5559
5560 2007-07-01  Bruno Haible  <bruno@clisp.org>
5561             Eric Blake  <ebb9@byu.net>
5562             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5563
5564         * gnulib-tool (self_abspathname): Fix algorithm to cope with
5565         empty components in $PATH, denoting '.'.
5566
5567 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5568
5569         * gnulib-tool: Fix indentation.
5570         (func_create_megatestdir): Likewise.
5571         Report by Bruno Haible.
5572
5573 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5574
5575         Sync from Automake.
5576         * build-aux/gnupload: Fix shell portability issues with for loops.
5577         Report by Karl Berry.
5578
5579 2007-06-29  Simon Josefsson  <simon@josefsson.org>
5580
5581         * build-aux/maint.mk (POURL): Use translationproject.org.
5582
5583 2007-06-27  Simon Josefsson  <simon@josefsson.org>
5584             Bruno Haible  <bruno@clisp.org>
5585
5586         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
5587         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
5588         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
5589         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
5590         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
5591
5592 2007-06-27  Bruno Haible  <bruno@clisp.org>
5593
5594         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
5595         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
5596
5597 2007-06-26  Karl Berry  <karl@gnu.org>
5598
5599         * MODULES.html.sh: remove xreadlink-with-size.
5600
5601 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
5602
5603         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
5604         method that I hope also handles the double-include problem noted
5605         by Bruno Haible in
5606         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
5607
5608 2007-06-23  Bruno Haible  <bruno@clisp.org>
5609
5610         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5611         Don't let the 'mostlyclean' target fail if the last subdirectory could
5612         not be removed.
5613         Reported by Karl Berry.
5614
5615 2007-06-23  Bruno Haible  <bruno@clisp.org>
5616
5617         * gnulib-tool (echo): Add a speedier workaround for ksh.
5618         * tests/test-echo.sh: Likewise.
5619
5620 2007-06-23  Bruno Haible  <bruno@clisp.org>
5621
5622         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
5623         * tests/test-echo.sh: Likewise.
5624
5625 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5626
5627         * gnulib-tool (IFS): Initialize early, so we don't set it to
5628         empty later.
5629         (self_abspathname): Rewrite algorithm to set it, reindent.
5630         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
5631         (func_create_megatestdir): Merge some sed scripts.
5632
5633 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
5634
5635         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
5636         exposed by Sun Studio 11 cc on Solaris 8.
5637
5638 2007-06-22  Bruno Haible  <bruno@clisp.org>
5639
5640         * gnulib-tool (echo): Ensure the echo primitive does not interpret
5641         backslashes.
5642         * tests/test-echo.sh: New file.
5643
5644 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5645
5646         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
5647         simplify `sed_replace_build_aux' scripts, they are portable but
5648         echoing them with `echo' is not.
5649         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
5650
5651 2007-06-21  Karl Berry  <karl@gnu.org>
5652
5653         * config/srclist.txt: guess we can't handle the licenses via
5654         srclist at the moment.
5655
5656 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
5657
5658         * MODULES.html.sh: Add include_next.
5659         * modules/include_next: New file.
5660
5661 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
5662
5663         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
5664         INCLUDE_NEXT.
5665         (gl_CHECK_NEXT_HEADERS): New macro.
5666         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
5667         the obsolescent gl_ABSOLUTE_HEADER.
5668         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
5669         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
5670         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
5671         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
5672         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
5673         * m4/math_h.m4 (gl_MATH_H): Likewise.
5674         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
5675         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
5676         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
5677         * m4/stdint.m4 (gl_STDINT_H): Likewise.
5678         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
5679         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
5680         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
5681         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
5682         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
5683         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
5684         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
5685         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
5686         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
5687         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
5688         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
5689         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
5690         * m4/inttypes.m4 (gl_INTTYPES_H): Define
5691         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
5692         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
5693         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
5694         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
5695         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
5696         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
5697         * lib/float_.h: Likewise.
5698         * lib/inttypes_.h: Likewise.
5699         * lib/math_.h: Likewise.
5700         * lib/search_.h: Likewise.
5701         * lib/signal_.h: Likewise.
5702         * lib/stdint_.h: Likewise.
5703         * lib/stdio_.h: Likewise.
5704         * lib/stdlib_.h: Likewise.
5705         * lib/string_.h: Likewise.
5706         * lib/sys_stat_.h: Likewise.
5707         * lib/sys_time_.h: Likewise.
5708         * lib/time_.h: Likewise.
5709         * lib/unistd_.h: Likewise.
5710         * lib/wchar_.h: Likewise.
5711         * lib/wctype_.h: Likewise.
5712         * lib/dirent_.h: Likewise.
5713         * lib/iconv_.h: Likewise.
5714         * lib/locale_.h: Likewise.
5715         * lib/netinet_in_.h: Likewise.
5716         * lib/sys_select_.h: Likewise.
5717         * lib/sys_socket_.h: Likewise.
5718         * lib/sysexits_.h: Likewise.
5719         * modules/fcntl (Depends-on): Depend on include_next, not
5720         absolute_header.
5721         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
5722         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
5723         * modules/fchdir: Likewise.
5724         * modules/float: Likewise.
5725         * modules/iconv_open: Likewise.
5726         * modules/inttypes: Likewise.
5727         * modules/locale: Likewise.
5728         * modules/math: Likewise.
5729         * modules/netinet_in: Likewise.
5730         * modules/search: Likewise.
5731         * modules/signal: Likewise.
5732         * modules/stdint: Likewise.
5733         * modules/stdio: Likewise.
5734         * modules/stdlib: Likewise.
5735         * modules/string: Likewise.
5736         * modules/sys_select: Likewise.
5737         * modules/sys_socket: Likewise.
5738         * modules/sys_stat: Likewise.
5739         * modules/sys_time: Likewise.
5740         * modules/sysexits: Likewise.
5741         * modules/time: Likewise.
5742         * modules/unistd: Likewise.
5743         * modules/wchar: Likewise.
5744         * modules/wctype: Likewise.
5745         * modules/sys_stat: Change maintainer to "all".
5746         * modules/unistd: Likewise.
5747
5748 2007-06-20  Karl Berry  <karl@gnu.org>
5749
5750         * config/srclist.txt: track www changes in license files.
5751
5752 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
5753
5754         * build-aux/bootstrap: Remove stray dot.
5755         Make sure build_aux settings are honored when linking
5756         gnulib_extra_files.
5757
5758 2007-06-19  Eric Blake  <ebb9@byu.net>
5759
5760         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
5761         Allow compilation on cygwin.
5762
5763 2007-06-19  Jim Meyering  <jim@meyering.net>
5764
5765         xreadlink-with-size: Remove module.  No longer used.
5766         Ex-callers now use xreadlink or mreadlink-with-size.
5767         * modules/xreadlink-with-size: Remove module.
5768         * lib/xreadlink-with-size.c: Remove file.
5769         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
5770         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
5771         just before the function definition *is* accurate.
5772
5773         Eliminate one way canonicalize_filename_mode could exit.
5774         * lib/canonicalize.c (canonicalize_filename_mode):
5775         Use mreadlink_with_size, not xreadlink_with_size.
5776
5777 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
5778
5779         Detect porting problems to FreeBSD/arm, which has time_t wider than
5780         long int.  Original problem reported for GNU diff by Xin Li in
5781         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
5782         * modules/getdate (Depends-on): Add intprops, verify.
5783         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
5784         is an integer type no wider than long int.
5785
5786 2007-06-18  Jim Meyering  <jim@meyering.net>
5787
5788         New module: mreadlink-with-size.
5789         * MODULES.html.sh: Add mreadlink-with-size.
5790         * modules/mreadlink-with-size: New module
5791         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
5792         not xreadlink-with-size.
5793         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
5794
5795 2007-06-16  Bruno Haible  <bruno@clisp.org>
5796
5797         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
5798         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
5799         Reported by Gary V. Vaughan <gary@gnu.org>.
5800
5801 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
5802
5803         Revamp lchown so that it lives in unistd.h where it belongs.
5804         * lib/lchown.h: Remove.
5805         * lib/dirchownmod.c: Don't include lib/lchown.h.
5806         * lib/fchownat.c: Likewise.
5807         * lib/openat.c: Likewise.
5808         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
5809         does not follow symlinks.
5810         (EOPNOTSUPP): Define if not defined.
5811         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
5812         is defined to 0.
5813         (lchown): New decl.
5814         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
5815         Do not check for lchown decl.
5816         Set REPLACE_LCHOWN.
5817         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
5818         REPLACE_LCHOWN.
5819         * modules/chown: Make it clear it follows symlinks.
5820         * modules/lchown: Make it clear it doesn't follow symlinks.
5821         (Files): Remove lib/lchown.h
5822         (Depends-on): Add unistd.
5823         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
5824         (Include): Include <unistd.h>, not "lchown.h".
5825         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
5826         REPLACE_LCHOWN.
5827
5828 2007-06-15  Jim Meyering  <jim@meyering.net>
5829
5830         Change license (GPL to LGPL) of fsusage and dependents.
5831         * modules/fsusage (License): Change to LGPL.
5832         * modules/full-read (License): Likewise.
5833         * modules/full-write (License): Likewise.
5834         * modules/safe-read (License): Likewise.
5835         * modules/safe-write (License): Likewise.
5836
5837 2007-06-14  Ben Pfaff  <blp@gnu.org>
5838
5839         Missing part of allocsa -> malloca transition.
5840         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
5841         gl_MALLOCA.
5842
5843 2007-06-12  Bruno Haible  <bruno@clisp.org>
5844
5845         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
5846         to ia64, x86_64, i386.
5847         Reported by Eric Blake.
5848
5849 2007-06-12  Bruno Haible  <bruno@clisp.org>
5850
5851         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
5852         cross-compiling to x86_64.
5853
5854 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
5855
5856         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
5857         glitch reported by Ralf Wildenhues in
5858         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
5859
5860         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
5861         Vin Shelton.
5862
5863 2007-06-11  Bruno Haible  <bruno@clisp.org>
5864
5865         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
5866         replacement string.
5867         Reported by Eric Blake.
5868
5869 2007-06-10  Bruno Haible  <bruno@clisp.org>
5870
5871         Prepare vasnprintf code for use with Unicode strings.
5872         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
5873         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
5874         TYPE_U32_STRING.
5875         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
5876         a_u32_string variants.
5877         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
5878         * lib/printf-args.c: Don't include config.h and the specification
5879         header if PRINTF_FETCHARGS is already defined.
5880         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
5881         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
5882         TYPE_U16_STRING, TYPE_U32_STRING.
5883         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
5884         u16_directive, u16_directives, u32_directive, u32_directives): New
5885         types.
5886         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
5887         New declarations.
5888         * lib/printf-parse.c: Don't include config.h and the specification
5889         header if PRINTF_PARSE is already defined. Eliminate the set of
5890         parameters for WIDE_CHAR_VERSION; the user of this file must provide
5891         them now. Include c-ctype.h.
5892         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
5893         directive and CHAR_T_ONLY_ASCII.
5894         * lib/vasnprintf.c: Don't include config.h and the specification header
5895         if VASNPRINTF is already defined.
5896         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
5897         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
5898         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
5899         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
5900         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
5901         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
5902         code accordingly.
5903         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
5904         pad_ourselves also in this case, with the 'c' and 's' directives, and
5905         with a different notion of "width".
5906         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
5907
5908 2007-06-10  Bruno Haible  <bruno@clisp.org>
5909
5910         * modules/unistr/u32-mbsnlen: New file.
5911         * lib/unistr/u32-mbsnlen.c: New file.
5912
5913         * modules/unistr/u16-mbsnlen: New file.
5914         * lib/unistr/u16-mbsnlen.c: New file.
5915
5916         * modules/unistr/u8-mbsnlen: New file.
5917         * lib/unistr/u8-mbsnlen.c: New file.
5918
5919         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
5920         declarations.
5921
5922 2007-06-10  Bruno Haible  <bruno@clisp.org>
5923
5924         * lib/string_.h (mbsnlen): New declaration.
5925         * lib/mbsnlen.c: New file.
5926         * m4/mbsnlen.m4: New file.
5927         * modules/mbsnlen: New file.
5928         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
5929         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
5930         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
5931
5932 2007-06-10  Bruno Haible  <bruno@clisp.org>
5933
5934         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
5935
5936 2007-06-10  Bruno Haible  <bruno@clisp.org>
5937
5938         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
5939         * lib/mbuiter.h: Likewise.
5940
5941 2007-06-10  Bruno Haible  <bruno@clisp.org>
5942
5943         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
5944         declaration.
5945
5946 2007-06-10  Karl Berry  <karl@gnu.org>
5947
5948         * config/srclist.txt: remove gettext entries, Bruno prefers
5949         to update individually.
5950
5951 2007-06-10  Bruno Haible  <bruno@clisp.org>
5952
5953         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
5954         'maxlen'. Ensure only length + width bytes are allocated, not
5955         length + 1 + width.
5956
5957 2007-06-09  Bruno Haible  <bruno@clisp.org>
5958
5959         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
5960         (CHAR_T): Remove macro.
5961         (VASNPRINTF): Update.
5962
5963 2007-06-09  Bruno Haible  <bruno@clisp.org>
5964
5965         * MODULES.html.sh (Unicode string functions): Add the new modules.
5966
5967         * modules/uniconv/u32-conv-to-enc: New file.
5968         * lib/uniconv/u32-conv-to-enc.c: New file.
5969         * modules/uniconv/u32-conv-to-enc-tests: New file.
5970         * tests/uniconv/test-u32-conv-to-enc.c: New file.
5971
5972         * modules/uniconv/u16-conv-to-enc: New file.
5973         * lib/uniconv/u16-conv-to-enc.c: New file.
5974         * lib/uniconv/u-conv-to-enc.h: New file.
5975         * modules/uniconv/u16-conv-to-enc-tests: New file.
5976         * tests/uniconv/test-u16-conv-to-enc.c: New file.
5977
5978         * modules/uniconv/u8-conv-to-enc: New file.
5979         * lib/uniconv/u8-conv-to-enc.c: New file.
5980         * modules/uniconv/u8-conv-to-enc-tests: New file.
5981         * tests/uniconv/test-u8-conv-to-enc.c: New file.
5982
5983         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
5984         u32_conv_to_encoding): New declarations.
5985
5986 2007-06-09  Bruno Haible  <bruno@clisp.org>
5987
5988         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
5989
5990 2007-06-09  Bruno Haible  <bruno@clisp.org>
5991
5992         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
5993         * modules/malloca: Renamed from modules/allocsa, updated.
5994         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
5995         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
5996         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
5997         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
5998         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
5999         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
6000         * modules/xmalloca: Renamed from modules/xallocsa, updated.
6001         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
6002         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
6003         * modules/c-strcasestr (Depends-on): Update.
6004         * lib/c-strcasestr.c: Update.
6005         * modules/c-strstr (Depends-on): Update.
6006         * lib/c-strstr.c: Update.
6007         * modules/canonicalize-lgpl (Depends-on): Update.
6008         * lib/canonicalize-lgpl.c: Update.
6009         * modules/clean-temp (Depends-on): Update.
6010         * lib/clean-temp.c: Update.
6011         * modules/csharpcomp (Depends-on): Update.
6012         * lib/csharpcomp.c: Update.
6013         * modules/csharpexec (Depends-on): Update.
6014         * lib/csharpexec.c: Update.
6015         * modules/javacomp (Depends-on): Update.
6016         * lib/javacomp.c: Update.
6017         * modules/javaexec (Depends-on): Update.
6018         * lib/javaexec.c: Update.
6019         * modules/mbscasestr (Depends-on): Update.
6020         * lib/mbscasestr.c: Update.
6021         * modules/mbsstr (Depends-on): Update.
6022         * lib/mbsstr.c: Update.
6023         * modules/setenv (Depends-on): Update.
6024         * lib/setenv.c: Update.
6025         * modules/strcasestr (Depends-on): Update.
6026         * lib/strcasestr.c: Update.
6027         * modules/striconveha (Depends-on): Update.
6028         * lib/striconveha.c: Update.
6029         * modules/relocatable-prog-wrapper (Files): Update.
6030         * lib/relocwrapper.c: Update.
6031         * build-aux/install-reloc: Update.
6032         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
6033
6034 2007-06-08  Bruno Haible  <bruno@clisp.org>
6035
6036         Port to uClibc.
6037         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
6038         * lib/fpurge.c (fpurge): Likewise.
6039         * lib/freading.c (freading): Likewise.
6040         * lib/fseeko.c (rpl_fseeko): Likewise.
6041         * lib/fseterr.c (fseterr): Likewise.
6042         * lib/fwriting.c (fwriting): Likewise.
6043         * tests/test-fflush.c (main): Avoid a failure on uClibc.
6044
6045 2007-06-08  Bruno Haible  <bruno@clisp.org>
6046
6047         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
6048         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
6049         * modules/gettext (Files): Add m4/intlmacosx.m4.
6050
6051 2007-06-07  Bruno Haible  <bruno@clisp.org>
6052
6053         * modules/localename-tests: New file.
6054         * tests/test-localename.c: New file.
6055
6056         New module 'localename'.
6057         * lib/localename.h: New file.
6058         * lib/localename.c: New file, from GNU gettext.
6059         * m4/localename.m4: New file.
6060         * modules/localename: New file.
6061
6062 2007-06-07  Bruno Haible  <bruno@clisp.org>
6063
6064         Work around the lack of <wchar.h> on some builds of uClibc.
6065         * doc/headers/wchar.texi: Update.
6066         * lib/wchar_.h: Include <wchar.h> only if it exists.
6067         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
6068         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
6069         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
6070         doesn't exist.
6071         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
6072         * modules/mbfile (Depends-on): Add wchar.
6073         * modules/mbiter (Depends-on): Likewise.
6074         * modules/mbuiter (Depends-on): Likewise.
6075         Reported by Simon Josefsson.
6076
6077 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
6078
6079         Work around problem reported by Steven M. Schweda in
6080         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
6081         Tru64 5.1B with the Compaq compiler environment installed declares
6082         an 'isblank' function but does not define it in the C library.
6083         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
6084         * lib/regex_internal.h (isblank): Likewise.
6085         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
6086         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
6087
6088 2007-06-05  Bruno Haible  <bruno@clisp.org>
6089
6090         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
6091         ia64.
6092         * modules/printf-safe: New file.
6093         * modules/fprintf-posix (Depends-on): Add printf-safe.
6094         * modules/printf-posix (Depends-on): Likewise.
6095         * modules/snprintf-posix (Depends-on): Likewise.
6096         * modules/sprintf-posix (Depends-on): Likewise.
6097         * modules/vasnprintf-posix (Depends-on): Likewise.
6098         * modules/vasprintf-posix (Depends-on): Likewise.
6099         * modules/vfprintf-posix (Depends-on): Likewise.
6100         * modules/vprintf-posix (Depends-on): Likewise.
6101         * modules/vsnprintf-posix (Depends-on): Likewise.
6102         * modules/vsprintf-posix (Depends-on): Likewise.
6103         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
6104         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
6105         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
6106         "no" on i386, x86_64, ia64.
6107         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
6108         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
6109         on i386, x86_64, ia64.
6110         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
6111         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
6112         on i386, x86_64, ia64.
6113         * tests/test-vasnprintf-posix.c: Include float.h.
6114         (LDBL80_WORDS): New macro.
6115         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
6116         on i386, x86_64, ia64.
6117         * tests/test-vasprintf-posix.c: Include float.h.
6118         (LDBL80_WORDS): New macro.
6119         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
6120         on i386, x86_64, ia64.
6121         * tests/test-snprintf-posix.c: Include float.h.
6122         * tests/test-sprintf-posix.c: Likewise.
6123         * tests/test-vsnprintf-posix.c: Likewise.
6124         * tests/test-vsprintf-posix.c: Likewise.
6125
6126 2007-06-05  Bruno Haible  <bruno@clisp.org>
6127
6128         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
6129         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
6130         non-IEEE numbers on i386, x86_64, ia64.
6131         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
6132         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
6133         * tests/test-isnanl.h: Include float.h.
6134         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
6135
6136 2007-06-05  Bruno Haible  <bruno@clisp.org>
6137
6138         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
6139         also the %a / %A. Handle the %a / %A code before this extra handling.
6140
6141 2007-06-05  Bruno Haible  <bruno@clisp.org>
6142
6143         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
6144         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
6145
6146 2007-06-05  Bruno Haible  <bruno@clisp.org>
6147
6148         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
6149         typo in variable name.
6150
6151 2007-06-05  Eric Blake  <ebb9@byu.net>
6152
6153         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
6154         Reported by Simon Josefsson.
6155
6156 2007-06-04  Bruno Haible  <bruno@clisp.org>
6157
6158         Avoid test failures on some PowerPC platforms.
6159         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
6160         Define differently for PowerPC.
6161         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
6162         Reported by Gary V. Vaughan <gary@gnu.org>.
6163
6164 2007-06-02  Bruno Haible  <bruno@clisp.org>
6165
6166         Fix test-stdint failure on FreeBSD/ia64.
6167         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
6168         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
6169         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
6170         * doc/headers/stdint.texi: Update.
6171
6172 2007-06-01  Bruno Haible  <bruno@clisp.org>
6173
6174         * tests/test-binary-io.c (main): Pass a third argument to open().
6175         Reported by Gary V. Vaughan <gary@gnu.org>.
6176
6177 2007-06-01  Bruno Haible  <bruno@clisp.org>
6178
6179         * doc/functions/frexpl.texi: Update for mingw.
6180
6181 2007-06-01  Bruno Haible  <bruno@clisp.org>
6182
6183         * tests/test-lseek.c (main): Disable test of errno for invalid third
6184         argument.
6185         * doc/functions/lseek.texi: Update.
6186         Reported by Gary V. Vaughan <gary@gnu.org>.
6187
6188 2007-05-28  Bruno Haible  <bruno@clisp.org>
6189
6190         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
6191
6192 2007-05-31  Eric Blake  <ebb9@byu.net>
6193
6194         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
6195         cross compiling.
6196
6197 2007-05-30  Eric Blake  <ebb9@byu.net>
6198         and Bruno Haible  <bruno@clisp.org>
6199
6200         Work around mingw test failures exposed by m4-1.4.9b.
6201         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
6202         * tests/test-unistd.c: Disable uid_t and git_t tests for the
6203         moment.
6204
6205 2007-05-30  Bruno Haible  <bruno@clisp.org>
6206
6207         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
6208         assuming that they are closed. Needed on HP-UX 11.
6209
6210 2007-05-29  Bruno Haible  <bruno@clisp.org>
6211
6212         Fix a problem with #include_next.
6213         * lib/dirent_.h: Split the double-inclusion guard.
6214         * lib/fcntl_.h: Likewise.
6215         * lib/float_.h: Likewise.
6216         * lib/iconv_.h: Likewise.
6217         * lib/inttypes_.h: Likewise.
6218         * lib/locale_.h: Likewise.
6219         * lib/math_.h: Likewise.
6220         * lib/netinet_in_.h: Likewise.
6221         * lib/search_.h: Likewise.
6222         * lib/signal_.h: Likewise.
6223         * lib/stdint_.h: Likewise.
6224         * lib/stdio_.h: Likewise.
6225         * lib/stdlib_.h: Likewise.
6226         * lib/string_.h: Likewise.
6227         * lib/sys_select_.h: Likewise.
6228         * lib/sys_socket_.h: Likewise.
6229         * lib/sys_stat_.h: Likewise.
6230         * lib/sys_time_.h: Likewise.
6231         * lib/sysexits_.h: Likewise.
6232         * lib/time_.h: Likewise.
6233         * lib/unistd_.h: Likewise.
6234         * lib/wchar_.h: Likewise.
6235         * lib/wctype_.h: Likewise.
6236
6237 2007-05-29  Bruno Haible  <bruno@clisp.org>
6238
6239         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
6240         for the moment.
6241
6242 2007-05-29  Bruno Haible  <bruno@clisp.org>
6243
6244         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
6245         invocation.
6246         Reported by Eric Blake.
6247
6248 2007-05-29  Bruno Haible  <bruno@clisp.org>
6249
6250         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
6251         compiling case.
6252
6253 2007-05-29  Eric Blake  <ebb9@byu.net>
6254             Bruno Haible  <bruno@clisp.org>
6255
6256         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
6257         cross compiles.
6258
6259 2007-05-28  Eric Blake  <ebb9@byu.net>
6260
6261         * modules/closein-tests (test_closein_LDADD): Support test on
6262         cygwin with libtool.
6263
6264 2007-05-28  Bruno Haible  <bruno@clisp.org>
6265
6266         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
6267         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
6268         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
6269         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
6270         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
6271         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
6272         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
6273         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
6274         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
6275
6276 2007-05-28  Eric Blake  <ebb9@byu.net>
6277
6278         Unconditionally include <config.h> in unit tests.
6279         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
6280         * tests/test-allocsa.c, tests/test-arcfour.c,
6281         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
6282         tests/test-array_list.c, tests/test-array_oset.c,
6283         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
6284         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
6285         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
6286         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
6287         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
6288         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
6289         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
6290         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
6291         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
6292         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
6293         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
6294         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
6295         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
6296         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
6297         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
6298         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
6299         test-md5.c, test-memmem.c, test-printf-posix.c,
6300         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
6301         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
6302         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
6303         test-strcasestr.c, test-striconv.c, test-striconveh.c,
6304         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
6305         test-vasnprintf-posix2.c, test-vasnprintf.c,
6306         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
6307         test-vfprintf-posix.c, test-vprintf-posix.c,
6308         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
6309         test-xvasprintf.c: Likewise.
6310
6311 2007-05-28  Bruno Haible  <bruno@clisp.org>
6312
6313         * gnulib-tool (func_import): Remember the --with-tests command-line
6314         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
6315         Reported by Eric Blake.
6316
6317 2007-05-28  Bruno Haible  <bruno@clisp.org>
6318
6319         * modules/ftell-tests: New file.
6320         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
6321         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
6322
6323         * lib/ftell.c: New file.
6324         * modules/ftell: New file.
6325         * m4/ftell.m4: New file.
6326         * doc/functions/ftell.texi: Update.
6327         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
6328         REPLACE_FTELL.
6329         * lib/stdio_.h (rpl_ftell): New declaration.
6330         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
6331         REPLACE_FTELL.
6332
6333 2007-05-28  Eric Blake  <ebb9@byu.net>
6334
6335         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
6336
6337 2007-05-28  Bruno Haible  <bruno@clisp.org>
6338
6339         * modules/fseek-tests: New file.
6340         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
6341         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
6342
6343         * lib/fseek.c: New file.
6344         * modules/fseek: New file.
6345         * m4/fseek.m4: New file.
6346         * doc/functions/fseek.texi: Update.
6347         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
6348         REPLACE_FSEEK.
6349         * lib/stdio_.h (rpl_fseek): New declaration.
6350         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
6351         REPLACE_FSEEK.
6352
6353 2007-05-28  Bruno Haible  <bruno@clisp.org>
6354
6355         * lib/stdio_.h (fflush): More comments.
6356
6357 2007-05-28  Bruno Haible  <bruno@clisp.org>
6358
6359         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
6360         runtime test.
6361
6362 2007-05-28  Eric Blake  <ebb9@byu.net>
6363
6364         Improve lseek module.
6365         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
6366         * lib/unistd_.h (lseek): Scale back link warning message.
6367         * tests/test-lseek.c: Beef up test.
6368         * tests/test-lseek.sh: Exercise more facets of lseek.
6369         Reported by Bruno Haible.
6370
6371 2007-05-28  Bruno Haible  <bruno@clisp.org>
6372
6373         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
6374         to define.
6375
6376 2007-05-27  Bruno Haible  <bruno@clisp.org>
6377
6378         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
6379
6380 2007-05-27  Bruno Haible  <bruno@clisp.org>
6381
6382         * modules/openmp: New file.
6383         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
6384         Noah Misch.
6385
6386 2007-05-26  Bruno Haible  <bruno@clisp.org>
6387
6388         * modules/chdir-long (Depends-on): Add fchdir.
6389         * modules/chdir-safer (Depends-on): Likewise.
6390         * modules/fts (Depends-on): Likewise.
6391         * modules/fts-lgpl (Depends-on): Likewise.
6392         * modules/openat (Depends-on): Likewise.
6393         * modules/savewd (Depends-on): Likewise.
6394
6395 2007-05-24  Eric Blake  <ebb9@byu.net>
6396
6397         Fix lseek on mingw.
6398         * modules/lseek: New module.
6399         * m4/lseek.m4: New file.
6400         * lib/lseek.c: New file.
6401         * modules/lseek-tests: New file.
6402         * tests/test-lseek.c: New file.
6403         * tests/test-lseek.sh: New file.
6404         * MODULES.html.sh: Document lseek module.
6405         * modules/fflush (Depends-on): Add lseek, fseeko.
6406         * modules/fseeko (Depends-on): Likewise.
6407         * modules/ftello (Depends-on): Likewise.
6408         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
6409         broken.
6410         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
6411         broken.
6412         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
6413         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
6414         * lib/ftello.c (rpl_ftello): Likewise.
6415         * tests/test-fseeko.c (main): Test this.
6416         * tests/test-fseeko.sh: Likewise.
6417         * tests/test-ftello.c (main): Likewise.
6418         * tests/test-ftello.sh: Likewise.
6419         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
6420         implies replacing fseek.
6421         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
6422         HAVE_FTELLO.
6423         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
6424         * modules/unistd (Makefile.am): Likewise.
6425         * lib/unistd_.h (lseek): Declare a replacement.
6426         * doc/functions/lseek.texi (lseek): Document this fix.
6427         * doc/functions/fseek.texi (fseek): Likewise.
6428         * doc/functions/ftell.texi (ftell): Likewise.
6429
6430 2007-05-24  Bruno Haible  <bruno@clisp.org>
6431
6432         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
6433         in the printed representation of a NaN.
6434         * tests/test-vasprintf-posix.c (test_function): Likewise.
6435         * tests/test-snprintf-posix.h (test_function): Likewise.
6436         * tests/test-sprintf-posix.h (test_function): Likewise.
6437         Reported by Eric Blake.
6438
6439 2007-05-23  Eric Blake  <ebb9@byu.net>
6440
6441         Fix fseeko/ftello on cygwin 1.5.24.
6442         * doc/functions/fseeko.texi (fseeko): Document the fix.
6443         * doc/functions/ftello.texi (ftello): Document the fix.
6444         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
6445         * doc/functions/stdout.text (stdout): New file.
6446         * doc/functions/stderr.text (stderr): New file.
6447         * doc/gnulib.texi (Function Substitutes): Use new files.
6448         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
6449         prior to 1.7.0.
6450         * tests/test-ftello.c (main): Likewise for ftello.
6451         * tests/test-fseeko.sh: New file.
6452         * tests/test-ftello.sh: New file.
6453         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
6454         with seekable stdin.
6455         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
6456         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
6457         (gl_REPLACE_FSEEKO): New macro.
6458         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
6459         * modules/fseeko (Files): Distribute fseeko.c.
6460         * modules/ftello (Files): Distribute ftello.c.
6461         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
6462         mode.
6463         * lib/ftello.c (rpl_ftello): New file.
6464         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
6465         fseeko, ftello.
6466         (gl_STDIN_LARGE_OFFSET): New macro.
6467         * modules/stdio (Makefile.am): Perform the replacement.
6468         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
6469
6470 2007-05-23  Bruno Haible  <bruno@clisp.org>
6471
6472         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
6473         GNULIB_POSIXCHECK is defined.
6474
6475 2007-05-21  Bruno Haible  <bruno@clisp.org>
6476
6477         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
6478         Check also the output for NaN arguments. When cross-compiling, guess
6479         no on IRIX.
6480         * lib/vasnprintf.c: Update comments.
6481         * tests/test-vasnprintf-posix.c (strisnan): New function.
6482         (test_function): Use it.
6483         * tests/test-vasprintf-posix.c (strisnan): New function.
6484         (test_function): Use it.
6485         * tests/test-snprintf-posix.h (strisnan): New function.
6486         (test_function): Use it.
6487         * tests/test-sprintf-posix.h (strisnan): New function.
6488         (test_function): Use it.
6489         Reported by Eric Blake.
6490
6491 2007-05-20  Bruno Haible  <bruno@clisp.org>
6492
6493         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
6494         numbers that fails on BeOS.
6495         * doc/functions/frexpl.texi: Update.
6496
6497 2007-05-20  Jim Meyering  <jim@meyering.net>
6498
6499         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
6500         forced upon us by glibc-2.6.
6501
6502 2007-05-20  Bruno Haible  <bruno@clisp.org>
6503
6504         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
6505         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
6506         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
6507         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
6508         NEED_PRINTF_INFINITE.
6509         (is_infinitel): New function.
6510         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
6511         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
6512         gl_PREREQ_VASNPRINTF_INFINITE.
6513         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
6514         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
6515         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
6516         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
6517         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
6518         gl_PREREQ_VASNPRINTF_INFINITE.
6519         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
6520         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
6521         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
6522         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
6523         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
6524         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
6525         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
6526         * doc/functions/fprintf.texi: Update.
6527         * doc/functions/printf.texi: Update.
6528         * doc/functions/snprintf.texi: Update.
6529         * doc/functions/sprintf.texi: Update.
6530         * doc/functions/vfprintf.texi: Update.
6531         * doc/functions/vprintf.texi: Update.
6532         * doc/functions/vsnprintf.texi: Update.
6533         * doc/functions/vsprintf.texi: Update.
6534
6535 2007-05-20  Bruno Haible  <bruno@clisp.org>
6536
6537         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
6538         was not found in libc.
6539         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
6540
6541 2007-05-20  Bruno Haible  <bruno@clisp.org>
6542
6543         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
6544         printed as "-nan" instead of "nan".
6545         * tests/test-vasprintf-posix.c (test_function): Likewise.
6546         * tests/test-snprintf-posix.h (test_function): Likewise.
6547         * tests/test-sprintf-posix.h (test_function): Likewise.
6548         Needed for HP-UX 11.
6549
6550 2007-05-20  Jim Meyering  <jim@meyering.net>
6551
6552         Fix buggy test for the fchownat-deref bug.
6553         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
6554         symlink required for the run-test.  Without it, this test would
6555         always declare that fchownat doesn't work, and client code would
6556         unnecessarily use the replacement function with fixed libc.
6557         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
6558         Reported by Greg Schafer.
6559
6560 2007-05-19  Bruno Haible  <bruno@clisp.org>
6561
6562         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
6563         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
6564         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
6565         Needed for IRIX 6.5 and Solaris 2.5.1.
6566
6567 2007-05-19  Bruno Haible  <bruno@clisp.org>
6568
6569         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
6570         (test_function): Skip tests involving -0.0 on platforms where
6571         -0.0 = 0.0.
6572         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
6573         (test_function): Skip tests involving -0.0 on platforms where
6574         -0.0 = 0.0.
6575         * tests/test-snprintf-posix.h (have_minus_zero): New function.
6576         (test_function): Skip tests involving -0.0 on platforms where
6577         -0.0 = 0.0.
6578         * tests/test-sprintf-posix.h (have_minus_zero): New function.
6579         (test_function): Skip tests involving -0.0 on platforms where
6580         -0.0 = 0.0.
6581         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
6582         tests.
6583         * tests/test-printf-posix.h (test_function): Likewise.
6584         * tests/test-printf-posix.output: Remove all -0.0 related results.
6585         Needed for IRIX 6.5.
6586
6587 2007-05-19  Bruno Haible  <bruno@clisp.org>
6588
6589         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
6590         printed as "nan0x7fffffff" instead of "nan".
6591         * tests/test-vasprintf-posix.c (test_function): Likewise.
6592         * tests/test-snprintf-posix.h (test_function): Likewise.
6593         * tests/test-sprintf-posix.h (test_function): Likewise.
6594         * tests/test-fprintf-posix.h (NaN): Remove macro.
6595         (test_function): Remove all NaN related tests.
6596         * tests/test-printf-posix.h (NaN): Remove macro.
6597         (test_function): Remove all NaN related tests.
6598         * tests/test-printf-posix.output: Remove all NaN related results.
6599         Needed for IRIX 6.5.
6600
6601 2007-05-19  Bruno Haible  <bruno@clisp.org>
6602
6603         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
6604         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
6605
6606 2007-05-19  Bruno Haible  <bruno@clisp.org>
6607
6608         * lib/float_.h: New file.
6609         * m4/float_h.m4: New file.
6610         * modules/float: New file.
6611         * modules/isnanl (Dependencies): Add float.
6612         * modules/isnanl-nolibm (Dependencies): Likewise.
6613         * modules/mathl (Dependencies): Likewise.
6614         * modules/printf-frexpl (Dependencies): Likewise.
6615         * modules/signbit (Dependencies): Likewise.
6616         * modules/vasnprintf (Dependencies): Likewise.
6617         * doc/headers/float.texi: Update.
6618
6619 2007-05-19  Jim Meyering  <jim@meyering.net>
6620
6621         * lib/utimens.c (gl_futimens): Rename from futimens,
6622         now that glibc-2.6 declares futimens.
6623         * lib/utimens.h: Likewise.
6624
6625 2007-05-19  Bruno Haible  <bruno@clisp.org>
6626
6627         Avoid test failures on mingw.
6628         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
6629         * tests/test-printf-posix.sh: Likewise.
6630         * tests/test-vfprintf-posix.sh: Likewise.
6631         * tests/test-vprintf-posix.sh: Likewise.
6632
6633 2007-05-19  Bruno Haible  <bruno@clisp.org>
6634
6635         Fix *printf result for NaN, Inf, -0.0 on mingw.
6636         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
6637         * lib/vasnprintf.c: Include math.h and isnan.h.
6638         (is_infinite_or_zero): New function.
6639         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
6640         values in the %f, %F, %e, %E, %g, %G directives.
6641         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
6642         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
6643         gl_PRINTF_INFINITE and test its result. Invoke
6644         gl_PREREQ_VASNPRINTF_INFINITE.
6645         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
6646         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
6647         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
6648         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
6649         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
6650         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
6651         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
6652         * doc/functions/fprintf.texi: Update.
6653         * doc/functions/printf.texi: Update.
6654         * doc/functions/snprintf.texi: Update.
6655         * doc/functions/sprintf.texi: Update.
6656         * doc/functions/vfprintf.texi: Update.
6657         * doc/functions/vprintf.texi: Update.
6658         * doc/functions/vsnprintf.texi: Update.
6659         * doc/functions/vsprintf.texi: Update.
6660
6661 2007-05-19  Bruno Haible  <bruno@clisp.org>
6662
6663         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
6664         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
6665         Instead of multiplying with 10^k, set extra_zeroes to k.
6666         (scale10_round_long_double): Remove function.
6667
6668 2007-05-18  Bruno Haible  <bruno@clisp.org>
6669
6670         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
6671         introduced on 2007-05-06.
6672
6673 2007-05-18  Bruno Haible  <bruno@clisp.org>
6674
6675         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
6676         %g directives.
6677         * tests/test-vasprintf-posix.c (test_function): Likewise.
6678         * tests/test-snprintf-posix.h (test_function): Likewise.
6679         * tests/test-sprintf-posix.h (test_function): Likewise.
6680
6681 2007-05-18  Bruno Haible  <bruno@clisp.org>
6682
6683         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
6684         (strmatch): New function.
6685         (test_function): Test the %f directive on numbers of various exponents.
6686         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
6687         (strmatch): New function.
6688         (test_function): Test the %f directive on numbers of various exponents.
6689         * tests/test-snprintf-posix.h (strmatch): New function.
6690         (test_function): Test the %f directive on numbers of various exponents.
6691         * tests/test-sprintf-posix.h (strmatch): New function.
6692         (test_function): Test the %f directive on numbers of various exponents.
6693         * tests/test-snprintf-posix.c (SIZEOF): New macro.
6694         * tests/test-sprintf-posix.c (SIZEOF): New macro.
6695         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
6696         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
6697
6698 2007-05-18  Bruno Haible  <bruno@clisp.org>
6699
6700         Add support for 'long double' number output.
6701         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
6702         * lib/vasnprintf.c: Include math.h and float+.h.
6703         (mp_limb_t): New type.
6704         (GMP_LIMB_BITS): New macro.
6705         (mp_twolimb_t): New type.
6706         (GMP_TWOLIMB_BITS): New macro.
6707         (mpn_t): New type.
6708         (multiply, divide, convert_to_decimal, decode_long_double,
6709         scale10_round_long_double, scale10_round_decimal_long_double,
6710         floorlog10l): New functions.
6711         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
6712         for the %f, %F, %e, %E, %g, %G directives.
6713         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
6714         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
6715         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
6716         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
6717         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
6718         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
6719         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
6720         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
6721         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
6722         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
6723         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
6724         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
6725         * modules/snprintf-posix (Depends-on): Likewise.
6726         * modules/sprintf-posix (Depends-on): Likewise.
6727         * modules/vasnprintf-posix (Depends-on): Likewise.
6728         * modules/vasprintf-posix (Depends-on): Likewise.
6729         * modules/vfprintf-posix (Depends-on): Likewise.
6730         * modules/vsnprintf-posix (Depends-on): Likewise.
6731         * modules/vsprintf-posix (Depends-on): Likewise.
6732         * modules/vasnprintf (Files): Add lib/float+.h.
6733         * doc/functions/fprintf.texi: Update.
6734         * doc/functions/printf.texi: Update.
6735         * doc/functions/snprintf.texi: Update.
6736         * doc/functions/sprintf.texi: Update.
6737         * doc/functions/vfprintf.texi: Update.
6738         * doc/functions/vprintf.texi: Update.
6739         * doc/functions/vsnprintf.texi: Update.
6740         * doc/functions/vsprintf.texi: Update.
6741
6742 2007-05-18  Bruno Haible  <bruno@clisp.org>
6743
6744         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
6745
6746 2007-05-18  Bruno Haible  <bruno@clisp.org>
6747
6748         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
6749         for printing 64-bit integers. Needed for mingw.
6750
6751 2007-05-18  Bruno Haible  <bruno@clisp.org>
6752
6753         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
6754         gl_FUNC_FREXPL_WORKS.
6755         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
6756
6757 2007-05-18  Bruno Haible  <bruno@clisp.org>
6758
6759         * modules/frexpl-nolibm-tests: New file.
6760
6761         * modules/frexpl-nolibm: New file.
6762         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
6763
6764 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
6765
6766         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
6767         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
6768         GCC 4.2, which otherwise issues a lot of warnings.
6769         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
6770         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
6771         Likewise.
6772         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
6773         * modules/iconv_open (iconv.h): Likewise.
6774         * modules/locale (locale.h): Likewise.
6775         * modules/netinet_in (netinet/in.h): Likewise.
6776         * modules/sys_select (sys_select.h): Likewise.
6777         * modules/sys_socket (sys/socket.h): Likewise.
6778         * modules/sys_stat (sys/stat.h): Likewise.
6779         * modules/sysexits (sysexits.h): Likewise.
6780         * modules/unistd (unistd.h): Likewise.
6781
6782 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6783
6784         * modules/closein-tests (Makefile.am): Distribute
6785         `test-closein.sh'.
6786
6787 2007-05-17  Bruno Haible  <bruno@clisp.org>
6788
6789         * tests/test-printf-posix.output: Renamed from
6790         tests/test-fprintf-posix.out.
6791         * modules/fprintf-posix-tests: Update.
6792         * modules/printf-posix-tests: Update.
6793         * modules/vfprintf-posix-tests: Update.
6794         * modules/vprintf-posix-tests: Update.
6795         * tests/test-fprintf-posix.sh: Update.
6796         * tests/test-printf-posix.sh: Update.
6797         * tests/test-vfprintf-posix.sh: Update.
6798         * tests/test-vprintf-posix.sh: Update.
6799         Reported by Ralf Wildenhues.
6800
6801 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
6802
6803         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
6804         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
6805         GCC 4.2, which otherwise issues a lot of warnings.
6806         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
6807         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
6808         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
6809         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
6810         it should no longer be needed.
6811         * lib/string_.h: Likewise.
6812         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
6813         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
6814         * modules/inttypes (inttypes.h): Likewise.
6815         * modules/math (math.h): Likewise.
6816         * modules/search (search.h): Likewise.
6817         * modules/signal (signal.h): Likewise.
6818         * modules/stdint (stdint.h): Likewise.
6819         * modules/stdio (stdio.h): Likewise.
6820         * modules/stdlib (stdlib.h): Likewise.
6821         * modules/string (string.h): Likewise.
6822         * modules/sys_time (sys/time.h): Likewise.
6823         * modules/time (time.h): Likewise.
6824         * modules/wchar (wchar.h): Likewise.
6825         * modules/wctype (wtype.h): Likewise.
6826
6827 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
6828
6829         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
6830
6831 2007-05-13  Bruno Haible  <bruno@clisp.org>
6832
6833         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
6834         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
6835         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
6836         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
6837         (gl_PREREQ_STRTOK_R): Don't require it here.
6838
6839 2007-05-13  Bruno Haible  <bruno@clisp.org>
6840
6841         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
6842         when used in C++ mode.
6843
6844 2007-05-12  Bruno Haible  <bruno@clisp.org>
6845
6846         * lib/linebuffer.h: Tweak doc.
6847         * lib/linebuffer.c: Likewise.
6848
6849 2007-05-12  James Youngman  <jay@gnu.org>
6850
6851         * lib/linebuffer.c (readlinebuffer_delim): New function,
6852         like readlinebuffer, but use a caller-specified delimiter.
6853         (readlinebuffer): Just call readlinebuffer_delim with '\n'
6854         as the delimiter.
6855         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
6856
6857 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
6858
6859         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
6860         * modules/openat (Files): Remove openat-die.c.
6861         (Depends-on): Add openat-die.
6862         * modules/openat-die: New module.
6863
6864 2007-05-06  Bruno Haible  <bruno@clisp.org>
6865
6866         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
6867         Update with info about Cygwin.
6868         * doc/functions/fprintf.texi: Update.
6869         * doc/functions/printf.texi: Update.
6870         * doc/functions/snprintf.texi: Update.
6871         * doc/functions/sprintf.texi: Update.
6872         * doc/functions/vfprintf.texi: Update.
6873         * doc/functions/vprintf.texi: Update.
6874         * doc/functions/vsnprintf.texi: Update.
6875         * doc/functions/vsprintf.texi: Update.
6876         Reported by Eric Blake.
6877
6878 2007-05-06  Bruno Haible  <bruno@clisp.org>
6879
6880         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
6881         padding ourselves for the floating-point directives.
6882         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
6883         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
6884         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
6885         gl_PRINTF_FLAG_ZERO and test its result. Invoke
6886         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
6887         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
6888         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
6889         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
6890         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
6891         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
6892         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
6893         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
6894         * tests/test-snprintf-posix.h (test_function): Also check the width
6895         and some flags in the %f directive.
6896         * tests/test-sprintf-posix.h (test_function): Likewise.
6897         * tests/test-vasnprintf-posix.c (test_function): Likewise.
6898         * tests/test-vasprintf-posix.c (test_function): Likewise.
6899         * doc/functions/fprintf.texi: Update.
6900         * doc/functions/printf.texi: Update.
6901         * doc/functions/snprintf.texi: Update.
6902         * doc/functions/sprintf.texi: Update.
6903         * doc/functions/vfprintf.texi: Update.
6904         * doc/functions/vprintf.texi: Update.
6905         * doc/functions/vsnprintf.texi: Update.
6906         * doc/functions/vsprintf.texi: Update.
6907
6908 2007-05-06  Bruno Haible  <bruno@clisp.org>
6909
6910         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
6911         pass the ' flag character to sprintf or snprintf.
6912         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
6913         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
6914         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
6915         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
6916         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
6917         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
6918         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
6919         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
6920         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
6921         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
6922         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
6923         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
6924         * tests/test-snprintf-posix.h (test_function): Also check the grouping
6925         flag.
6926         * tests/test-sprintf-posix.h (test_function): Likewise.
6927         * tests/test-vasnprintf-posix.c (test_function): Likewise.
6928         * tests/test-vasprintf-posix.c (test_function): Likewise.
6929         * doc/functions/fprintf.texi: Update.
6930         * doc/functions/printf.texi: Update.
6931         * doc/functions/snprintf.texi: Update.
6932         * doc/functions/sprintf.texi: Update.
6933         * doc/functions/vfprintf.texi: Update.
6934         * doc/functions/vprintf.texi: Update.
6935         * doc/functions/vsnprintf.texi: Update.
6936         * doc/functions/vsprintf.texi: Update.
6937
6938 2007-05-01  Bruno Haible  <bruno@clisp.org>
6939
6940         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
6941
6942 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
6943
6944         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
6945         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
6946
6947 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
6948
6949         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
6950         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
6951         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
6952
6953 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
6954
6955         * lib/argp-help.c (struct hol_entry): New member `ord'.
6956         (HOL_ENTRY_PTRCMP): Use ord for comparison
6957         (hol_sort): Initialize ord.
6958
6959 2007-05-01  Bruno Haible  <bruno@clisp.org>
6960
6961         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
6962         Reported by Eric Blake.
6963         * doc/gnulib.texi (Function Substitutes): Update.
6964
6965 2007-05-01  Bruno Haible  <bruno@clisp.org>
6966
6967         * doc/functions.texi: Remove file, now redundant through
6968         doc/functions/*.texi.
6969
6970 2007-05-01  Bruno Haible  <bruno@clisp.org>
6971
6972         * modules/argp (Depends-on): Add sleep.
6973
6974 2007-05-01  Bruno Haible  <bruno@clisp.org>
6975
6976         * modules/sleep-tests: New file.
6977         * tests/test-sleep.c: New file.
6978
6979         * modules/sleep: New file.
6980         * lib/sleep.c: New file.
6981         * m4/sleep.m4: New file.
6982         * lib/unistd_.h (sleep): New declaration.
6983         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
6984         HAVE_SLEEP.
6985         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
6986         * doc/functions/sleep.texi: Document the sleep module.
6987
6988 2007-05-01  Bruno Haible  <bruno@clisp.org>
6989
6990         * lib/sigprocmask.h: Remove file.
6991         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
6992         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
6993         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
6994         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
6995         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
6996         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
6997         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
6998         HAVE_SIGSET_T as a shell variable.
6999         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
7000         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
7001         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
7002         (Depends-on): Add signal. Remove verify.
7003         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
7004         (Include): Mention <signal.h> instead of sigprocmask.h.
7005         * NEWS: Mention the change.
7006         * lib/fatal-signal.c: Don't include sigprocmask.h.
7007
7008 2007-05-01  Bruno Haible  <bruno@clisp.org>
7009
7010         * modules/signal: New file.
7011         * lib/signal_.h: New file.
7012         * m4/signal_h.m4: New file.
7013
7014 2007-05-01  Bruno Haible  <bruno@clisp.org>
7015
7016         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
7017         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
7018         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
7019         HAVE_WCTYPE_CTMP_BUG into wctype.h.
7020
7021 2007-05-01  Bruno Haible  <bruno@clisp.org>
7022
7023         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
7024         configure time.
7025         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
7026         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
7027         * modules/sys_stat (Makefile.am): Substitute their values into
7028         sys/stat.h.
7029
7030 2007-05-01  Bruno Haible  <bruno@clisp.org>
7031
7032         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
7033         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
7034         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
7035
7036 2007-05-01  Bruno Haible  <bruno@clisp.org>
7037
7038         * doc/header/assert.texi: Undo last change: don't mention the gnulib
7039         'assert' module here.
7040
7041 2007-05-01  Bruno Haible  <bruno@clisp.org>
7042
7043         * doc/functions/*.texi: New files.
7044         * doc/functions/google-ranking.txt: New file.
7045         * doc/gnulib.texi (Function Substitutes): New chapter.
7046         (ctime, inet_ntoa): Remove sections.
7047         * doc/ctime.texi: Remove file.
7048         * doc/inet_ntoa.texi: Remove file.
7049         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
7050         dependencies.
7051         (%.info): New rule, specifying a --reference-limit.
7052
7053 2007-05-01  Bruno Haible  <bruno@clisp.org>
7054
7055         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
7056
7057 2007-05-01  Bruno Haible  <bruno@clisp.org>
7058
7059         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
7060         the portability of 'mkdir' to mingw systems.
7061
7062 2007-05-01  Bruno Haible  <bruno@clisp.org>
7063
7064         * doc/headers/google-ranking.txt: New file.
7065
7066 2007-04-30  Eric Blake  <ebb9@byu.net>
7067
7068         Prefer fseeko to fseek.
7069         * modules/getpass (Depends-on): Add fseeko.
7070         * lib/getpass.c (getpass): Use fseeko, not fseek.
7071
7072 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
7073
7074         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
7075         assumes the sorting is stable, while most qsort implementations
7076         are not.  Use argument addresses to ensure they never compare as
7077         equal.
7078
7079         * tests/test-argp-2.sh (usage-indent test): Fix output
7080         (func_compare): Restore diff options
7081         * tests/test-argp.c: Restore #include "progname.h"
7082
7083 2007-04-29  Bruno Haible  <bruno@clisp.org>
7084
7085         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
7086         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
7087         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
7088         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
7089         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
7090         (configure.ac): Define CHECK_SNPRINTF_POSIX.
7091         (TESTS, check_PROGRAMS): Add test-snprintf.
7092         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
7093         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
7094         (TESTS, check_PROGRAMS): Add test-vsnprintf.
7095         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
7096         assertions that fail on HP-UX, OSF/1, or IRIX.
7097         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
7098
7099 2007-04-29  Bruno Haible  <bruno@clisp.org>
7100
7101         * MODULES.html.sh (posix_functions): Remove 'contents'.
7102
7103 2007-04-29  Karl Berry  <karl@gnu.org>
7104
7105         * config/srclist.txt (gendocs_template_min): new entry.
7106
7107 2007-04-29  Bruno Haible  <bruno@clisp.org>
7108
7109         Work around fpurge bug on BSD systems.
7110         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
7111         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
7112         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
7113         fpurge to rpl_fpurge if the system already has this function.
7114         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
7115         the case where the system already has this function. Correct invariants
7116         on BSD systems.
7117         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
7118         BSD systems.
7119
7120 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
7121
7122         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
7123         proposed by Sven Verdoolaege.
7124
7125         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
7126         options.
7127         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
7128         (usage and help tests): Update
7129
7130 2007-04-29  Bruno Haible  <bruno@clisp.org>
7131
7132         * tests/test-fflush.c (main): Use a file of size 17, not 10.
7133         Print more information in case of failure. Disable a test on BeOS.
7134
7135 2007-04-29  Bruno Haible  <bruno@clisp.org>
7136
7137         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
7138         This helps debugging on systems on which no gdb is available.
7139
7140 2007-04-29  Bruno Haible  <bruno@clisp.org>
7141
7142         * lib/freading.h: Improve comments.
7143         * lib/fwriting.h: Likewise.
7144         * tests/test-freading.c (main): Don't check freading immediately after
7145         repositioning. Needed for glibc.
7146
7147 2007-04-29  Bruno Haible  <bruno@clisp.org>
7148
7149         * lib/freading.c (freading): Trivial simplification.
7150
7151 2007-04-28  Bruno Haible  <bruno@clisp.org>
7152
7153         * tests/test-fwriting.c (main): Also test the interaction between
7154         fflush and fwriting.
7155         * modules/fwriting-tests (Depends-on): Add fflush.
7156
7157         * tests/test-freading.c (main): Also test the interaction between
7158         fflush and freading.
7159         * modules/freading-tests (Depends-on): Add fflush.
7160
7161 2007-04-28  Bruno Haible  <bruno@clisp.org>
7162
7163         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
7164         fseeko and ftello.
7165         Suggested by Eric Blake.
7166
7167 2007-04-28  Jim Meyering  <jim@meyering.net>
7168
7169         Avoid false-negative in gl_STDINT_H's C99 conformance test.
7170         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
7171         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
7172
7173 2007-04-27  Eric Blake  <ebb9@byu.net>
7174
7175         * doc/headers/assert.texi (assert.h): Document assert module use.
7176
7177 2007-04-27  Bruno Haible  <bruno@clisp.org>
7178
7179         * doc/headers/*.texi: New files.
7180         * doc/gnulib.texi (Header File Substitutes): New chapter.
7181         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
7182         dependencies.
7183         (standards.info ,standards.html, standards.dvi): Update dependencies.
7184         (mostlyclean, clean): New targets.
7185
7186 2007-04-27  Bruno Haible  <bruno@clisp.org>
7187
7188         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
7189         * modules/sysexits (Files, Makefile.am): Update.
7190
7191         * lib/sys_socket_.h: Renamed from lib/socket_.h.
7192         * modules/sys_socket (Files, Makefile.am): Update.
7193
7194         * lib/sys_stat_.h: Renamed from lib/stat_.h.
7195         * modules/sys_stat (Files, Makefile.am): Update.
7196
7197 2007-04-27  Eric Blake  <ebb9@byu.net>
7198
7199         * lib/freading.h: Improve comments.
7200         * lib/fwriting.h: Likewise.
7201         * lib/fflush.c: Likewise.
7202
7203         Fix closein for mingw.
7204         * modules/closein-tests: Add tests for closein.
7205         * tests/test-closein.c: New file.
7206         * tests/test-closein.sh: Likewise.
7207         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
7208         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
7209
7210 2007-04-27  Bruno Haible  <bruno@clisp.org>
7211
7212         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
7213         version is < 6.
7214         * lib/math_.h [__DECC]: Likewise.
7215         * lib/stdio_.h [__DECC]: Likewise.
7216         * lib/stdlib_.h [__DECC]: Likewise.
7217         * lib/string_.h [__DECC]: Likewise.
7218         * lib/time_.h [__DECC]: Likewise.
7219         * lib/wchar_.h [__DECC]: Likewise.
7220         * lib/wctype_.h [__DECC]: Likewise.
7221
7222 2007-04-27  Bruno Haible  <bruno@clisp.org>
7223
7224         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
7225
7226 2007-04-27  Bruno Haible  <bruno@clisp.org>
7227
7228         * lib/fflush.c: Add comments.
7229         * modules/fpurge-tests (Depends-on): Add fflush.
7230         * modules/freadable-tests (Depends-on): Likewise.
7231         * modules/fwritable-tests (Depends-on): Likewise.
7232
7233 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
7234
7235         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
7236         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
7237         Report by Bruno Haible <bruno@clisp.org>.
7238
7239 2007-04-26  Eric Blake  <ebb9@byu.net>
7240
7241         Fix fflush on mingw.
7242         * modules/fflush (Depends-on): Add freading.
7243         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
7244         but unread data.
7245
7246 2007-04-26  Eric Blake  <ebb9@byu.net>
7247         and Bruno Haible  <bruno@clisp.org>
7248
7249         Implement freading and fwriting.
7250         * lib/freading.c: New file.
7251         * lib/freading.h: Likewise.
7252         * m4/freading.m4: Likewise.
7253         * modules/freading: Likewise.
7254         * modules/freading-tests: Likewise.
7255         * tests/test-freading.c: Likewise.
7256         * lib/fwriting.c: New file.
7257         * lib/fwriting.h: Likewise.
7258         * m4/fwriting.m4: Likewise.
7259         * modules/fwriting: Likewise.
7260         * modules/fwriting-tests: Likewise.
7261         * tests/test-fwriting.c: Likewise.
7262         * MODULES.html.sh (File stream based Input/Output): Mention them.
7263
7264 2007-04-26  Bruno Haible  <bruno@clisp.org>
7265
7266         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
7267         'long' when we assume it.
7268         Suggested by Eric Blake.
7269
7270 2007-04-26  Bruno Haible  <bruno@clisp.org>
7271
7272         Ensure fseeko, ftello are declared on glibc systems.
7273         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
7274         * modules/fseeko (configure.ac-early): Likewise.
7275         * modules/ftello (configure.ac-early): Likewise.
7276         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
7277         AC_FUNC_FSEEKO for this.
7278         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
7279         (gl_CHECK_FSEEKO): Remove macro.
7280
7281 2007-04-26  Bruno Haible  <bruno@clisp.org>
7282
7283         * tests/test-fflush.c (main): Also check the ftell result after
7284         fflush and fseek/fseeko.
7285         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
7286         file descriptor position cache in the stream.
7287         * lib/fseeko.c (rpl_fseeko): Likewise.
7288
7289 2007-04-26  Bruno Haible  <bruno@clisp.org>
7290
7291         * modules/fflush-tests (Depends-on): Add fseeko.
7292
7293 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
7294             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7295
7296         * lib/argz_.h: ensure error_t definition is obtained in same
7297         mechanism system argz.h would have.
7298         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
7299         argz facilities are known bad.  Err on the side of caution if
7300         cross-compiling.
7301
7302 2007-04-25  Eric Blake  <ebb9@byu.net>
7303
7304         * lib/fpurge.c (includes): Use stdlib.h for free.
7305         * tests/test-fflush.c (main): Also test fflush-fseeko.
7306
7307 2007-04-25  Bruno Haible  <bruno@clisp.org>
7308
7309         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
7310         * lib/fseeko.c: New file.
7311         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
7312         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
7313         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
7314         gl_FUNC_FSEEKO.
7315         (gl_FUNC_FSEEKO): Invoke it.
7316         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
7317         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
7318         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
7319
7320 2007-04-25  Bruno Haible  <bruno@clisp.org>
7321
7322         * modules/fflush (Depends-on): Add ftello.
7323
7324 2007-04-25  Bruno Haible  <bruno@clisp.org>
7325
7326         * modules/ftello-tests: New file.
7327         * tests/test-ftello.c: New file.
7328
7329         * modules/ftello: New file.
7330         * m4/ftello.m4: New file.
7331         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
7332         HAVE_FTELLO.
7333         * lib/stdio_.h (ftello): New declaration.
7334         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
7335         HAVE_FTELLO.
7336
7337 2007-04-25  Bruno Haible  <bruno@clisp.org>
7338
7339         * modules/fseeko-tests: New file.
7340         * tests/test-fseeko.c: New file.
7341
7342         * modules/fseeko: New file.
7343         * m4/fseeko.m4: New file.
7344         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
7345         HAVE_FSEEKO.
7346         * lib/stdio_.h (fseeko): New declaration.
7347         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
7348         HAVE_FSEEKO.
7349
7350 2007-04-25  Bruno Haible  <bruno@clisp.org>
7351
7352         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
7353
7354 2007-04-25  Bruno Haible  <bruno@clisp.org>
7355
7356         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
7357         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
7358         * tests/test-unistd.c: Likewise.
7359         * tests/test-fcntl.c: Likewise.
7360
7361 2007-04-23  Eric Blake  <ebb9@byu.net>
7362
7363         * lib/fflush.c: Fix missing include.
7364         Reported by Bruno Haible.
7365
7366 2007-04-23  Bruno Haible  <bruno@clisp.org>
7367
7368         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
7369         Reported by Eric Blake.
7370
7371 2007-04-23  Bruno Haible  <bruno@clisp.org>
7372
7373         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
7374
7375 2007-04-23  Bruno Haible  <bruno@clisp.org>
7376
7377         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
7378
7379 2007-04-23  Bruno Haible  <bruno@clisp.org>
7380
7381         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
7382         Needed on HP-UX 11.
7383
7384 2007-04-16  Eric Blake  <ebb9@byu.net>
7385
7386         Make fflush rely on fpurge.
7387         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
7388         open coding all variants.
7389         * modules/fflush (Depends-on): Add fpurge and unistd.
7390         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
7391         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
7392
7393         Fix --with-tests compilation on cygwin.
7394         * modules/argmatch-tests (Makefile.am): List gnulib library first
7395         in LDADD.
7396         * modules/argp-tests (Makefile.am): Likewise.
7397         * modules/array-list-tests (Makefile.am): Likewise.
7398         * modules/array-oset-tests (Makefile.am): Likewise.
7399         * modules/avltree-list-tests (Makefile.am): Likewise.
7400         * modules/avltree-oset-tests (Makefile.am): Likewise.
7401         * modules/avltreehash-list-tests (Makefile.am): Likewise.
7402         * modules/carray-list-tests (Makefile.am): Likewise.
7403         * modules/dirname-tests (Makefile.am): Likewise.
7404         * modules/frexp-tests (Makefile.am): Likewise.
7405         * modules/isnanl-tests (Makefile.am): Likewise.
7406         * modules/linked-list-tests (Makefile.am): Likewise.
7407         * modules/linkedhash-list-tests (Makefile.am): Likewise.
7408         * modules/lock-tests (Makefile.am): Likewise.
7409         * modules/rbtree-list-tests (Makefile.am): Likewise.
7410         * modules/rbtree-oset-tests (Makefile.am): Likewise.
7411         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
7412         * modules/tls-tests (Makefile.am): Likewise.
7413         * modules/tsearch-tests (Makefile.am): Likewise.
7414         * modules/xvasprintf-tests (Makefile.am): Likewise.
7415
7416         Fix fpurge for cygwin.
7417         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
7418         value.
7419         * modules/fpurge-tests (Depends-on): Clean up trash.
7420
7421 2007-04-16  Simon Josefsson  <simon@josefsson.org>
7422
7423         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
7424
7425         * m4/autobuild.m4: Re-indent.
7426
7427 2007-04-13  Bruno Haible  <bruno@clisp.org>
7428
7429         * modules/fpurge-tests: New file.
7430         * tests/test-fpurge.c: New file.
7431
7432         * modules/fpurge: New file.
7433         * lib/fpurge.h: New file.
7434         * lib/fpurge.c: New file.
7435         * m4/fpurge.m4: New file.
7436
7437 2007-04-13  Bruno Haible  <bruno@clisp.org>
7438
7439         * modules/fbufmode-tests: New file.
7440         * tests/test-fbufmode.c: New file.
7441
7442         * modules/fbufmode: New file.
7443         * lib/fbufmode.h: New file.
7444         * lib/fbufmode.c: New file.
7445         * m4/fbufmode.m4: New file.
7446
7447 2007-04-13  Bruno Haible  <bruno@clisp.org>
7448
7449         * modules/fwritable-tests: New file.
7450         * tests/test-fwritable.c: New file.
7451
7452         * modules/fwritable: New file.
7453         * lib/fwritable.h: New file.
7454         * lib/fwritable.c: New file.
7455         * m4/fwritable.m4: New file.
7456
7457 2007-04-13  Bruno Haible  <bruno@clisp.org>
7458
7459         * modules/freadable-tests: New file.
7460         * tests/test-freadable.c: New file.
7461
7462         * modules/freadable: New file.
7463         * lib/freadable.h: New file.
7464         * lib/freadable.c: New file.
7465         * m4/freadable.m4: New file.
7466
7467 2007-04-13  Bruno Haible  <bruno@clisp.org>
7468
7469         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
7470         MOSTLYCLEANFILES.
7471
7472 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
7473
7474         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
7475         gzip bootstrap.conf to avoid dragging in i18n machinery.
7476         (gnulib_tool_option): Use it.
7477
7478 2007-04-13  Bruno Haible  <bruno@clisp.org>
7479
7480         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
7481         %F directives.
7482         * tests/test-vasprintf-posix.c (test_function): Likewise.
7483         * tests/test-snprintf-posix.h (test_function): Likewise.
7484         * tests/test-sprintf-posix.h (test_function): Likewise.
7485         * tests/test-fprintf-posix.h (test_function): Likewise.
7486         * tests/test-printf-posix.h (test_function): Likewise.
7487         * tests/test-fprintf-posix.out: Likewise.
7488
7489 2007-04-13  Bruno Haible  <bruno@clisp.org>
7490
7491         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
7492         * modules/tls-tests (configure.ac): Likewise.
7493         Reported by Arto C. Nirkko <anirkko@insel.ch>.
7494
7495 2007-04-13  Bruno Haible  <bruno@clisp.org>
7496
7497         * lib/tls.c (glthread_tls_get): Fix return type.
7498         Patch by Arto C. Nirkko <anirkko@insel.ch>.
7499
7500 2007-04-12  Eric Blake  <ebb9@byu.net>
7501
7502         * modules/gettime (Depends-on): Remove gettime.
7503         Reported by Dmitry V. Levin.
7504
7505 2007-04-12  Bruno Haible  <bruno@clisp.org>
7506
7507         * modules/fflush (Include): Mention <stdio.h>.
7508         * modules/strtoimax (Include): Mention <inttypes.h>.
7509         * modules/strtoumax (Include): Likewise.
7510
7511 2007-04-12  Eric Blake  <ebb9@byu.net>
7512
7513         * .cvsignore: New file.
7514         * .gitignore: Likewise.
7515
7516 2007-04-12  Bruno Haible  <bruno@clisp.org>
7517
7518         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
7519         not before, since $(LDADD) often contains libgnu.a.
7520         * modules/striconv-tests (test_striconv_LDADD): Likewise.
7521         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
7522         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
7523         Needed on Cygwin.
7524
7525 2007-04-12  Eric Blake  <ebb9@byu.net>
7526
7527         Work around glibc's failure to flush stdin on fclose.
7528         * lib/closein.c (close_stdin): Flush stdin before closing.
7529
7530         Work around glibc's failure to reset seekable stdin on exit.
7531         * modules/closein: New module.
7532         * lib/closein.c: New file.
7533         * lib/closein.h: Likewise.
7534         * m4/closein.m4: Likewise.
7535         * MODULES.html.sh (File stream based Input/Output): Document it.
7536
7537 2007-04-12  Simon Josefsson  <simon@josefsson.org>
7538
7539         * gnulib-tool: Rename generated 'autobuild' script to
7540         'do-autobuild' in --create-megatestdir output.
7541
7542         * doc/gnulib.texi (Build robot for gnulib): Fix.
7543
7544 2007-04-12  Simon Josefsson  <simon@josefsson.org>
7545
7546         * modules/sysexits (Depends-on): Add absolute-header.
7547
7548 2007-04-12  Eric Blake  <ebb9@byu.net>
7549
7550         No need to preserve errno on success.
7551         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
7552         Reported by Bruno Haible.
7553
7554 2007-04-12  Simon Josefsson  <simon@josefsson.org>
7555
7556         * MODULES.html.sh (Support for maintaining and releasing
7557         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
7558
7559 2007-04-12  Simon Josefsson  <simon@josefsson.org>
7560
7561         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
7562
7563 2007-04-12  Simon Josefsson  <simon@josefsson.org>
7564
7565         * modules/autobuild: New module.
7566
7567         * m4/autobuild.m4: New file.
7568
7569 2007-04-11  Bruno Haible  <bruno@clisp.org>
7570
7571         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
7572         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
7573         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
7574         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
7575         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
7576         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
7577         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
7578         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
7579         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
7580         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
7581         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
7582         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
7583         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
7584         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
7585         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
7586         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
7587         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
7588         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
7589         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
7590         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
7591         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
7592         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
7593         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
7594         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
7595         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
7596         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
7597         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
7598         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
7599         Reported by Eric Blake.
7600
7601 2007-04-11  Bruno Haible  <bruno@clisp.org>
7602
7603         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
7604
7605 2007-04-10  Bruno Haible  <bruno@clisp.org>
7606
7607         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
7608         for NaN and Infinity. Needed on FreeBSD 6.1.
7609         * tests/test-vasnprintf-posix.c (test_function): Undo last change
7610         regarding results for "%010a" of Infinity and NaN.
7611         * tests/test-vasprintf-posix.c (test_function): Likewise.
7612         * tests/test-snprintf-posix.h (test_function): Likewise.
7613         * tests/test-sprintf-posix.h (test_function): Likewise.
7614         * tests/test-fprintf-posix.h (test_function): Likewise.
7615         * tests/test-printf-posix.h (test_function): Likewise.
7616         * tests/test-fprintf-posix.out: Likewise.
7617
7618 2007-04-10  Bruno Haible  <bruno@clisp.org>
7619
7620         * modules/locale-tests: New file.
7621         * tests/test-locale.c: New file.
7622
7623         * modules/locale: New file.
7624         * lib/locale_.h: New file.
7625         * m4/locale_h.m4: New file.
7626
7627 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
7628             Bruno Haible  <bruno@clisp.org>
7629
7630         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
7631         be determined, test for availability of the copysignf, copysign,
7632         copysignl functions.
7633         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
7634         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
7635         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
7636
7637 2007-04-09  Eric Blake  <ebb9@byu.net>
7638
7639         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
7640         * modules/stdio (Makefile.am): Support fflush.
7641         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
7642         * modules/fflush: New file.
7643         * lib/fflush.c: Likewise.
7644         * m4/fflush.m4: Likewise.
7645         * modules/fflush-tests: New test.
7646         * tests/test-fflush.c: Likewise.
7647         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
7648
7649 2007-04-06  Bruno Haible  <bruno@clisp.org>
7650
7651         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
7652         (VASNPRINTF): Use signbit for faster determination whether to print a
7653         minus sign.
7654         * modules/vasnprintf (Files): Remove lib/float+.h.
7655         * modules/fprintf-posix (Depends-on): Add signbit.
7656         * modules/snprintf-posix (Depends-on): Likewise.
7657         * modules/sprintf-posix (Depends-on): Likewise.
7658         * modules/vasnprintf-posix (Depends-on): Likewise.
7659         * modules/vasprintf-posix (Depends-on): Likewise.
7660         * modules/vfprintf-posix (Depends-on): Likewise.
7661         * modules/vsnprintf-posix (Depends-on): Likewise.
7662         * modules/vsprintf-posix (Depends-on): Likewise.
7663
7664 2007-04-06  Bruno Haible  <bruno@clisp.org>
7665
7666         * tests/test-frexp.c (main): Test also the sign bit of zero results.
7667         * tests/test-frexpl.c (main): Likewise.
7668         * tests/test-ldexpl.c (main): Likewise.
7669         * modules/frexp-tests (Depends-on): Add signbit.
7670         * modules/frexpl-tests (Depdends-on): Likewise.
7671         * modules/ldexpl-tests (Depdends-on): Likewise.
7672
7673 2007-04-06  Bruno Haible  <bruno@clisp.org>
7674
7675         * modules/signbit-tests: New file.
7676         * tests/test-signbit.c: New file.
7677
7678         * modules/signbit: New file.
7679         * lib/signbitf.c: New file.
7680         * lib/signbitd.c: New file.
7681         * lib/signbitl.c: New file.
7682         * m4/signbit.m4: New file.
7683         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
7684         (signbit): New macro.
7685         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
7686         REPLACE_SIGNBIT.
7687         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
7688         REPLACE_FREXPL into math.h.
7689
7690 2007-04-06  Bruno Haible  <bruno@clisp.org>
7691
7692         * modules/isnanf-nolibm-tests: New file.
7693         * tests/test-isnanf.c: New file.
7694
7695         * modules/isnanf-nolibm: New file.
7696         * lib/isnanf.h: New file.
7697         * lib/isnanf.c: New file.
7698         * lib/isnan.c: Consider the USE_FLOAT macro.
7699         * m4/isnanf.m4: New file.
7700
7701 2007-04-06  Bruno Haible  <bruno@clisp.org>
7702
7703         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
7704         (Link): New section.
7705
7706         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
7707
7708 2007-04-06  Bruno Haible  <bruno@clisp.org>
7709
7710         Assume the 'long double' type.
7711         * m4/longdouble.m4: Remove file.
7712         * config/srclist.txt: Don't mention longdouble.m4.
7713         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
7714         * lib/float+.h: Likewise.
7715         * lib/frexp.c: Likewise.
7716         * lib/printf-args.h: Likewise.
7717         * lib/printf-args.c: Likewise.
7718         * lib/printf-frexp.c: Likewise.
7719         * lib/printf-parse.c: Likewise.
7720         * lib/vasnprintf.c: Likewise.
7721         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
7722         * m4/intl.m4: Likewise.
7723         * m4/isnanl.m4: Likewise.
7724         * m4/printf.m4: Likewise.
7725         * m4/printf-frexpl.m4: Likewise.
7726         * m4/vasnprintf.m4: Likewise.
7727         * modules/allocsa (Files): Remove m4/longdouble.m4.
7728         * modules/gettext (Files): Likewise.
7729         * modules/relocatable-prog-wrapper (Files): Likewise.
7730         * modules/vasnprintf (Files): Likewise.
7731         * modules/isnanl (Files): Likewise.
7732         (Include): Simplify.
7733         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
7734         (Include): Simplify.
7735         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
7736         (Include): Simplify.
7737         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
7738         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
7739         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
7740         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
7741         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
7742         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
7743         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
7744         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
7745         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
7746         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
7747         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
7748         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
7749         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
7750         * tests/test-isnanl.c: Likewise.
7751         * tests/test-snprintf-posix.h: Likewise.
7752         * tests/test-sprintf-posix.h: Likewise.
7753         * tests/test-vasnprintf-posix.c: Likewise.
7754         * tests/test-vasnprintf-posix2.c: Likewise.
7755         * tests/test-vasprintf-posix.c: Likewise.
7756
7757 2007-04-06  Bruno Haible  <bruno@clisp.org>
7758
7759         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
7760         * lib/math_.h [__DECC]: Include the overridden include file through
7761         #include_next, outside the double-inclusion guard.
7762         * lib/stdio_.h [__DECC]: Likewise.
7763         * lib/stdlib_.h [__DECC]: Likewise.
7764         * lib/string_.h [__DECC]: Likewise.
7765         * lib/time_.h [__DECC]: Likewise.
7766         * lib/wchar_.h [__DECC]: Likewise.
7767         * lib/wctype_.h [__DECC]: Likewise.
7768         * lib/inttypes_.h [__DECC]: Likewise.
7769         Reported by Albert Chin <china@thewrittenword.com> in
7770         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
7771
7772 2007-04-04  Eric Blake  <ebb9@byu.net>
7773
7774         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
7775         1.5.x.
7776
7777 2007-04-04  Bruno Haible  <bruno@clisp.org>
7778
7779         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
7780         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
7781
7782 2007-04-04  Bruno Haible  <bruno@clisp.org>
7783
7784         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
7785         results for "%010a" of Infinity and NaN.
7786         * tests/test-vasprintf-posix.c (test_function): Likewise.
7787         * tests/test-snprintf-posix.h (test_function): Likewise.
7788         * tests/test-sprintf-posix.h (test_function): Likewise.
7789         * tests/test-fprintf-posix.h (test_function): Remove these tests.
7790         * tests/test-printf-posix.h (test_function): Likewise.
7791         * tests/test-fprintf-posix.out: Update.
7792         Needed for FreeBSD 6.1.
7793
7794 2007-04-04  Bruno Haible  <bruno@clisp.org>
7795
7796         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
7797         directly used by the gnulib modules nor by gnulib-tool.
7798
7799 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
7800
7801         * DEPENDENCIES: Give overall description of version dependency
7802         desirability.  Use more-typical names for apps.
7803         Add shell, coreutils, diffutils, grep, tar, gzip.
7804
7805 2007-04-04  Simon Josefsson  <simon@josefsson.org>
7806
7807         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
7808
7809 2007-04-04  Karl Berry  <karl@gnu.org>
7810
7811         * MODULES.html.sh (func_module): missing '.
7812
7813 2007-04-03  Bruno Haible  <bruno@clisp.org>
7814
7815         * modules/argmatch-tests (Makefile.am): New variable
7816         test_argmatch_LDADD.
7817         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
7818         * modules/array-list-tests (Makefile.am): New variable
7819         test_array_list_LDADD.
7820         * modules/array-oset-tests (Makefile.am): New variable
7821         test_array_oset_LDADD.
7822         * modules/avltree-list-tests (Makefile.am): New variable
7823         test_avltree_list_LDADD.
7824         * modules/avltree-oset-tests (Makefile.am): New variable
7825         test_avltree_oset_LDADD.
7826         * modules/avltreehash-list-tests (Makefile.am): New variable
7827         test_avltreehash_list_LDADD.
7828         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
7829         test_canonicalize_lgpl_LDADD.
7830         * modules/carray-list-tests (Makefile.am): New variable
7831         test_carray_list_LDADD.
7832         * modules/dirname-tests (Makefile.am): New variable
7833         test_dirname_LDADD.
7834         * modules/linked-list-tests (Makefile.am): New variable
7835         test_linked_list_LDADD.
7836         * modules/linkedhash-list-tests (Makefile.am): New variable
7837         test_linkedhash_list_LDADD.
7838         * modules/rbtree-list-tests (Makefile.am): New variable
7839         test_rbtree_list_LDADD.
7840         * modules/rbtree-oset-tests (Makefile.am): New variable
7841         test_rbtree_oset_LDADD.
7842         * modules/rbtreehash-list-tests (Makefile.am): New variable
7843         test_rbtreehash_list_LDADD.
7844         * modules/xvasprintf-tests (Makefile.am): New variable
7845         test_xvasprintf_LDADD.
7846         Reported by Eric Blake.
7847
7848 2007-04-03  Eric Blake  <ebb9@byu.net>
7849
7850         * DEPENDENCIES: Weaken m4 requirements.
7851
7852 2007-04-03  Bruno Haible  <bruno@clisp.org>
7853
7854         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
7855         * modules/isnanl-tests (configure.ac): Likewise.
7856
7857 2007-04-03  Ben Pfaff  <blp@gnu.org>
7858
7859         * modules/iconv_open: Add $(srcdir)/ to source directory
7860         references in Makefile fragments that call gperf, to fix VPATH
7861         builds.
7862
7863 2007-04-03  Bruno Haible  <bruno@clisp.org>
7864
7865         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
7866         * lib/ldexpl.c: Undo last change.
7867
7868 2007-04-03  Bruno Haible  <bruno@clisp.org>
7869
7870         * modules/printf-frexpl (Depends-on): Undo last change.
7871         (Files): Add m4/ldexpl.m4.
7872
7873 2007-04-03  Bruno Haible  <bruno@clisp.org>
7874
7875         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
7876         * modules/isnanl (Link): New section.
7877
7878         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
7879         * modules/frexp (Link): New section.
7880
7881         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
7882         * modules/frexpl (Link): New section.
7883
7884         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
7885         * modules/ldexpl (Link): New section.
7886
7887 2007-04-03  Bruno Haible  <bruno@clisp.org>
7888
7889         * modules/TEMPLATE-EXTENDED: New file.
7890         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
7891
7892 2007-04-03  Bruno Haible  <bruno@clisp.org>
7893
7894         * DEPENDENCIES: New file.
7895         Suggested by Simon Josefsson.
7896
7897 2007-04-03  Bruno Haible  <bruno@clisp.org>
7898
7899         * doc/gnulib.texi: Escape @.
7900
7901 2007-04-03  James Youngman  <jay@gnu.org>
7902         and Paul Eggert  <eggert@cs.ucla.edu>
7903
7904         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
7905         birthtime on all systems that have birthtime, not just those which
7906         use st_birthtimensec rather than st_birthtim.  Putting zero in
7907         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
7908         that the birth time is not available for files on an NFS mount.
7909
7910 2007-04-03  Simon Josefsson  <simon@josefsson.org>
7911
7912         * modules/memxor: Move back from crypto/, suggested by Bruno.
7913         * modules/crypto/hmac-sha1: Fix memxor dependency.
7914
7915         * modules/crypto/gc: Moved from ../.
7916
7917 2007-04-02  Eric Blake  <ebb9@byu.net>
7918
7919         * lib/ldexpl.c (includes): Avoid libm.
7920
7921         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
7922
7923 2007-04-02  Bruno Haible  <bruno@clisp.org>
7924
7925         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
7926         on IRIX.
7927
7928 2007-04-02  Bruno Haible  <bruno@clisp.org>
7929
7930         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
7931         x86 or x86_64 platforms running MacOS X.
7932         Reported by Ryan Schmidt <@ryandesign.com>.
7933
7934 2007-04-02  Bruno Haible  <bruno@clisp.org>
7935
7936         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
7937         i386.
7938
7939 2007-04-01  Simon Josefsson  <simon@josefsson.org>
7940
7941         * modules/crypto/arcfour: Moved from ../.
7942         * modules/crypto/arcfour-tests: Moved from ../.
7943         * modules/crypto/arctwo: Moved from ../.
7944         * modules/crypto/arctwo-tests: Moved from ../.
7945         * modules/crypto/des: Moved from ../.
7946         * modules/crypto/des-tests: Moved from ../.
7947         * modules/crypto/gc-arcfour: Moved from ../.
7948         * modules/crypto/gc-arcfour-tests: Moved from ../.
7949         * modules/crypto/gc-arctwo: Moved from ../.
7950         * modules/crypto/gc-arctwo-tests: Moved from ../.
7951         * modules/crypto/gc-des: Moved from ../.
7952         * modules/crypto/gc-des-tests: Moved from ../.
7953         * modules/crypto/gc-hmac-md5: Moved from ../.
7954         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
7955         * modules/crypto/gc-hmac-sha1: Moved from ../.
7956         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
7957         * modules/crypto/gc-md2: Moved from ../.
7958         * modules/crypto/gc-md2-tests: Moved from ../.
7959         * modules/crypto/gc-md4: Moved from ../.
7960         * modules/crypto/gc-md4-tests: Moved from ../.
7961         * modules/crypto/gc-md5: Moved from ../.
7962         * modules/crypto/gc-md5-tests: Moved from ../.
7963         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
7964         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
7965         * modules/crypto/gc-random: Moved from ../.
7966         * modules/crypto/gc-rijndael: Moved from ../.
7967         * modules/crypto/gc-rijndael-tests: Moved from ../.
7968         * modules/crypto/gc-sha1: Moved from ../.
7969         * modules/crypto/gc-sha1-tests: Moved from ../.
7970         * modules/crypto/gc-tests: Moved from ../.
7971         * modules/crypto/hmac-md5: Moved from ../.
7972         * modules/crypto/hmac-md5-tests: Moved from ../.
7973         * modules/crypto/hmac-sha1: Moved from ../.
7974         * modules/crypto/hmac-sha1-tests: Moved from ../.
7975         * modules/crypto/md2: Moved from ../.
7976         * modules/crypto/md2-tests: Moved from ../.
7977         * modules/crypto/md4: Moved from ../.
7978         * modules/crypto/md4-tests: Moved from ../.
7979         * modules/crypto/md5: Moved from ../.
7980         * modules/crypto/md5-tests: Moved from ../.
7981         * modules/crypto/memxor: Moved from ../.
7982         * modules/crypto/rijndael: Moved from ../.
7983         * modules/crypto/rijndael-tests: Moved from ../.
7984         * modules/crypto/sha1: Moved from ../.
7985
7986 2007-03-30  James Youngman  <jay@gnu.org>
7987
7988         * tests/test-stat-time.c (prepare_test): use chmod() rather than
7989         rename() to change the ctime of a file (because ctime is unaffected
7990         by rename on jfs2 on AIX 5.1).
7991         (main): Start by doing cleanup, in case a previous run failed leaving
7992         test files behind.
7993
7994 2007-03-31  Bruno Haible  <bruno@clisp.org>
7995
7996         Support old proprietary implementations of iconv.
7997         * modules/iconv_open: New file.
7998         * lib/iconv_.h: New file.
7999         * m4/iconv_h.m4: New file.
8000         * lib/iconv_open.c: New file.
8001         * lib/iconv_open-aix.gperf: New file.
8002         * lib/iconv_open-hpux.gperf: New file.
8003         * lib/iconv_open-irix.gperf: New file.
8004         * lib/iconv_open-osf.gperf: New file.
8005         * m4/iconv_open.m4: New file.
8006         * modules/linebreak (Depends-on): Add iconv_open.
8007         * modules/striconv (Depends-on): Likewise.
8008         * modules/striconveh (Depends-on): Likewise.
8009         * modules/unicodeio (Depends-on): Likewise.
8010         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
8011         (iconv_t)(-1).
8012         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
8013         conversion if cd is (iconv_t)(-1).
8014         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
8015         is not possible.
8016
8017 2007-03-31  Bruno Haible  <bruno@clisp.org>
8018
8019         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
8020         work on Solaris either. Protect also second use of "autodetect_jp".
8021
8022 2007-03-31  Bruno Haible  <bruno@clisp.org>
8023
8024         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
8025         the function is not present.
8026
8027 2007-03-31  Bruno Haible  <bruno@clisp.org>
8028
8029         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
8030         the function is not present.
8031
8032 2007-03-31  Bruno Haible  <bruno@clisp.org>
8033
8034         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
8035         a bug in HP-UX iconv_open().
8036
8037 2007-03-31  Bruno Haible  <bruno@clisp.org>
8038
8039         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
8040         (Mathematics <math.h>): New section, add fpieee.
8041         (Input/output <stdio.h>): Add fseterr.
8042         (Mathematics <math.h>): New section, add printf-frexp.
8043         (Container data structures): Add sublist.
8044         (Core language properties): Add fpucw, inline.
8045         (Functions for greatest-width integer types <inttypes.h>): Add
8046         imaxabs, imaxdiv, inttypes.
8047         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
8048         isnanl-nolibm, ldexp.
8049         (Mathematics <math.h>): New section, add printf-frexpl.
8050         (Support for systems lacking POSIX:2001): Add fprintf-posix,
8051         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
8052         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
8053         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
8054         (Unicode string functions): Add unistr/u*-mbtoucr.
8055         (Java): Add javacomp-script, javaexec-script.
8056         (C#): Add csharpcomp-script, csharpexec-script.
8057         (Support for building libraries and executables): Add havelib,
8058         relocatable-*.
8059         (Support for maintaining and releasing projects): Renamed from
8060         'Support for maintaining and release projects'. Add announce-gen.
8061
8062 2007-03-31  Bruno Haible  <bruno@clisp.org>
8063
8064         * README: Talk primarily about git.
8065         (git and CVS): Renamed from CVS.
8066         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
8067         gnulib is available through git.
8068         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
8069
8070 2007-03-30  Bruno Haible  <bruno@clisp.org>
8071
8072         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
8073         * lib/poll_.h: Likewise.
8074         * lib/stat_.h: Likewise.
8075         * lib/sys_time_.h: Likewise.
8076         * lib/sysexit_.h: Likewise.
8077         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
8078         * lib/stdbool_.h: Likewise.
8079         * lib/byteswap_.h: Add double-inclusion guard.
8080
8081 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
8082
8083         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
8084
8085 2007-03-30  Karl Berry  <karl@gnu.org>
8086
8087         * config/srclist-update: double space after USA in the license
8088         substitution, since that's how it's usually (?) written.
8089
8090 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
8091
8092         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
8093         reported by Bruno Haible.
8094
8095 2007-03-29  Bruno Haible  <bruno@clisp.org>
8096
8097         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
8098         a bug in AIX iconv().
8099
8100 2007-03-29  Bruno Haible  <bruno@clisp.org>
8101
8102         * modules/ldexpl-tests: New file.
8103         * tests/test-ldexpl.c: New file.
8104
8105 2007-03-29  Bruno Haible  <bruno@clisp.org>
8106
8107         * lib/ldexpl.c: Include fpucw.h.
8108         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
8109         multiplication.
8110         * modules/ldexpl (Depends-on): Add fpucw.
8111
8112 2007-03-29  Bruno Haible  <bruno@clisp.org>
8113
8114         * modules/ldexpl: New file.
8115         * m4/ldexpl.m4: New file.
8116         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
8117         set.
8118         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
8119         REPLACE_LDEXPL.
8120         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
8121         REPLACE_LDEXPL.
8122         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
8123         gl_FUNC_LDEXPL_WORKS.
8124         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
8125         * modules/mathl (Files): Remove lib/ldexpl.c.
8126         (Depends-on): Add ldexpl.
8127
8128 2007-03-29  Bruno Haible  <bruno@clisp.org>
8129
8130         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
8131
8132 2007-03-29  Bruno Haible  <bruno@clisp.org>
8133
8134         * tests/test-striconveh.c (main): Don't assume that a direct conversion
8135         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
8136         and possibly also HP-UX.
8137         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
8138         work on AIX, IRIX, HP-UX, OSF/1.
8139         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
8140         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
8141         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
8142         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
8143         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
8144         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
8145
8146 2007-03-29  Bruno Haible  <bruno@clisp.org>
8147
8148         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
8149
8150 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
8151
8152         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
8153         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
8154
8155 2007-03-29  Eric Blake  <ebb9@byu.net>
8156
8157         * lib/acl-internal.h: Remove redundant include.
8158         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
8159         Cygwin when a file is locked.
8160
8161 2007-03-29  Bruno Haible  <bruno@clisp.org>
8162
8163         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
8164         file.
8165         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
8166
8167 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
8168
8169         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
8170         try to remove a parent directory if the child couldn't be removed
8171         (except for the first rmdir, which could fail because the child
8172         doesn't exist).  Problem reported by Jeff Blaine in
8173         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
8174
8175 2007-03-28  Bruno Haible  <bruno@clisp.org>
8176
8177         * lib/striconveh.c (utf8conv_carefully): New function.
8178         (mem_cd_iconveh_internal): Invoke it.
8179
8180 2007-03-28  Bruno Haible  <bruno@clisp.org>
8181
8182         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
8183         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
8184         input.
8185         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
8186         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
8187         unistr/u8-uctomb.
8188
8189 2007-03-28  Bruno Haible  <bruno@clisp.org>
8190
8191         * modules/unistr/u8-mbtoucr: New file.
8192         * lib/unistr/u8-mbtoucr.c: New file.
8193         * modules/unistr/u16-mbtoucr: New file.
8194         * lib/unistr/u16-mbtoucr.c: New file.
8195         * modules/unistr/u16-mbtoucr: New file.
8196         * lib/unistr/u16-mbtoucr.c: New file.
8197         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
8198
8199 2007-03-27  Simon Josefsson  <simon@josefsson.org>
8200             Bruno Haible  <bruno@clisp.org>
8201
8202         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
8203         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
8204         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
8205
8206         * m4/stdio_h.m4: Add stubs for vasprintf too.
8207
8208         * modules/stdio: Support vasprintf in sed command.
8209
8210         * modules/vasprintf: Depend on stdio for prototypes.  Remove
8211         vasprintf.h.  Add stdio module indicator.
8212
8213         * lib/stdio_.h: Declare asprintf and vasprintf, based on
8214         vasprintf.h.
8215
8216         * lib/vasprintf.h: File removed.
8217
8218         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
8219         * lib/vasprintf.c: Ditto.
8220         * lib/xvasprintf.c: Ditto.
8221         * tests/test-vasprintf-posix.c: Ditto.
8222         * tests/test-vasprintf.c: Ditto.
8223
8224 2007-03-27  Bruno Haible  <bruno@clisp.org>
8225
8226         Make vasnprintf multithread-safe.
8227         * lib/vasnprintf.c (decimal_point_char): New function.
8228         (VASNPRINTF): Use it.
8229         Suggested by Simon Josefsson.
8230
8231 2007-03-27  Eric Blake  <ebb9@byu.net>
8232
8233         Support sub-second birthtime on cygwin.
8234         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
8235         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
8236         (get_stat_birthtime): Also work with st_birthtim.
8237
8238 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
8239
8240         * lib/stat-time.h (USE_BIRTHTIME): Remove.
8241         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
8242         (get_stat_birthtime_ns): Do not try to use "spare" fields.
8243         (get_stat_birthtime_ns): Simplify compile-time tests.
8244         (get_stat_birthtime): Change the API to look like
8245         get_stat_mtime etc., except return a negative tv_nsec on error.
8246         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
8247         Don't check for "spare" fields.
8248         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
8249         or for struct stat.st_birthtime, as these tests aren't used.
8250         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
8251
8252 2007-03-27  Bruno Haible  <bruno@clisp.org>
8253
8254         * lib/stat-time.h: Include <sys/stat.h>.
8255
8256 2007-03-27  James Youngman  <jay@gnu.org>
8257
8258         * lib/stat-time.h (get_stat_birthtime): New function for
8259           retrieving st_birthtime as provided by UFS2 (hence *BSD).
8260         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
8261           and its variants.
8262         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
8263         * modules/stat-time-test: New file.
8264         * tests/test-stat-time.c: New test, devised by Bruno Haible.
8265
8266 2007-03-26  Bruno Haible  <bruno@clisp.org>
8267
8268         Better support of signalling NaNs.
8269         * lib/atanl.c: Include isnanl.h.
8270         (atanl): Perform test for NaN at the beginning of the function and
8271         through a call to isnanl.
8272         * lib/cosl.c: Include isnanl.h.
8273         (cosl): Perform test for NaN at the beginning of the function and
8274         through a call to isnanl.
8275         * lib/ldexpl.c: Include isnanl.h.
8276         (ldexpl): Perform test for NaN through a call to isnanl.
8277         * lib/logl.c: Include isnanl.h.
8278         (logl): Perform test for NaN at the beginning of the function and
8279         through a call to isnanl.
8280         * lib/sinl.c: Include isnanl.h.
8281         (sinl): Perform test for NaN at the beginning of the function and
8282         through a call to isnanl.
8283         * lib/sqrtl.c: Include isnanl.h.
8284         (sqrtl): Perform test for NaN at the beginning of the function and
8285         through a call to isnanl.
8286         * lib/tanl.c: Include isnanl.h.
8287         (tanl): Perform test for NaN at the beginning of the function and
8288         through a call to isnanl.
8289         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
8290         * modules/mathl (Depends-on): Add isnanl.
8291
8292 2007-03-26  Eric Blake  <ebb9@byu.net>
8293
8294         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
8295         regression in logic sense of previous patch.
8296
8297 2007-03-26  Bruno Haible  <bruno@clisp.org>
8298
8299         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
8300         unportable shell command "if ! ...".
8301         Reported by Ralf Wildenhues.
8302
8303 2007-03-25  Bruno Haible  <bruno@clisp.org>
8304
8305         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
8306         <sysexits.h> file, and only add EX_CONFIG.
8307         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
8308         absolute file name and whether it is sufficient. Substitute also
8309         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
8310         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
8311         ABSOLUTE_SYSEXITS_H into sysexits.h.
8312
8313 2007-03-25  Bruno Haible  <bruno@clisp.org>
8314
8315         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
8316         hints is NULL.
8317
8318 2007-03-25  Bruno Haible  <bruno@clisp.org>
8319
8320         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
8321         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
8322
8323 2007-03-25  Bruno Haible  <bruno@clisp.org>
8324
8325         * lib/vasnprintf.c: Include langinfo.h.
8326         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
8327         multithread-safe.
8328         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
8329         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
8330         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
8331         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
8332         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
8333         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
8334         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
8335         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
8336         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
8337         Reported by Simon Josefsson.
8338
8339 2007-03-25  Bruno Haible  <bruno@clisp.org>
8340
8341         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
8342         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
8343         * modules/vasnprintf (Depends-on): Add stdint.
8344
8345 2007-03-25  Bruno Haible  <bruno@clisp.org>
8346
8347         * modules/fpieee: New file.
8348         * m4/fpieee.m4: New file.
8349         * modules/isnan-nolibm (Depends-on): Add fpieee.
8350         * modules/isnanl-nolibm (Depends-on): Add fpieee.
8351         * modules/isnanl (Depends-on): Add fpieee.
8352
8353 2007-03-25  Bruno Haible  <bruno@clisp.org>
8354
8355         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
8356
8357 2007-03-25  Bruno Haible  <bruno@clisp.org>
8358
8359         Avoid test failures on IRIX 6.5.
8360         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
8361         (main): Use it.
8362         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
8363         macros.
8364         (main): Use them.
8365
8366 2007-03-25  Bruno Haible  <bruno@clisp.org>
8367
8368         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
8369         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
8370         exists but doesn't work.
8371         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
8372         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
8373         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
8374         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
8375
8376 2007-03-25  Bruno Haible  <bruno@clisp.org>
8377
8378         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
8379         returns inf. Needed on IRIX 6.5.
8380
8381 2007-03-25  Bruno Haible  <bruno@clisp.org>
8382
8383         * tests/test-frexpl.c: Include isnanl-nolibm.h.
8384         (main): Use isnanl instead of x != x idiom.
8385         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
8386
8387         * tests/test-frexp.c: Include isnan.h.
8388         (main): Use isnan instead of x != x idiom.
8389         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
8390
8391 2007-03-25  Bruno Haible  <bruno@clisp.org>
8392
8393         * tests/test-frexp.c (NaN): New function/macro.
8394         (main): Use it instead of 0.0 / 0.0.
8395         * tests/test-isnan.c (NaN): New function/macro.
8396         (main): Use it instead of 0.0 / 0.0.
8397         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
8398         (test_function): Use it instead of 0.0 / 0.0.
8399         * tests/test-vasprintf-posix.c (NaN): New function/macro.
8400         (test_function): Use it instead of 0.0 / 0.0.
8401         * tests/test-snprintf-posix.h (NaN): New function/macro.
8402         (test_function): Use it instead of 0.0 / 0.0.
8403         * tests/test-sprintf-posix.h (NaN): New function/macro.
8404         (test_function): Use it instead of 0.0 / 0.0.
8405         * tests/test-fprintf-posix.h (NaN): New function/macro.
8406         (test_function): Use it instead of 0.0 / 0.0.
8407         * tests/test-printf-posix.h (NaN): New function/macro.
8408         (test_function): Use it instead of 0.0 / 0.0.
8409
8410         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
8411
8412 2007-03-25  Bruno Haible  <bruno@clisp.org>
8413
8414         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
8415
8416 2007-03-25  Bruno Haible  <bruno@clisp.org>
8417
8418         * lib/regexec.c (merge_state_with_log): Make static.
8419
8420 2007-03-25  Bruno Haible  <bruno@clisp.org>
8421
8422         * lib/trigl.c (kernel_rem_pio2): Make static.
8423
8424 2007-03-25  Bruno Haible  <bruno@clisp.org>
8425
8426         * lib/sincosl.c (sincosl_table): Make static.
8427
8428 2007-03-25  Bruno Haible  <bruno@clisp.org>
8429
8430         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
8431         if the compiler does not support C99.
8432
8433 2007-03-25  Bruno Haible  <bruno@clisp.org>
8434
8435         * modules/time (Makefile.am): Ensure all rule action lines start with a
8436         tab.
8437
8438 2007-03-24  Bruno Haible  <bruno@clisp.org>
8439
8440         * modules/tsearch-tests: New file.
8441         * tests/test-tsearch.sh: New file.
8442         * tests/test-tsearch.c: New file, mostly copied from glibc.
8443
8444         * modules/search-tests: New file.
8445         * tests/test-search.c: New file.
8446
8447         * modules/search: New file.
8448         * lib/search_.h: New file, incorporating lib/tsearch.h.
8449         * m4/search_h.m4: New file.
8450         * lib/tsearch.h: Remove file.
8451         * lib/tsearch.c: Include search.h instead of tsearch.h.
8452         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
8453         HAVE_TSEARCH.
8454         * modules/tsearch (Files): Remove lib/tsearch.h.
8455         (Depends-on): Add search.
8456         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
8457         (Include): Change tsearch.h into search.h.
8458
8459 2007-03-24  Bruno Haible  <bruno@clisp.org>
8460
8461         * modules/fpucw: New file.
8462         * lib/fpucw.h: New file.
8463         * lib/frexp.c: Include fpucw.h.
8464         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
8465         (FUNC): Use them.
8466         * lib/printf-frexp.c: Include fpucw.h.
8467         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
8468         (FUNC): Use them.
8469         * lib/vasnprintf.c: Include fpucw.h.
8470         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
8471         'long double' calculations.
8472         * tests/test-frexpl.c: Include fpucw.h.
8473         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
8474         * tests/test-printf-frexpl.c: Include fpucw.h.
8475         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
8476         * modules/frexpl (Depends-on): Add fpucw.
8477         * modules/printf-frexpl (Depends-on): Likewise.
8478         * modules/fprintf-posix (Depends-on): Likewise.
8479         * modules/snprintf-posix (Depends-on): Likewise.
8480         * modules/sprintf-posix (Depends-on): Likewise.
8481         * modules/vasnprintf-posix (Depends-on): Likewise.
8482         * modules/vasprintf-posix (Depends-on): Likewise.
8483         * modules/vfprintf-posix (Depends-on): Likewise.
8484         * modules/vsnprintf-posix (Depends-on): Likewise.
8485         * modules/vsprintf-posix (Depends-on): Likewise.
8486         * modules/frexpl-tests (Depends-on): Likewise.
8487         * modules/printf-frexpl-tests (Depends-on): Likewise.
8488
8489 2007-03-24  Bruno Haible  <bruno@clisp.org>
8490
8491         * lib/float+.h: New file.
8492         * lib/isnan.c: Include float+.h.
8493         (SIZE): New macro.
8494         (FUNC): Compare only SIZE bytes of the value.
8495         * lib/vasnprintf.c: Include float+.h.
8496         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
8497         SIZEOF_LDBL or SIZEOF_DBL bytes.
8498         * modules/isnan-nolibm (Files): Add lib/float+.h.
8499         * modules/isnanl-nolibm (Files): Add lib/float+.h.
8500         * modules/isnanl (Files): Add lib/float+.h.
8501         * modules/vasnprintf (Files): Add lib/float+.h.
8502
8503 2007-03-24  Bruno Haible  <bruno@clisp.org>
8504
8505         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
8506         include isnanl-nolibm.h.
8507
8508 2007-03-24  Bruno Haible  <bruno@clisp.org>
8509
8510         * tests/test-read-file.c (main): Don't produce spurious output for
8511         expected situations. Make the test fail if it encountered unexpected
8512         results.
8513
8514 2007-03-24  Bruno Haible  <bruno@clisp.org>
8515
8516         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
8517         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
8518
8519 2007-03-24  Bruno Haible  <bruno@clisp.org>
8520
8521         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
8522
8523 2007-03-24  Bruno Haible  <bruno@clisp.org>
8524
8525         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
8526         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
8527
8528         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
8529         * modules/utf8-ucs4: Turn into a symbolic link to module
8530         unistr/u8-mbtouc.
8531
8532         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
8533         utf8-ucs4-unsafe.
8534         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
8535         unistr/u8-mbtouc-unsafe.
8536
8537         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
8538         * modules/utf16-ucs4: Turn into a symbolic link to module
8539         unistr/u16-mbtouc.
8540
8541         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
8542         utf16-ucs4-unsafe.
8543         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
8544         unistr/u16-mbtouc-unsafe.
8545
8546         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
8547         * modules/ucs4-utf8: Turn into a symbolic link to module
8548         unistr/u8-ubtomb.
8549
8550         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
8551         * modules/ucs4-utf16: Turn into a symbolic link to module
8552         unistr/u16-ubtomb.
8553
8554 2007-03-24  Bruno Haible  <bruno@clisp.org>
8555
8556         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
8557         Enable the function only if HAVE_INLINE.
8558         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
8559         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
8560         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
8561         Enable the function only if HAVE_INLINE.
8562         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
8563         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
8564         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
8565         Enable the function only if HAVE_INLINE.
8566         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
8567         Enable the function only if HAVE_INLINE.
8568         * modules/utf8-ucs4: Update.
8569         * modules/utf8-ucs4-unsafe: Update.
8570         * modules/utf16-ucs4: Update.
8571         * modules/utf16-ucs4-unsafe: Update.
8572         * modules/ucs4-utf8: Update.
8573         * modules/ucs4-utf16: Update.
8574
8575 2007-03-24  Bruno Haible  <bruno@clisp.org>
8576
8577         * lib/utf8-ucs4.h: Remove file.
8578         * lib/utf8-ucs4-unsafe.h: Remove file.
8579         * lib/utf16-ucs4.h: Remove file.
8580         * lib/utf16-ucs4-unsafe.h: Remove file.
8581         * lib/ucs4-utf8.h: Remove file.
8582         * lib/ucs4-utf16.h: Remove file.
8583         * lib/unistr.h: Include their previous contents.
8584         * m4/utf-ucs4.m4: Remove file.
8585         * m4/ucs4-utf.m4: Remove file.
8586         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
8587         (Depends-on): Add unistr/base.
8588         (configure.ac): Remove gl_UTF_UCS4.
8589         (Makefile.am): Update.
8590         (Include): Change to unistr.h.
8591         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
8592         (Depends-on): Add unistr/base.
8593         (configure.ac): Remove gl_UTF_UCS4.
8594         (Makefile.am): Update.
8595         (Include): Change to unistr.h.
8596         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
8597         (Depends-on): Add unistr/base.
8598         (configure.ac): Remove gl_UTF_UCS4.
8599         (Makefile.am): Update.
8600         (Include): Change to unistr.h.
8601         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
8602         (Depends-on): Add unistr/base.
8603         (configure.ac): Remove gl_UTF_UCS4.
8604         (Makefile.am): Update.
8605         (Include): Change to unistr.h.
8606         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
8607         (Depends-on): Add unistr/base.
8608         (configure.ac): Remove gl_UCS4_UTF.
8609         (Makefile.am): Update.
8610         (Include): Change to unistr.h.
8611         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
8612         (Depends-on): Add unistr/base.
8613         (configure.ac): Remove gl_UCS4_UTF.
8614         (Makefile.am): Update.
8615         (Include): Change to unistr.h.
8616         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
8617         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
8618         utf8-ucs4-unsafe.h.
8619         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
8620         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
8621         utf16-ucs4-unsafe.h.
8622         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
8623         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
8624         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
8625         * lib/unistr/u8-strchr.c: Likewise.
8626         * lib/unistr/u8-strrchr.c: Likewise.
8627         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
8628         * lib/unistr/u16-strchr.c: Likewise.
8629         * lib/unistr/u16-strrchr.c: Likewise.
8630         * lib/striconveh.c: Update.
8631         * lib/linebreak.c: Update.
8632
8633 2007-03-24  Bruno Haible  <bruno@clisp.org>
8634
8635         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
8636         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
8637
8638 2007-03-22  Bruno Haible  <bruno@clisp.org>
8639
8640         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
8641
8642 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
8643
8644         * MODULES.html.sh (File system functions): New module write-any-file.
8645         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
8646         * m4/write-any-file.m4: New files.
8647
8648 2007-03-23  Eric Blake  <ebb9@byu.net>
8649
8650         * gnulib-tool: Rearrange space-tab sequences, since some editors
8651         like to eat them.
8652
8653 2007-03-23  Eric Blake  <ebb9@byu.net>
8654
8655         * lib/version-etc.c (version_etc_va): Update license wording to
8656         be more concise.  Recommended by Richard Stallman.
8657
8658 2007-03-22  Bruno Haible  <bruno@clisp.org>
8659
8660         * lib/poll.c (MSG_PEEK): New fallback definition.
8661
8662 2007-03-22  Bruno Haible  <bruno@clisp.org>
8663
8664         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
8665         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
8666         (main): Update.
8667         Fixes a compilation error on BeOS.
8668
8669 2007-03-22  Bruno Haible  <bruno@clisp.org>
8670
8671         * modules/frexpl-tests: New file.
8672         * tests/test-frexpl.c: New file.
8673
8674         * modules/frexpl: New file.
8675         * m4/frexpl.m4: New file.
8676         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
8677         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
8678         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
8679         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
8680         (Depends-on): Add frexpl. Remove isnanl-nolibm.
8681         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
8682
8683 2007-03-22  Bruno Haible  <bruno@clisp.org>
8684
8685         * lib/frexpl.c: Share code with lib/frexp.c.
8686         * modules/mathl (Files): Add lib/frexp.c.
8687         (Depends-on): Add isnanl-nolibm.
8688
8689 2007-03-22  Bruno Haible  <bruno@clisp.org>
8690
8691         * modules/printf-frexp (Files): Add m4/frexp.m4.
8692         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
8693         only if the found frexp function actually works.
8694
8695 2007-03-22  Bruno Haible  <bruno@clisp.org>
8696
8697         * lib/frexp.c: Remove older implementation that uses divisions.
8698
8699 2007-03-21  Bruno Haible  <bruno@clisp.org>
8700
8701         * modules/frexp-tests: New file.
8702         * tests/test-frexp.c: New file.
8703
8704         * modules/frexp: New file.
8705         * lib/frexp.c: New file.
8706         * m4/frexp.m4: New file.
8707         * lib/math_.h (frexp): New declaration.
8708         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
8709         REPLACE_FREXP.
8710         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
8711
8712 2007-03-21  Bruno Haible  <bruno@clisp.org>
8713
8714         * modules/isnanl-tests: New file.
8715         * tests/test-isnanl.c: New file.
8716
8717         * modules/isnanl: New file.
8718         * lib/isnanl.h: New file.
8719         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
8720         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
8721         gl_FUNC_ISNANL_WORKS.
8722         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
8723         New macros.
8724
8725 2007-03-21  Bruno Haible  <bruno@clisp.org>
8726
8727         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
8728         lib/isnanl.h.
8729         (Include): Update.
8730         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
8731         * lib/vasnprintf.c: Update.
8732         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
8733         tests/test-isnanl.h, remove tests/test-isnanl.c.
8734         (Makefile.am): Update.
8735         * tests/test-isnanl-nolibm.c: New file.
8736         * tests/test-isnanl.h: New file.
8737         * tests/test-isnanl.c: Remove file.
8738
8739 2007-03-21  Jim Meyering  <jim@meyering.net>
8740
8741         When trying to open ".", treat ESTALE like EACCES.
8742         * lib/savewd.c (savewd_save): Resort to forking not just upon
8743         failure with EACCES, but also when errno is ESTALE.
8744
8745 2007-03-20  Bruno Haible  <bruno@clisp.org>
8746
8747         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
8748         Needed on AIX 5.1. Reported by Matthew Woehlke.
8749
8750 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
8751
8752         Suggestions by Bruno Haible:
8753         * lib/acl-internal.h: Include "gettext.h" rather than rolling
8754         our own.
8755         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
8756         * modules/acl (Depends-on): Add gettext.
8757
8758 2007-03-19  Bruno Haible  <bruno@clisp.org>
8759
8760         * modules/iconvme: Remove file.
8761         * lib/iconvme.h: Remove file.
8762         * lib/iconvme.c: Remove file.
8763         * m4/iconvme.m4: Remove file.
8764
8765 2007-03-19  Bruno Haible  <bruno@clisp.org>
8766
8767         * doc/relocatable-maint.texi: Break long shell script line.
8768         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
8769
8770 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
8771
8772         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
8773         handle file_has_acl.
8774         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
8775         * lib/acl.c: Move header inclusions and related macro defns into
8776         lib/acl-internal.h.
8777         (S_ISLNK): Remove defn, since that's now done for us.
8778         (file_has_acl): Move to lib/file-has-acl.c.
8779         Call acl_trivial if available.  This is the crucial part of the fix.
8780         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
8781         shared within the library.  Rewrite a bit, partly to make it compatible
8782         with the GNU coding style.
8783         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
8784         Remove unnecessary double-quotes.
8785         Don't test for acl_to_text; the build will catch that.
8786         Replace acl_entries if it doesn't exist and it is needed.
8787         Check for -lsec and acl_trivial (as used on Solaris 10).
8788         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
8789         lib/file-has-acl.c.
8790         (Depends-on): Add sys_stat, for S_ISLNK.
8791
8792 2007-03-19  Ben Pfaff  <blp@gnu.org>
8793
8794         * doc/gnulib.texi: Fix typos.
8795         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
8796
8797 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
8798
8799         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
8800         If size is zero here, buf must be zero.
8801
8802 2007-03-19  Simon Josefsson  <simon@josefsson.org>
8803
8804         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
8805         <bruno@clisp.org>.
8806
8807 2007-03-18  Bruno Haible  <bruno@clisp.org>
8808
8809         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
8810         Suggested by Eric Blake.
8811
8812 2007-03-18  Ben Pfaff  <blp@gnu.org>
8813
8814         * doc/relocatable.texi: Recommend using as prefix a directory
8815         that does not exist and will never be created.  Based on
8816         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
8817         and others.
8818
8819 2007-03-17  Bruno Haible  <bruno@clisp.org>
8820
8821         * lib/fchownat.c: Include lchown.h.
8822
8823 2007-03-17  Bruno Haible  <bruno@clisp.org>
8824
8825         Fix endless loop when the given allocated size was > INT_MAX.
8826         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
8827         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
8828         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
8829         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
8830         * lib/sprintf.c (sprintf): Likewise.
8831
8832 2007-03-17  Bruno Haible  <bruno@clisp.org>
8833
8834         * tests/test-argp-2.sh (func_compare): Output a context diff.
8835
8836 2007-03-17  Bruno Haible  <bruno@clisp.org>
8837
8838         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
8839         locale's decimal-point character.
8840
8841 2007-03-17  Bruno Haible  <bruno@clisp.org>
8842
8843         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
8844         before comparing it. Needed because on some platforms (e.g. x86) a
8845         'long double' occupies less bytes than sizeof (long double).
8846
8847 2007-03-17  Bruno Haible  <bruno@clisp.org>
8848
8849         * tests/test-crc.c (main): Make printf statements 64-bit clean.
8850         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
8851         * tests/test-getaddrinfo.c (simple): Likewise.
8852         * tests/test-read-file.c (main): Likewise.
8853
8854 2007-03-17  Bruno Haible  <bruno@clisp.org>
8855
8856         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
8857
8858 2007-03-17  Bruno Haible  <bruno@clisp.org>
8859
8860         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
8861         unused variable.
8862
8863 2007-03-17  Bruno Haible  <bruno@clisp.org>
8864
8865         * tests/test-c-strcasecmp.c: Include c-strcase.h.
8866         * tests/test-c-strncasecmp.c: Likewise.
8867
8868 2007-03-17  Bruno Haible  <bruno@clisp.org>
8869
8870         * modules/stdlib (Depends-on): Add unistd.
8871         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
8872         Needed for MacOS X 10.3.
8873
8874 2007-03-17  Bruno Haible  <bruno@clisp.org>
8875
8876         * lib/unistr/u-strdup.h: Include <stdlib.h>.
8877
8878 2007-03-17  Bruno Haible  <bruno@clisp.org>
8879
8880         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
8881
8882 2007-03-17  Bruno Haible  <bruno@clisp.org>
8883
8884         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
8885         to reflect files copied from gnulib (with or without modifications).
8886         Suggested by Jim Meyering.
8887
8888 2007-03-17  Eric Blake  <ebb9@byu.net>
8889
8890         * NEWS: Document stdlib change from 2007-02-18.
8891
8892 2007-03-17  Jim Meyering  <jim@meyering.net>
8893
8894         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
8895         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
8896         someone uses a name containing shell meta-characters.
8897         Reported by Alfred M. Szmidt.
8898
8899         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
8900
8901 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
8902
8903         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
8904         and copy gettext configuration files only if configure.ac contains
8905         a use of AM_GNU_GETTEXT_VERSION.
8906
8907 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
8908
8909         * build-aux/bootstrap (gnulib_name): New variable.
8910         (gnulib_tool_options): Use it.
8911
8912 2007-03-13  Simon Josefsson  <simon@josefsson.org>
8913
8914         * tests/test-des.c: Use new namespace.
8915
8916 2007-03-15  Bruno Haible  <bruno@clisp.org>
8917
8918         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
8919         Reported by James Youngman <jay@gnu.org>.
8920
8921 2007-03-15  Bruno Haible  <bruno@clisp.org>
8922
8923         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
8924         declared prototype. Needed with cc on OSF/1 5.1.
8925
8926 2007-03-15  Bruno Haible  <bruno@clisp.org>
8927
8928         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
8929         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
8930         (struct gl_list_implementation): Add dispose_fn argument to the
8931         'create_empty', 'create' methods.
8932         (struct gl_list_impl_base): Add field 'dispose_fn'.
8933         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
8934         argument.
8935         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
8936         dispose_fn argument.
8937         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
8938         dispose_fn on the dropped values.
8939         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
8940         dispose_fn argument.
8941         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
8942         dropped values.
8943         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
8944         (gl_tree_remove_node): Call dispose_fn on the dropped value.
8945         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
8946         (gl_tree_remove_node): Call dispose_fn on the dropped value.
8947         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
8948         argument.
8949         (gl_tree_list_free): Call dispose_fn on the dropped values.
8950         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
8951         the dropped values.
8952         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
8953         Add dispose_fn argument.
8954         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
8955         Call dispose_fn on the dropped values.
8956         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
8957         Add dispose_fn argument.
8958         (gl_sublist_create): Initialize the 'dispose_fn' field.
8959         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
8960         * tests/test-array_list.c (main): Update.
8961         * tests/test-carray_list.c (main): Update.
8962         * tests/test-avltree_list.c (main): Update.
8963         * tests/test-rbtree_list.c (main): Update.
8964         * tests/test-avltreehash_list.c (main): Update.
8965         * tests/test-rbtreehash_list.c (main): Update.
8966         * tests/test-linked_list.c (main): Update.
8967         * tests/test-linkedhash_list.c (main): Update.
8968         * tests/test-array_oset.c (main): Update.
8969
8970 2007-03-15  Bruno Haible  <bruno@clisp.org>
8971
8972         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
8973         (gl_oset_create_empty): Add dispose_fn argument.
8974         (struct gl_oset_implementation): Add dispose_fn argument to
8975         'create_empty' method.
8976         (struct gl_oset_impl_base): Add dispose_fn field.
8977         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
8978         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
8979         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
8980         values.
8981         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
8982         (gl_tree_oset_free): Call dispose_fn on the dropped values.
8983         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
8984         dropped value.
8985         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
8986         dropped value.
8987         * tests/test-array_oset.c (main): Update.
8988         * tests/test-avltree_oset.c (main): Update.
8989         * tests/test-rbtree_oset.c (main): Update.
8990         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
8991
8992 2007-03-13  Bruno Haible  <bruno@clisp.org>
8993
8994         * tests/test-stdbool.c (i): Update after last patch.
8995
8996 2007-03-12  Bruno Haible  <bruno@clisp.org>
8997
8998         * lib/quotearg.c: Include <wctype.h> early, before the definition of
8999         the iswprint macro. Needed on Solaris 2.5.1.
9000
9001 2007-03-12  Bruno Haible  <bruno@clisp.org>
9002
9003         * tests/test-printf-frexp.c (main): Declare x as volatile.
9004
9005 2007-03-12  Simon Josefsson  <simon@josefsson.org>
9006
9007         * doc/gnulib.texi (Build robot for gnulib): New section.
9008
9009 2007-03-12  Jim Meyering  <jim@meyering.net>
9010
9011         * build-aux/bootstrap: New file.
9012         * build-aux/bootstrap.conf: New file, from coreutils.
9013
9014 2007-03-11  Bruno Haible  <bruno@clisp.org>
9015
9016         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
9017
9018 2007-03-12  Simon Josefsson  <simon@josefsson.org>
9019
9020         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
9021         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
9022         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
9023
9024 2007-03-11  Bruno Haible  <bruno@clisp.org>
9025
9026         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
9027         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
9028
9029 2007-03-11  Bruno Haible  <bruno@clisp.org>
9030
9031         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
9032         formula. Needed for SunPRO C 5.0.
9033
9034 2007-03-11  Bruno Haible  <bruno@clisp.org>
9035
9036         * modules/long-options (Depends-on): Add getopt.
9037
9038 2007-03-11  Bruno Haible  <bruno@clisp.org>
9039
9040         * modules/modechange (Depends-on): Add stdbool.
9041
9042 2007-03-11  Bruno Haible  <bruno@clisp.org>
9043
9044         * modules/i-ring (Depends-on): Add stdbool.
9045
9046 2007-03-11  Bruno Haible  <bruno@clisp.org>
9047
9048         * modules/gc-des (Depends-on): Add stdbool.
9049
9050 2007-03-11  Bruno Haible  <bruno@clisp.org>
9051
9052         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
9053
9054 2007-03-11  Bruno Haible  <bruno@clisp.org>
9055
9056         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
9057
9058 2007-03-11  Bruno Haible  <bruno@clisp.org>
9059
9060         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
9061
9062 2007-03-11  Bruno Haible  <bruno@clisp.org>
9063
9064         * lib/vasnprintf.c (sprintf): Undefine.
9065
9066 2007-03-11  Bruno Haible  <bruno@clisp.org>
9067
9068         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
9069         initializers in SunPRO C and Compaq C compilers.
9070
9071 2007-03-11  Bruno Haible  <bruno@clisp.org>
9072
9073         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
9074         decrementing code ANSI C compliant.
9075
9076 2007-03-11  Bruno Haible  <bruno@clisp.org>
9077
9078         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
9079         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
9080
9081 2007-03-11  Bruno Haible  <bruno@clisp.org>
9082
9083         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
9084         <stdbool.h> substitute doesn't pass.
9085
9086 2007-03-11  Bruno Haible  <bruno@clisp.org>
9087
9088         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
9089
9090 2007-03-11  Bruno Haible  <bruno@clisp.org>
9091
9092         * gnulib-tool (func_create_megatestdir): Create also an autobuild
9093         script, for submission to autobuild.josefsson.org.
9094
9095 2007-03-10  Bruno Haible  <bruno@clisp.org>
9096
9097         * modules/canonicalize-lgpl-tests: New file.
9098         * tests/test-canonicalize-lgpl.sh: New file.
9099         * tests/test-canonicalize-lgpl.c: New file.
9100
9101         * modules/c-strcase-tests: New file.
9102         * tests/test-c-strcase.sh: New file.
9103         * tests/test-c-strcasecmp.c: New file.
9104         * tests/test-c-strncasecmp.c: New file.
9105
9106         * modules/atexit-tests: New file.
9107         * tests/test-atexit.sh: New file.
9108         * tests/test-atexit.c: New file.
9109
9110 2007-03-10  Bruno Haible  <bruno@clisp.org>
9111
9112         * tests/test-binary-io.sh: Use temporary filenames that are not so
9113         likely to clash with those of other tests (in a parallel make).
9114         * tests/test-binary-io.c: Likewise.
9115
9116 2007-03-10  Bruno Haible  <bruno@clisp.org>
9117
9118         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
9119         fallback; use #error instead.
9120         Suggested by Simon Josefsson.
9121
9122 2007-03-10  Bruno Haible  <bruno@clisp.org>
9123
9124         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
9125         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
9126         first and the last.
9127
9128 2007-03-10  Bruno Haible  <bruno@clisp.org>
9129
9130         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
9131
9132 2007-03-10  Bruno Haible  <bruno@clisp.org>
9133
9134         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
9135         "make distcheck".
9136         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
9137         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
9138         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
9139
9140 2007-03-10  Bruno Haible  <bruno@clisp.org>
9141
9142         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
9143         variable.
9144         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
9145         variable.
9146
9147 2007-03-09  Eric Blake  <ebb9@byu.net>
9148         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
9149
9150         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
9151         types are not being provided by gnulib.
9152         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
9153         types are supported.
9154
9155 2007-03-10  Bruno Haible  <bruno@clisp.org>
9156
9157         * lib/stdio_.h (__attribute__): New macro.
9158         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
9159         vsprintf): Specify __attribute__ __format__ for GCC.
9160         Suggested by Eric Blake.
9161
9162 2007-03-09  Bruno Haible  <bruno@clisp.org>
9163
9164         * modules/printf-posix-tests: New file.
9165         * tests/test-printf-posix.sh: New file.
9166         * tests/test-printf-posix.c: New file.
9167
9168         * modules/printf-posix: New file.
9169         * lib/printf.c: New file.
9170         * m4/printf-posix-rpl.m4: New file.
9171         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
9172         REPLACE_PRINTF.
9173         * lib/stdio_.h (printf): New declaration.
9174         (format, __format__, ____printf____, ____scanf____, ____strftime____,
9175         ____strfmon____): New macros.
9176         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
9177         REPLACE_PRINTF.
9178
9179 2007-03-09  Bruno Haible  <bruno@clisp.org>
9180
9181         * tests/test-vasnprintf-posix2.sh: New file.
9182         * tests/test-vasnprintf-posix2.c: New file.
9183         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
9184         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
9185         (Makefile.am): Activate test-vasnprintf-posix2.sh.
9186
9187         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
9188         a locale dependent decimal point, rather than always '.'.
9189
9190 2007-03-09  Eric Blake  <ebb9@byu.net>
9191
9192         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
9193         spite of platforms like Tandem/NSK that define it to -1.
9194
9195 2007-03-08  Bruno Haible  <bruno@clisp.org>
9196
9197         * modules/vprintf-posix-tests: New file.
9198         * tests/test-vprintf-posix.sh: New file.
9199         * tests/test-vprintf-posix.c: New file.
9200         * tests/test-printf-posix.h: New file.
9201
9202         * modules/vprintf-posix: New file.
9203         * lib/vprintf.c: New file.
9204         * m4/vprintf-posix.m4: New file.
9205         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
9206         REPLACE_VPRINTF.
9207         * lib/stdio_.h (vprintf): New declaration.
9208         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
9209         REPLACE_VPRINTF.
9210
9211 2007-03-08  Bruno Haible  <bruno@clisp.org>
9212
9213         * modules/fprintf-posix-tests: New file.
9214         * tests/test-fprintf-posix.sh: New file.
9215         * tests/test-fprintf-posix.c: New file.
9216
9217         * modules/fprintf-posix: New file.
9218         * lib/fprintf.c: New file.
9219         * m4/fprintf-posix.m4: New file.
9220         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
9221         REPLACE_FPRINTF.
9222         * lib/stdio_.h (fprintf): New declaration.
9223         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
9224         REPLACE_FPRINTF.
9225
9226 2007-03-08  Bruno Haible  <bruno@clisp.org>
9227
9228         * modules/vfprintf-posix-tests: New file.
9229         * tests/test-vfprintf-posix.sh: New file.
9230         * tests/test-vfprintf-posix.c: New file.
9231         * tests/test-fprintf-posix.h: New file.
9232         * tests/test-fprintf-posix.out: New file.
9233
9234         * modules/vfprintf-posix: New file.
9235         * lib/vfprintf.c: New file.
9236         * m4/vfprintf-posix.m4: New file.
9237         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
9238         REPLACE_VFPRINTF.
9239         * lib/stdio_.h (vfprintf): New declaration.
9240         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
9241         REPLACE_VFPRINTF.
9242
9243 2007-03-08  Bruno Haible  <bruno@clisp.org>
9244
9245         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
9246
9247 2007-03-08  Bruno Haible  <bruno@clisp.org>
9248
9249         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
9250         instead of 'expr' invocations.
9251         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
9252         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
9253         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
9254         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
9255         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
9256         Suggested by Paul Eggert.
9257
9258 2007-03-08  Bruno Haible  <bruno@clisp.org>
9259
9260         * modules/fseterr-tests: New file.
9261         * tests/test-fseterr.c: New file.
9262
9263         * modules/fseterr: New file.
9264         * lib/fseterr.h: New file.
9265         * lib/fseterr.c: New file.
9266
9267 2007-03-08  Bruno Haible  <bruno@clisp.org>
9268
9269         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
9270         * lib/getopt_.h: Likewise.
9271         * lib/mbswidth.h: Likewise.
9272         * lib/setenv.h: Likewise.
9273         * lib/vasnprintf.h: Likewise.
9274         * lib/vasprintf.h: Likewise.
9275         * lib/verror.h: Likewise.
9276         * lib/xsetenv.h: Likewise.
9277         * lib/xvasprintf.h: Likewise.
9278
9279 2007-03-08  Jim Meyering  <jim@meyering.net>
9280
9281         * users.txt: Add parted.
9282
9283         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
9284
9285 2007-03-07  Bruno Haible  <bruno@clisp.org>
9286
9287         * m4/printf.m4: Make the shell script snippets copy&pastable.
9288
9289 2007-03-02  Bruno Haible  <bruno@clisp.org>
9290
9291         * lib/netinet_in_.h: New file.
9292         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
9293         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
9294         * modules/netinet_in (Files): Add lib/netinet_in_.h.
9295         (Depends-on): Add absolute-header.
9296         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
9297         into netinet/in.h.
9298
9299 2007-03-03  Bruno Haible  <bruno@clisp.org>
9300
9301         * lib/sys_select_.h: New file.
9302         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
9303         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
9304         * modules/sys_select (Files): Add lib/sys_select_.h.
9305         (Depends-on): Add absolute-header.
9306         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
9307         into sys/select.h.
9308
9309 2007-03-02  Bruno Haible  <bruno@clisp.org>
9310
9311         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
9312         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
9313         values.
9314         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
9315         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
9316         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
9317         * modules/sys_socket (Depends-on): Add absolute-header.
9318         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
9319         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
9320         (Include): Remove requirement of inclusion of <sys/types.h>.
9321
9322 2007-03-02  Bruno Haible  <bruno@clisp.org>
9323
9324         * lib/byteswap_.h (bswap_32): Fix formula.
9325
9326 2007-03-06  Bruno Haible  <bruno@clisp.org>
9327
9328         * modules/sprintf-posix-tests: New file.
9329         * tests/test-sprintf-posix.c: New file.
9330
9331         * modules/sprintf-posix: New file.
9332         * lib/sprintf.c: New file.
9333         * m4/sprintf-posix.m4: New file.
9334         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
9335         REPLACE_SPRINTF.
9336         * lib/stdio_.h (sprintf): New declaration.
9337         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
9338         REPLACE_SPRINTF.
9339
9340 2007-03-06  Bruno Haible  <bruno@clisp.org>
9341
9342         * modules/vsprintf-posix-tests: New file.
9343         * tests/test-vsprintf-posix.c: New file.
9344         * tests/test-sprintf-posix.h: New file.
9345
9346         * modules/vsprintf-posix: New file.
9347         * lib/vsprintf.c: New file.
9348         * m4/vsprintf-posix.m4: New file.
9349         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
9350         REPLACE_VSPRINTF.
9351         * lib/stdio_.h (vsprintf): New declaration.
9352         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
9353         REPLACE_VSPRINTF.
9354
9355 2007-03-06  Bruno Haible  <bruno@clisp.org>
9356
9357         * modules/vsnprintf (Depend-on): Remove minmax.
9358
9359 2007-03-06  Bruno Haible  <bruno@clisp.org>
9360
9361         * modules/snprintf-posix-tests: New file.
9362         * tests/test-snprintf-posix.c: New file.
9363
9364         * modules/snprintf-posix: New file.
9365         * m4/snprintf-posix.m4: New file.
9366         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
9367         gl_FUNC_SNPRINTF.
9368         (gl_FUNC_SNPRINTF): Invoke it.
9369         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
9370         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
9371         is set.
9372         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
9373
9374 2007-03-06  Bruno Haible  <bruno@clisp.org>
9375
9376         * modules/vsnprintf-posix-tests: New file.
9377         * tests/test-vsnprintf-posix.c: New file.
9378         * tests/test-snprintf-posix.h: New file.
9379
9380         * modules/vsnprintf-posix: New file.
9381         * m4/vsnprintf-posix.m4: New file.
9382         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
9383         gl_FUNC_VSNPRINTF.
9384         (gl_FUNC_VSNPRINTF): Invoke it.
9385         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
9386         * lib/stdio_.h (vsnprintf): Define as a replacement if
9387         REPLACE_VSNPRINTF is set.
9388         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
9389
9390 2007-03-06  Bruno Haible  <bruno@clisp.org>
9391
9392         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
9393         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
9394
9395 2007-03-06  Bruno Haible  <bruno@clisp.org>
9396
9397         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
9398         (asinl): Declare also if HAVE_DECL_ASINL is set.
9399         (atanl): Declare also if HAVE_DECL_ATANL is set.
9400         (ceill): Declare also if HAVE_DECL_CEILL is set.
9401         (cosl): Declare also if HAVE_DECL_COSL is set.
9402         (expl): Declare also if HAVE_DECL_EXPL is set.
9403         (floorl): Declare also if HAVE_DECL_FLOORL is set.
9404         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
9405         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
9406         (logl): Declare also if HAVE_DECL_LOGL is set.
9407         (sinl): Declare also if HAVE_DECL_SINL is set.
9408         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
9409         (tanl): Declare also if HAVE_DECL_TANL is set.
9410         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
9411         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
9412         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
9413         declaration of frexpl, ldexpl.
9414         * modules/printf-frexpl (Depends-on): Add math.
9415         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
9416
9417 2007-03-05  Bruno Haible  <bruno@clisp.org>
9418
9419         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
9420         frexpl and ldexpl are declared.
9421         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
9422
9423 2007-03-05  Bruno Haible  <bruno@clisp.org>
9424
9425         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
9426         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
9427
9428 2007-03-05  Bruno Haible  <bruno@clisp.org>
9429
9430         * lib/stdio_.h: Include <stddef.h>.
9431
9432 2007-03-05  Bruno Haible  <bruno@clisp.org>
9433
9434         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
9435
9436 2007-03-05  Bruno Haible  <bruno@clisp.org>
9437
9438         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
9439         NetBSD 4, from Ralf Wildenhues.
9440
9441 2007-03-04  Bruno Haible  <bruno@clisp.org>
9442
9443         * lib/vasprintf.h: Update #if logic for the case when the functions
9444         exist but are overridden.
9445
9446 2007-03-04  Bruno Haible  <bruno@clisp.org>
9447
9448         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
9449         implementations: glibc-2.4 and MacOS X 10.3.
9450         * tests/test-vasnprintf-posix.c (test_function): Test also the case
9451         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
9452         * tests/test-vasprintf-posix.c (test_function): Likewise.
9453
9454 2007-03-04  Bruno Haible  <bruno@clisp.org>
9455
9456         * modules/vasprintf-posix-tests: New file.
9457         * tests/test-vasprintf-posix.c: New file.
9458
9459         * modules/vasprintf-posix: New file.
9460         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
9461         defined.
9462         * m4/vasprintf-posix.m4: New file.
9463         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
9464         gl_FUNC_VASPRINTF.
9465         (gl_FUNC_VASPRINTF): Invoke it.
9466         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
9467         here.
9468         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
9469
9470 2007-03-04  Bruno Haible  <bruno@clisp.org>
9471
9472         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
9473         REPLACE_GETTIMEOFDAY.
9474         * modules/sys_time (Makefile.am): Likewise.
9475         * m4/sys_time_h.m4: Likewise.
9476         * m4/gettimeofday.m4: Likewise.
9477
9478 2007-03-04  Bruno Haible  <bruno@clisp.org>
9479
9480         * modules/vasnprintf-posix-tests: New file.
9481         * tests/test-vasnprintf-posix.c: New file.
9482
9483         * modules/vasnprintf-posix: New file.
9484         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
9485         printf-frexpl.h.
9486         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
9487         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
9488         REPLACE_VASNPRINTF is defined.
9489         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
9490         gl_FUNC_VASNPRINTF.
9491         (gl_FUNC_VASNPRINTF): Invoke it.
9492         * m4/vasnprintf-posix.m4: New file.
9493         * m4/printf.m4: New file.
9494
9495 2007-03-04  Bruno Haible  <bruno@clisp.org>
9496
9497         Compile progreloc.c only if --enable-relocatable is specified.
9498         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
9499         if --enable-relocatable was specified.
9500         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
9501         lib_SOURCES.
9502
9503 2007-03-04  Jim Meyering  <jim@meyering.net>
9504
9505         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
9506         Use it consistently, rather than enumerating errno constants.
9507
9508 2007-03-04  Bruno Haible  <bruno@clisp.org>
9509
9510         * modules/xvasprintf-tests: New file.
9511         * tests/test-xvasprintf.c: New file.
9512
9513         * modules/vasprintf-tests: New file.
9514         * tests/test-vasprintf.c: New file.
9515
9516         * modules/vasnprintf-tests: New file.
9517         * tests/test-vasnprintf.c: New file.
9518
9519         * modules/vsnprintf-tests: New file.
9520         * tests/test-vsnprintf.c: New file.
9521
9522         * modules/snprintf-tests: New file.
9523         * tests/test-snprintf.c: New file.
9524
9525 2007-03-04  Bruno Haible  <bruno@clisp.org>
9526
9527         Compile relocatable.c only if --enable-relocatable is specified.
9528         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
9529         gl_RELOCATABLE_LIBRARY.
9530         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
9531         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
9532         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
9533         gl_RELOCATABLE_LIBRARY.
9534         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
9535         (Makefile.am): Remove lib_SOURCES.
9536         * modules/relocatable-lib-lgpl (configure.ac): Invoke
9537         gl_RELOCATABLE_LIBRARY.
9538         (Makefile.am): Remove lib_SOURCES.
9539         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
9540         always.
9541         * modules/relocatable-prog-wrapper (configure.ac): Invoke
9542         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
9543
9544 2007-03-04  Bruno Haible  <bruno@clisp.org>
9545
9546         * modules/argmatch-tests: New file.
9547         * tests/test-argmatch.c: New file.
9548
9549         * tests/test-allocsa.c (main): Halve the number of loop runs.
9550
9551         * modules/alloca-opt-tests: New file.
9552         * tests/test-alloca-opt.c: New file.
9553
9554 2007-03-04  Jim Meyering  <jim@meyering.net>
9555
9556         Work around difference between Linux ACLs and Solaris 10 ZFS.
9557         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
9558         for EINVAL.
9559
9560 2007-03-03  Bruno Haible  <bruno@clisp.org>
9561
9562         * modules/relocatable-prog (Depends-on): Add back progreloc's
9563         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
9564
9565 2007-03-03  Bruno Haible  <bruno@clisp.org>
9566
9567         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
9568         * modules/relocatable-lib: New file.
9569
9570 2007-03-03  Bruno Haible  <bruno@clisp.org>
9571
9572         * modules/relocatable-prog: Renamed from modules/relocatable.
9573         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
9574
9575 2007-03-03  Bruno Haible  <bruno@clisp.org>
9576
9577         * modules/relocatable-script (Files): Add doc/relocatable.texi,
9578         m4/relocatable-lib.m4.
9579         (Depends-on): Remove 'relocatable'.
9580         (configure.ac): Add gl_RELOCATABLE_NOP.
9581
9582 2007-03-03  Bruno Haible  <bruno@clisp.org>
9583
9584         * modules/relocatable-prog-wrapper: New file.
9585         * modules/relocatable (Depends-on): Add it. Remove all other
9586         dependencies except progname.
9587         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
9588
9589         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
9590         (gl_FUNC_STRERROR): Nop.
9591         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
9592
9593         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
9594         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
9595
9596         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
9597         (gl_FUNC_READLINK): Update.
9598
9599         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
9600
9601 2007-03-03  Bruno Haible  <bruno@clisp.org>
9602
9603         * lib/xreadlink.c: Include <unistd.h> unconditionally.
9604         * modules/xreadlink (Depends-on): Add unistd.
9605         * modules/xreadlink-with-size (Depends-on): Likewise.
9606
9607 2007-03-03  Bruno Haible  <bruno@clisp.org>
9608
9609         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
9610         extracted from gt_FUNC_SETENV.
9611         (gt_FUNC_SETENV): Remove macro.
9612         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
9613         remove gt_FUNC_SETENV.
9614
9615 2007-03-03  Bruno Haible  <bruno@clisp.org>
9616
9617         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
9618         ENABLE_RELOCATABLE here.
9619         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
9620
9621 2007-03-03  Bruno Haible  <bruno@clisp.org>
9622
9623         * modules/rbtreehash-list-tests (Depends-on): Add progname.
9624         * tests/test-rbtreehash_list.c: Include progname.h.
9625         (main): Call set_program_name.
9626
9627         * modules/rbtree-oset-tests (Depends-on): Add progname.
9628         * tests/test-rbtree_oset.c: Include progname.h.
9629         (main): Call set_program_name.
9630
9631         * modules/rbtree-list-tests (Depends-on): Add progname.
9632         * tests/test-rbtree_list.c: Include progname.h.
9633         (main): Call set_program_name.
9634
9635         * modules/linked-list-tests (Depends-on): Add progname.
9636         * tests/test-linked_list.c: Include progname.h.
9637         (main): Call set_program_name.
9638
9639 2007-03-03  Bruno Haible  <bruno@clisp.org>
9640
9641         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
9642         All uses of __restrict changed to _Restrict_.
9643         * lib/glob_.h (__restrict): Remove macro.
9644
9645 2007-03-02  Bruno Haible  <bruno@clisp.org>
9646
9647         * modules/gettext (configure.ac): Require gettext infrastructure
9648         from version 0.16.1.
9649
9650 2007-03-02  Bruno Haible  <bruno@clisp.org>
9651
9652         * modules/linkedhash-list-tests (Depends-on): Add progname.
9653         * tests/test-linkedhash_list.c: Include progname.h.
9654         (main): Call set_program_name.
9655
9656         * modules/carray-list-tests (Depends-on): Add progname.
9657         * tests/test-carray_list.c: Include progname.h.
9658         (main): Call set_program_name.
9659
9660         * modules/avltreehash-list-tests (Depends-on): Add progname.
9661         * tests/test-avltreehash_list.c: Include progname.h.
9662         (main): Call set_program_name.
9663
9664         * modules/avltree-oset-tests (Depends-on): Add progname.
9665         * tests/test-avltree_oset.c: Include progname.h.
9666         (main): Call set_program_name.
9667
9668         * modules/avltree-list-tests (Depends-on): Add progname.
9669         * tests/test-avltree_list.c: Include progname.h.
9670         (main): Call set_program_name.
9671
9672         * modules/array-oset-tests (Depends-on): Add progname.
9673         * tests/test-array_oset.c: Include progname.h.
9674         (main): Call set_program_name.
9675
9676         * modules/array-list-tests (Depends-on): Add progname.
9677         * tests/test-array_list.c: Include progname.h.
9678         (main): Call set_program_name.
9679
9680         * modules/argp-tests (Depends-on): Add progname.
9681         * tests/test-argp.c: Include argp.h first. Include progname.h.
9682         (main): Call set_program_name.
9683
9684 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
9685
9686         * doc/gnulib-tool.texi (Initial import): Reword description of
9687         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
9688         limited effect even if defined after the first system include.
9689
9690 2007-03-01  Bruno Haible  <bruno@clisp.org>
9691
9692         * build-aux/config.libpath: Update to libtool-1.5.22.
9693         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9694
9695 2007-03-01  Bruno Haible  <bruno@clisp.org>
9696
9697         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
9698         foo_CFLAGS.
9699         Reported by Ralf Wildenhues.
9700
9701 2007-03-01  Bruno Haible  <bruno@clisp.org>
9702
9703         * build-aux/install-reloc: Remove object files left over by some
9704         compilers.
9705         Reported by Ralf Wildenhues.
9706
9707 2007-03-01  Bruno Haible  <bruno@clisp.org>
9708
9709         * build-aux/install-reloc: Break long lines.
9710
9711 2007-03-01  Bruno Haible  <bruno@clisp.org>
9712
9713         * doc/relocatable.texi: Document that it may not work on OpenBSD.
9714         Reported by Ralf Wildenhues.
9715
9716 2007-03-01  Bruno Haible  <bruno@clisp.org>
9717
9718         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
9719         include ordering constraints.
9720
9721 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
9722
9723         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
9724         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
9725         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
9726         as another example.
9727         * lib/time_.h: Fix misspelling.
9728         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
9729         Require gl_HEADER_TIME_H_DEFAULTS.
9730         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
9731         * m4/time_r.m4 (gl_TIME_R): Likewise.
9732         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
9733
9734 2007-03-01  Bruno Haible  <bruno@clisp.org>
9735
9736         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
9737         * m4/utimens.m4 (gl_UTIMENS): Likewise.
9738
9739 2007-03-01  Jim Meyering  <jim@meyering.net>
9740
9741         * modules/xreadlink (Maintainer): Add my name.
9742         * modules/xreadlink-with-size (Depends-on): Alphabetize.
9743
9744 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
9745             Bruno Haible  <bruno@clisp.org>
9746
9747         * build-aux/install-reloc: Compile also c-ctype.c.
9748         * build-aux/relocatable.sh.in: New file.
9749         * doc/relocatable.texi: New file.
9750         * doc/relocatable-maint.texi: New file.
9751         * doc/gnulib.texi: Include relocatable-maint.texi.
9752         * lib/progreloc.c: Include unistd.h unconditionally.
9753         * lib/relocwrapper.c: Include unistd.h unconditionally.
9754         Include c-ctype.h.
9755         (add_dotbin): Use c_tolower.
9756         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
9757         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
9758         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
9759         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
9760         to m4/relocatable-lib.m4.
9761         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
9762         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
9763         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
9764         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
9765         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
9766         * modules/relocatable: New file.
9767         * modules/relocatable-lib: New file.
9768         * modules/relocatable-script: New file.
9769
9770 2007-02-28  Bruno Haible  <bruno@clisp.org>
9771
9772         Import --enable-relocatable infrastructure.
9773         * build-aux/config.libpath: New file, from GNU gettext.
9774         * build-aux/install-reloc: New file, from GNU gettext.
9775         * build-aux/reloc-ldflags: New file, from GNU gettext.
9776         * lib/relocatable.h: New file, from GNU gettext.
9777         * lib/relocatable.c: New file, from GNU gettext.
9778         * lib/relocwrapper.c: New file, from GNU gettext.
9779         * m4/relocatable.m4: New file, from GNU gettext.
9780
9781 2007-02-28  Bruno Haible  <bruno@clisp.org>
9782
9783         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
9784
9785         * modules/xreadlink: New file, from GNU gettext with modifications.
9786         * lib/xreadlink.c: New file, from GNU gettext.
9787         * lib/xreadlink.h: Add comments.
9788         (xreadlink): New declaration.
9789
9790         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
9791         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
9792         lib/xreadlink-with-size.c.
9793         (configure.ac): Remove gl_XREADLINK invocation.
9794         (Makefile.am): Augment lib_SOURCES.
9795         * m4/xreadlink.m4: Remove file.
9796         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
9797         (xreadlink_with_size): Renamed from xreadink.
9798         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
9799         * modules/canonicalize (Depends-on): Replace xreadlink with
9800         xreadlink-with-size.
9801         * lib/canonicalize.c (canonicalize_filename_mode): Update.
9802
9803 2007-02-25  Jim Meyering  <jim@meyering.net>
9804
9805         * build-aux/announce-gen: When complaining about excess arguments,
9806         list them.
9807
9808 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
9809
9810         * README: Document signed integer overflow situation more
9811         accurately.
9812
9813 2007-02-25  Bruno Haible  <bruno@clisp.org>
9814
9815         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
9816         'a' or 'A' conversion.
9817
9818 2007-02-25  Bruno Haible  <bruno@clisp.org>
9819
9820         * modules/filename: Renamed from modules/pathname.
9821         (Files): Replace lib/pathname.h with lib/filename.h. Replace
9822         lib/concatpath.c with lib/concat-filename.c.
9823         (Makefile.am): Update.
9824         (Include): Replace pathname.h with filename.h.
9825         * lib/filename.h: Renamed from lib/pathname.h.
9826         (concatenated_filename): Renamed from concatenated_pathname.
9827         * lib/concat-filename.c: Renamed from lib/concatpath.c.
9828         (concatenated_filename): Renamed from concatenated_pathname.
9829         * lib/findprog.c: Include filename.h instead of pathname.h.
9830         (find_in_path): Update.
9831         * lib/javacomp.c: Include filename.h instead of pathname.h.
9832         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
9833         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
9834         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
9835         is_oldgcj_14_13_usable, is_javac_usable): Update.
9836         * lib/javaexec.c: Include filename.h instead of pathname.h.
9837         (execute_java_class): Update.
9838         * modules/findprog: Update.
9839         * modules/javacomp: Update.
9840         * modules/javaexec: Update.
9841         * MODULES.html.sh (File system functions): Add 'filename', remove
9842         'pathname'.
9843
9844 2007-02-25  Bruno Haible  <bruno@clisp.org>
9845
9846         * modules/printf-frexpl-tests: New file.
9847         * tests/test-printf-frexpl.c: New file.
9848
9849         * modules/printf-frexpl: New file.
9850         * lib/printf-frexpl.h: New file.
9851         * lib/printf-frexpl.c: New file.
9852         * m4/printf-frexpl.m4: New file.
9853
9854 2007-02-25  Bruno Haible  <bruno@clisp.org>
9855
9856         * modules/printf-frexp-tests: New file.
9857         * tests/test-printf-frexp.c: New file.
9858
9859         * modules/printf-frexp: New file.
9860         * lib/printf-frexp.h: New file.
9861         * lib/printf-frexp.c: New file.
9862         * m4/printf-frexp.m4: New file.
9863
9864 2007-02-25  Bruno Haible  <bruno@clisp.org>
9865
9866         Assume automake >= 1.10 for the tests.
9867         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
9868         * modules/arctwo-tests: Likewise.
9869         * modules/argp-tests: Likewise.
9870         * modules/avltree-list-tests: Likewise.
9871         * modules/avltree-oset-tests: Likewise.
9872         * modules/avltreehash-list-tests: Likewise.
9873         * modules/carray-list-tests: Likewise.
9874         * modules/crc-tests: Likewise.
9875         * modules/des-tests: Likewise.
9876         * modules/gc-arcfour-tests: Likewise.
9877         * modules/gc-arctwo-tests: Likewise.
9878         * modules/gc-des-tests: Likewise.
9879         * modules/gc-hmac-md5-tests: Likewise.
9880         * modules/gc-hmac-sha1-tests: Likewise.
9881         * modules/gc-md2-tests: Likewise.
9882         * modules/gc-md4-tests: Likewise.
9883         * modules/gc-md5-tests: Likewise.
9884         * modules/gc-pbkdf2-sha1-tests: Likewise.
9885         * modules/gc-rijndael-tests: Likewise.
9886         * modules/gc-sha1-tests: Likewise.
9887         * modules/gc-tests: Likewise.
9888         * modules/getaddrinfo-tests: Likewise.
9889         * modules/hmac-md5-tests: Likewise.
9890         * modules/hmac-sha1-tests: Likewise.
9891         * modules/linked-list-tests: Likewise.
9892         * modules/linkedhash-list-tests: Likewise.
9893         * modules/lock-tests: Likewise.
9894         * modules/md2-tests: Likewise.
9895         * modules/md4-tests: Likewise.
9896         * modules/md5-tests: Likewise.
9897         * modules/rbtree-list-tests: Likewise.
9898         * modules/rbtree-oset-tests: Likewise.
9899         * modules/rbtreehash-list-tests: Likewise.
9900         * modules/read-file-tests: Likewise.
9901         * modules/rijndael-tests: Likewise.
9902         * modules/stdint-tests: Likewise.
9903         * modules/tls-tests: Likewise.
9904
9905 2007-02-24  Bruno Haible  <bruno@clisp.org>
9906
9907         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
9908         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
9909         function; instead check whether isnan with a double argument links.
9910         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
9911         function; instead check whether isnan with a 'long double' argument
9912         links.
9913         Reported by Eric Blake <ebb9@byu.net>.
9914
9915 2007-02-24  Bruno Haible  <bruno@clisp.org>
9916
9917         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
9918         defined.
9919         * lib/isnanl.c: Remove all code. Just include isnan.c.
9920         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
9921
9922 2007-02-25  Jim Meyering  <jim@meyering.net>
9923
9924         Avoid conflicting types for 'unsetenv' on FreeBSD.
9925         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
9926         conflicting with FreeBSD's (5.0 and 6.1) function declaration
9927         in stdlib.h.
9928
9929 2007-02-24  Bruno Haible  <bruno@clisp.org>
9930
9931         * modules/isnanl-nolibm-tests: New file.
9932         * tests/test-isnanl.c: New file.
9933
9934         * modules/isnanl-nolibm: New file.
9935         * lib/isnanl.h: New file.
9936         * lib/isnanl.c: New file.
9937         * m4/isnanl.m4: New file.
9938
9939 2007-02-24  Bruno Haible  <bruno@clisp.org>
9940
9941         * modules/isnan-nolibm-tests: New file.
9942         * tests/test-isnan.c: New file.
9943
9944         * modules/isnan-nolibm: New file.
9945         * lib/isnan.h: New file.
9946         * lib/isnan.c: New file.
9947         * m4/isnan.m4: New file.
9948
9949 2007-02-24  Bruno Haible  <bruno@clisp.org>
9950
9951         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
9952         assume that an exponent fits in 20 bits.
9953
9954 2007-02-24  Jim Meyering  <jim@meyering.net>
9955
9956         * m4/regex.m4: Update the description of the configure-time option,
9957         --without-included-regex, to state accurately what the defaults are,
9958         and perhaps to give people an idea why using this option is risky.
9959
9960 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
9961
9962         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
9963         loops on small arguments.  This attempts to avoid the problem
9964         Bruno Haible reported for AIX 4.3.2 in
9965         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
9966
9967 2007-02-23  Bruno Haible  <bruno@clisp.org>
9968
9969         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
9970         Needed for help2man.
9971
9972 2007-02-23  Karl Berry  <karl@gnu.org>
9973
9974         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
9975         exists, foo.h should be cvs-ignored, not committed.
9976
9977 2007-02-23  Eric Blake  <ebb9@byu.net>
9978
9979         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
9980         * lib/stat-time.h (includes): Likewise.
9981         * lib/utimecmp.c (includes): Likewise.
9982         * lib/utimens.h (includes): Likewise.
9983         * lib/getdate.y (includes): Also include "timespec.h" for use
9984         internal to the module.
9985         * modules/utimens (Depends-on): Revert yesterday's patch.
9986         * modules/nanosleep (Depends-on): Add missing dependency.
9987
9988 2007-02-22  Bruno Haible  <bruno@clisp.org>
9989
9990         * lib/glob.c: Don't include getlogin_r.h.
9991
9992 2007-02-22  Jim Meyering  <jim@meyering.net>
9993
9994         * modules/utimens (Depends-on): Add timespec, required for
9995         utimens.h's inclusion of timespec.h.
9996
9997 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
9998
9999         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
10000         long unreadable paths in GNU/Linux.  Problem reported by Andreas
10001         Schwab in
10002         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
10003         I'll try to think of a better way to fix the Solaris problem.
10004
10005         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
10006         like glibc; on Solaris 10, it fails with errno == EINVAL.
10007         POSIX says the behavior is unspecified if the first argument is NULL,
10008         so play it safe and never pass NULL to the system getcwd.
10009
10010 2007-02-21  Jim Meyering  <jim@meyering.net>
10011
10012         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
10013         of gettimeofday.  It would conflict with the one now always
10014         provided via sys_time_.h.  Reported by Matthew Woehlke, as
10015         an IRIX 6.5 build failure.
10016
10017 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
10018
10019         Minor fixups to port to Solaris 10 with Sun C 5.8.
10020         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
10021         * modules/getcwd (Depends-on): Add dirfd.
10022         * lib/putenv.c (putenv): #undef it.
10023         (rpl_putenv): New decl.
10024         (malloc, free): Include <stdlib.h> rather than prototyping separately.
10025
10026 2007-02-20  Bruno Haible  <bruno@clisp.org>
10027
10028         * modules/stdio-tests: New file.
10029         * tests/test-stdio.c: New file.
10030
10031         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
10032         (Depends-on): Add stdio.
10033         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
10034         (Include): Use <stdio.h> instead of vsnprintf.h.
10035         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
10036         HAVE_DECL_VSNPRINTF.
10037         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
10038
10039         * modules/snprintf (Files): Remove lib/snprintf.h.
10040         (Depends-on): Add stdio.
10041         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
10042         (Include): Use <stdio.h> instead of snprintf.h.
10043         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
10044         HAVE_DECL_SNPRINTF.
10045         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
10046         * lib/getaddrinfo.c: Likewise.
10047
10048         * modules/stdio: New file.
10049         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
10050         * lib/snprintf.h: Remove file.
10051         * lib/vsnprintf.h: Remove file.
10052         * lib/.cppi-disable: Remove snprintf.h.
10053         * m4/stdio_h.m4: New file.
10054         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
10055
10056 2007-02-20  Jim Meyering  <jim@meyering.net>
10057
10058         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
10059         used by e.g., mingw.  From Bruno Haible.
10060
10061 2007-02-19  Bruno Haible  <bruno@clisp.org>
10062
10063         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
10064         warnings.
10065         Reported by Ben Pfaff <blp@cs.stanford.edu>.
10066
10067 2007-02-19  Bruno Haible  <bruno@clisp.org>
10068
10069         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
10070         from mingw users.
10071
10072 2007-02-19  Bruno Haible  <bruno@clisp.org>
10073
10074         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
10075         warnings.
10076         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
10077
10078 2007-02-19  Jim Meyering  <jim@meyering.net>
10079
10080         Don't use FD after a successful "fdopendir (fd)".
10081         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
10082         Reset it by calling dirfd on the just-obtained DIR*.
10083
10084         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
10085         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
10086
10087 2007-02-18  Bruno Haible  <bruno@clisp.org>
10088
10089         * lib/readlink.c: Include <unistd.h>.
10090         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
10091         HAVE_READLINK.
10092         * modules/readlink (Depends-on): Add unistd.
10093         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10094         (Include): Add <unistd.h>.
10095
10096         * lib/getlogin_r.h: Remove file.
10097         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
10098         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
10099         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
10100         HAVE_DECL_GETLOGIN_R.
10101         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
10102         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10103         (Include): Use <unistd.h> instead of getlogin_r.h.
10104
10105         * lib/getcwd.h: Remove file.
10106         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
10107         * lib/xgetcwd.c: Likewise.
10108         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
10109         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
10110         * modules/getcwd (Files): Remove lib/getcwd.h.
10111         (Depends-on): Add unistd.
10112         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10113         (Include): Use <unistd.h> instad of getcwd.h.
10114
10115         * lib/ftruncate.c: Include <unistd.h> first.
10116         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
10117         Set HAVE_FTRUNCATE.
10118         * modules/ftruncate (Depends-on): Add unistd.
10119         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10120
10121         * lib/fchdir.c: Include <unistd.h> first.
10122         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
10123         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
10124         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
10125         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10126         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
10127
10128         * lib/dup2.c: Include <unistd.h> first.
10129         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
10130         HAVE_DUP2.
10131         * modules/dup2 (Depends-on): Add unistd.
10132         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10133
10134         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
10135         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
10136         REPLACE_CHOWN. Don't define chown as a macro here.
10137         * modules/chown (Depends-on): Add unistd.
10138         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10139
10140         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
10141         Add definition for GL_LINK_WARNING.
10142         (chown, dup2): New declarations.
10143         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
10144         link warning.
10145         (ftruncate): New declaration.
10146         (getcwd): New declaration, taken from old getcwd.h.
10147         (getlogin_r): New declaration, taken from old getlogin_r.h.
10148         (readlink): New declaration.
10149         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
10150         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
10151         (gl_PREREQ_UNISTD): Remove macro.
10152         (gl_UNISTD_MODULE_INDICATOR): New macro.
10153         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
10154         many new variables. Don't set UNISTD_H.
10155         * modules/unistd (Description): Change.
10156         (Depends-on): Add link-warning.
10157         (configure.ac): Update.
10158         (Makefile.am): Create unistd.h always. Substitute many new variables
10159         into it.
10160
10161 2007-02-18  Bruno Haible  <bruno@clisp.org>
10162
10163         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
10164         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
10165         HAVE_GETSUBOPT.
10166         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
10167         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
10168         * lib/getsubopt.h: Remove file.
10169         * modules/getsubopt (Files): Remove lib/getsubopt.h.
10170         (Depends-on): Add stdlib.
10171         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
10172         (Includes): Use <stdlib.h> instead of getsubopt.h.
10173         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
10174         Set HAVE_GETSUBOPT.
10175         * lib/getsubopt.c: Don't include getsubopt.h.
10176
10177 2007-02-18  Bruno Haible  <bruno@clisp.org>
10178
10179         * modules/fchdir (Depends-on): Add dup2.
10180
10181 2007-02-18  Bruno Haible  <bruno@clisp.org>
10182
10183         * lib/stdlib_.h: Handle glibc's special invocation convention
10184         specially.
10185
10186 2007-02-18  Bruno Haible  <bruno@clisp.org>
10187
10188         * modules/stdlib-tests: New file.
10189         * tests/test-stdlib.c: New file.
10190
10191         * modules/mkstemp (Files): Remove lib/mkstemp.h.
10192         (Depends-on): Add stdlib.
10193         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
10194         (Includes): Use <stdlib.h> instead of mkstemp.h.
10195         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
10196         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
10197         * lib/mkstemp.c: Don't include mkstemp.h.
10198         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
10199         * lib/stdlib--.h: Don't include mkstemp.h.
10200
10201         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
10202         (Depends-on): Add stdlib.
10203         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
10204         (Includes): Use <stdlib.h> instead of mkdtemp.h.
10205         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
10206         HAVE_MKDTEMP.
10207         * lib/mkdtemp.c: Don't include mkdtemp.h.
10208         * lib/clean-temp.c: Don't include mkdtemp.h.
10209
10210         * modules/exit (Files): Remove lib/exit.h.
10211         (Depends-on): Add stdlib.
10212         (Makefile.am): Remove lib_SOURCES.
10213         (Include): Use <stdlib.h> instead of exit.h.
10214         * lib/argmatch.c: Don't include exit.h.
10215         * lib/execute.c: Likewise.
10216         * lib/pagealign_alloc.c: Likewise.
10217         * lib/pipe.c: Likewise.
10218         * lib/wait-process.c: Likewise.
10219         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
10220         * lib/exitfail.c: Likewise.
10221         * lib/savewd.c: Likewise.
10222         * lib/xsetenv.c: Likewise.
10223
10224         * modules/stdlib: New file.
10225         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
10226         and extra comments about mkstemp().
10227         * lib/exit.h: Remove file.
10228         * lib/mkdtemp.h: Remove file.
10229         * lib/mkstemp.h: Remove file.
10230         * m4/stdlib_h.m4: New file.
10231         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
10232
10233 2007-02-18  Bruno Haible  <bruno@clisp.org>
10234
10235         * modules/math-tests: New file.
10236         * tests/test-math.c: New file.
10237
10238         * modules/math: New file.
10239         * modules/mathl (Files): Remove lib/mathl.h.
10240         (Depends-on): Add math.
10241         (Makefile.am): Don't mention mathl.h.
10242         (Include): Use <math.h> instead of mathl.h.
10243         * lib/math_.h: New file.
10244         * lib/mathl.h: Remove file.
10245         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
10246         mathl.h.
10247         * lib/asinl.c: Likewise.
10248         * lib/atanl.c: Likewise.
10249         * lib/ceill.c: Likewise.
10250         * lib/cosl.c: Likewise.
10251         * lib/expl.c: Likewise.
10252         * lib/floorl.c: Likewise.
10253         * lib/frexpl.c: Likewise.
10254         * lib/ldexpl.c: Likewise.
10255         * lib/logl.c: Likewise.
10256         * lib/sincosl.c: Likewise.
10257         * lib/sinl.c: Likewise.
10258         * lib/sqrtl.c: Likewise.
10259         * lib/tanl.c: Likewise.
10260         * lib/trigl.c: Likewise.
10261         * m4/math_h.m4: New file.
10262         * MODULES.html.sh (Mathematics): Add math.
10263
10264 2007-02-17  Bruno Haible  <bruno@clisp.org>
10265
10266         * modules/wctype-tests: New file.
10267         * tests/test-wctype.c: New file.
10268
10269         * modules/wchar-tests: New file.
10270         * tests/test-wchar.c: New file.
10271
10272         * modules/unistd-tests: New file.
10273         * tests/test-unistd.c: New file.
10274
10275         * modules/time-tests: New file.
10276         * tests/test-time.c: New file.
10277
10278         * modules/sysexits-tests: New file.
10279         * tests/test-sysexits.c: New file.
10280
10281         * modules/sys_time-tests: New file.
10282         * tests/test-sys_time.c: New file.
10283
10284         * modules/sys_stat-tests: New file.
10285         * tests/test-sys_stat.c: New file.
10286
10287         * modules/sys_socket-tests: New file.
10288         * tests/test-sys_socket.c: New file.
10289
10290         * modules/sys_select-tests: New file.
10291         * tests/test-sys_select.c: New file.
10292
10293         * modules/string-tests: New file.
10294         * tests/test-string.c: New file.
10295
10296         * modules/stdbool-tests: New file.
10297         * tests/test-stdbool.c: New file.
10298
10299         * modules/netinet_in-tests: New file.
10300         * tests/test-netinet_in.c: New file.
10301
10302         * modules/inttypes-tests: New file.
10303         * tests/test-inttypes.c: New file.
10304
10305         * modules/fcntl-tests: New file.
10306         * tests/test-fcntl.c: New file.
10307
10308         * modules/byteswap-tests: New file.
10309         * tests/test-byteswap.c: New file.
10310
10311         * modules/arpa_inet-tests: New file.
10312         * tests/test-arpa_inet.c: New file.
10313
10314 2007-02-17  Bruno Haible  <bruno@clisp.org>
10315
10316         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
10317         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
10318         if the corresponding module is not enabled. Emit link warnings if
10319         the function is used nevertheless.
10320         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
10321         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
10322         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
10323         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
10324         * modules/inttypes (Depends-on): Add link-warning.
10325         (Makefile.am): Copy the contents of build-aux/link-warning.h into
10326         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
10327         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
10328         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
10329         * modules/imaxdiv (configure.ac): Likewise.
10330         * modules/strtoimax (configure.ac): Likewise.
10331         * modules/strtoumax (configure.ac): Likewise.
10332
10333 2007-02-17  Bruno Haible  <bruno@clisp.org>
10334
10335         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
10336         gl_STRING_MODULE_INDICATOR_DEFAULTS.
10337         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
10338         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
10339
10340 2007-02-17  Bruno Haible  <bruno@clisp.org>
10341
10342         * modules/link-warning: New file.
10343         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
10344         * lib/string_.h (GL_LINK_WARNING): Remove definition.
10345         * modules/string (Depends-on): Add link-warning.
10346         (Makefile.am): Copy the contents of build-aux/link-warning.h into
10347         string.h.
10348         * MODULES.html.sh (Support for building libraries and executables): Add
10349         link-warning.
10350
10351 2007-02-17  Bruno Haible  <bruno@clisp.org>
10352
10353         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
10354         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
10355         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
10356         long lines.
10357
10358 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
10359             Bruno Haible  <bruno@clisp.org>
10360
10361         * modules/tmpfile: New file.
10362         * lib/tmpfile.c: New file.
10363         * m4/tmpfile.m4: New file.
10364         * MODULES.html.sh (func_all_modules): New section "Input/output".
10365
10366 2007-02-15  Bruno Haible  <bruno@clisp.org>
10367
10368         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
10369         (supports_delete_on_close): New function.
10370         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
10371
10372 2007-02-14  Bruno Haible  <bruno@clisp.org>
10373
10374         * modules/mbspcasecmp-tests: New file.
10375         * tests/test-mbspcasecmp.sh: New file.
10376         * tests/test-mbspcasecmp.c: New file.
10377
10378         New module mbspcasecmp.
10379         * modules/mbspcasecmp: New file.
10380         * lib/mbspcasecmp.c: New file.
10381         * lib/string_.h (strncasecmp): Change warning message.
10382         (mbspcasecmp): New declaration.
10383         * m4/mbspcasecmp.m4: New file.
10384         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10385         GNULIB_MBSPCASECMP.
10386         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
10387         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
10388
10389 2007-02-14  Bruno Haible  <bruno@clisp.org>
10390
10391         * modules/mbsncasecmp-tests: New file.
10392         * tests/test-mbsncasecmp.sh: New file.
10393         * tests/test-mbsncasecmp.c: New file.
10394
10395         New module mbsncasecmp.
10396         * modules/mbsncasecmp: New file.
10397         * lib/mbsncasecmp.c: New file.
10398         * lib/string_.h (mbsncasecmp): New declaration.
10399         * m4/mbsncasecmp.m4: New file.
10400         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10401         GNULIB_MBSNCASECMP.
10402         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
10403         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
10404
10405 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
10406
10407         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
10408         Verify that it doesn't overlap with our flags.
10409         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
10410         do not have the desired effect in multibyte locales; instead, use
10411         mbscasecmp.
10412         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
10413         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
10414         we don't require GNU fnmatch ourselves (if our users require it, they
10415         should do so explicitly).
10416
10417         Fix regex code so it doesn't rely on strcasecmp.
10418         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
10419         Otherwise, include gnulib's langinfo.h.
10420         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
10421         undesirable behavior in non-C locales.  Instead, rely on localecharset.
10422         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
10423         * modules/regex (FILES): Remove m4/codeset.m4.
10424         (Depends-on): Add localcharset.  Remove strcase.
10425
10426 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10427
10428         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
10429         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
10430
10431 2007-02-13  Bruno Haible  <bruno@clisp.org>
10432
10433         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
10434         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10435
10436 2007-02-12  Bruno Haible  <bruno@clisp.org>
10437
10438         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
10439         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
10440         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
10441         time warning rather than a link error.
10442
10443 2007-02-12  Bruno Haible  <bruno@clisp.org>
10444
10445         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
10446         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
10447         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10448
10449 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
10450
10451         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
10452         args, not 2.
10453
10454 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
10455
10456         New module 'time', so that apps can include <time.h> as per
10457         POSIX and GNU instead of separate include files like time_r.h
10458         and timegm.h.  This implementation tries out a simpler approach
10459         for replacing decls in standard include files (as compared to
10460         the string module), somewhat as an experiment.
10461
10462         * config/srclist.txt: Comment out mktime.c for now.
10463         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
10464         since it doesn't apply any more.  Use generic wording instead.
10465         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
10466         'time'.
10467         * lib/time_.h, m4/time_h.m4, modules/time: New files.
10468         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
10469         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
10470         Don't include <sys/types.h>; no longer needed since we assume C89.
10471         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
10472         * lib/strftime.c: Likewise.
10473         * lib/time_r.c: Likewise.
10474         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
10475         * lib/nanosleep.c: Include <time.h> first, to check interface.
10476         * lib/strptime.c: Likewise.
10477         * lib/time_r.c: Likewise.
10478         * lib/timegm.c: Likewise.
10479         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
10480         needed.
10481         * lib/timegm.c: Don't include timegm.h; no longer needed.
10482         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
10483         time.h now handles any problems in that area.
10484         (struct timespec, nanosleep): Remove; time.h now arranges for these.
10485         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
10486         that time.h defines struct timespec.
10487         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
10488         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
10489         handles that.
10490         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
10491         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
10492         needed.  Set REPLACE_LOCALTIME.
10493         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
10494         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
10495         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
10496         nanosleep; time_h.m4 now does that.  Don't require
10497         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
10498         module handles this now.
10499         * modules/getdate (Depends-on): Remove timespec.  Add time.
10500         * modules/nanosleep (Depends-on): Likewise.
10501         * modules/stat-time (Depends-on): Likewise.
10502         * modules/nanosleep (Include): Include time.h, not timespec.h.
10503         * modules/strptime (Files): Remove lib/strptime.h.
10504         (Depends-on): Add extensions, time.
10505         (Include): Include time.h, not strptime.h.
10506         * modules/time_r (Files): Remove lib/time_r.h.
10507         (Depends-on): Add time.
10508         (Include): Include time.h, not time_r.h.
10509         * modules/timegm: Likewise.
10510         * modules/timespec (Description): Now does timespec-related decls
10511         of our own, instead of struct timespec itself.
10512         (Depends-on): Add time; remove extensions.
10513         (Maintainer): Add self.
10514         * modules/utimecmp (Depends-on): Add time; remove timespec.
10515         * modules/utimens (Depends-on): Likewise.
10516         * modules/xnanosleep (Depends-on): Likewise.
10517
10518 2007-02-11  Bruno Haible  <bruno@clisp.org>
10519
10520         * lib/c-strstr.c: Include allocsa.h.
10521         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
10522         * lib/c-strcasestr.c: Include allocsa.h.
10523         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
10524         * lib/strcasestr.c: Include allocsa.h.
10525         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
10526         * lib/mbsstr.c: Include allocsa.h.
10527         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
10528         allocsa/freesa instead of malloc/free.
10529         * lib/mbscasestr.c: Include allocsa.h.
10530         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
10531         allocsa/freesa instead of malloc/free.
10532         * modules/c-strstr (Depends-on): Add allocsa.
10533         * modules/c-strcasestr (Depends-on): Likewise.
10534         * modules/strcasestr (Depends-on): Likewise.
10535         * modules/mbsstr (Depends-on): Likewise.
10536         * modules/mbscasestr (Depends-on): Likewise.
10537
10538 2007-02-11  Bruno Haible  <bruno@clisp.org>
10539
10540         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
10541
10542         * modules/mbsspn-tests: New file.
10543         * tests/test-mbsspn.sh: New file.
10544         * tests/test-mbsspn.c: New file.
10545
10546 2007-02-11  Bruno Haible  <bruno@clisp.org>
10547
10548         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
10549
10550         * modules/mbspbrk-tests: New file.
10551         * tests/test-mbspbrk.sh: New file.
10552         * tests/test-mbspbrk.c: New file.
10553
10554 2007-02-11  Bruno Haible  <bruno@clisp.org>
10555
10556         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
10557         unneeded cast.
10558
10559         * modules/mbscspn-tests: New file.
10560         * tests/test-mbscspn.sh: New file.
10561         * tests/test-mbscspn.c: New file.
10562
10563 2007-02-11  Bruno Haible  <bruno@clisp.org>
10564
10565         * modules/mbscasecmp-tests: New file.
10566         * tests/test-mbscasecmp.sh: New file.
10567         * tests/test-mbscasecmp.c: New file.
10568
10569 2007-02-11  Bruno Haible  <bruno@clisp.org>
10570
10571         Ensure O(n) worst-case complexity of mbscasestr.
10572         * lib/mbscasestr.c: Include stdbool.h.
10573         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
10574         functions.
10575         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
10576         the bookkeeping indicates that it's worth it.
10577         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
10578
10579         * modules/mbscasestr-tests: New file.
10580         * tests/test-mbscasestr1.c: New file.
10581         * tests/test-mbscasestr2.sh: New file.
10582         * tests/test-mbscasestr2.c: New file.
10583         * tests/test-mbscasestr3.sh: New file.
10584         * tests/test-mbscasestr3.c: New file.
10585         * tests/test-mbscasestr4.sh: New file.
10586         * tests/test-mbscasestr4.c: New file.
10587         * m4/locale-tr.m4: New file.
10588
10589 2007-02-11  Bruno Haible  <bruno@clisp.org>
10590
10591         Ensure O(n) worst-case complexity of mbsstr.
10592         * lib/mbsstr.c: Include stdbool.h.
10593         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
10594         functions.
10595         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
10596         bookkeeping indicates that it's worth it.
10597         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
10598
10599         * modules/mbsstr-tests: New file.
10600         * tests/test-mbsstr1.c: New file.
10601         * tests/test-mbsstr2.sh: New file.
10602         * tests/test-mbsstr2.c: New file.
10603         * tests/test-mbsstr3.sh: New file.
10604         * tests/test-mbsstr3.c: New file.
10605         * m4/locale-fr.m4: New file.
10606
10607 2007-02-11  Bruno Haible  <bruno@clisp.org>
10608
10609         * lib/mbsrchr.c (mbsrchr): Fix bug.
10610
10611         * modules/mbsrchr-tests: New file.
10612         * tests/test-mbsrchr.sh: New file.
10613         * tests/test-mbsrchr.c: New file.
10614
10615 2007-02-11  Bruno Haible  <bruno@clisp.org>
10616
10617         * lib/mbschr.c (mbschr): Fix bug.
10618
10619         * modules/mbschr-tests: New file.
10620         * tests/test-mbschr.sh: New file.
10621         * tests/test-mbschr.c: New file.
10622         * m4/locale-zh.m4: New file.
10623
10624 2007-02-11  Bruno Haible  <bruno@clisp.org>
10625
10626         Support for copying multibyte string iterators.
10627         * lib/mbiter.h: Include <string.h>.
10628         (mbiter_multi_copy): New function.
10629         (mbi_copy): New macro.
10630         * lib/mbuiter.h: Include <string.h>.
10631         (mbuiter_multi_copy): New function.
10632         (mbui_copy): New macro.
10633
10634 2007-02-11  Bruno Haible  <bruno@clisp.org>
10635
10636         New module mbslen.
10637         * modules/mbslen: New file.
10638         * lib/mbslen.c: New file.
10639         * lib/string_.h (mbslen): New declaration.
10640         * m4/mbslen.m4: New file.
10641         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10642         GNULIB_MBSLEN.
10643         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
10644         * MODULES.html.sh (Internationalization functions): Add mbslen.
10645
10646 2007-02-11  Bruno Haible  <bruno@clisp.org>
10647
10648         Ensure O(n) worst-case complexity of strcasestr substitute.
10649         * lib/strcasestr.c: Include stdbool.h.
10650         (knuth_morris_pratt): New function.
10651         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
10652         bookkeeping indicates that it's worth it.
10653         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
10654
10655         * modules/strcasestr-tests: New file.
10656         * tests/test-strcasestr.c: New file.
10657
10658 2007-02-11  Bruno Haible  <bruno@clisp.org>
10659
10660         Ensure O(n) worst-case complexity of c_strcasestr.
10661         * lib/c-strcasestr.c: Include stdbool.h, string.h.
10662         (knuth_morris_pratt): New function.
10663         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
10664         the bookkeeping indicates that it's worth it.
10665         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
10666
10667         * modules/c-strcasestr-tests: New file.
10668         * tests/test-c-strcasestr.c: New file.
10669
10670 2007-02-11  Bruno Haible  <bruno@clisp.org>
10671
10672         Ensure O(n) worst-case complexity of c_strstr.
10673         * lib/c-strstr.c: Include stdbool.h, string.h.
10674         (knuth_morris_pratt): New function.
10675         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
10676         bookkeeping indicates that it's worth it.
10677         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
10678
10679         * lib/c-strstr.c: Complete rewrite for maintainability.
10680
10681         * modules/c-strstr-tests: New file.
10682         * tests/test-c-strstr.c: New file.
10683
10684 2007-02-11  Bruno Haible  <bruno@clisp.org>
10685
10686         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
10687         5.2.1 and earlier, whereby \055 was treated just like the range
10688         delimiter '-'.
10689         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
10690
10691 2007-02-08  Bruno Haible  <bruno@clisp.org>
10692
10693         * modules/regex (Depends-on): Add stdbool.
10694         Reported by Dalibor Topic <robilad@kaffe.org>.
10695
10696 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
10697
10698         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
10699         Prefer returning from main to exiting from it.
10700         Remove unnecessary parens after sizeof.
10701
10702 2007-02-05  Bruno Haible  <bruno@clisp.org>
10703
10704         New module mbssep.
10705         * modules/mbssep: New file.
10706         * lib/mbssep.c: New file.
10707         * lib/string_.h (strsep): Add a conditional link warning.
10708         (mbssep): New declaration.
10709         * m4/mbssep.m4: New file.
10710         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10711         GNULIB_MBSSEP.
10712         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
10713         * MODULES.html.sh (Internationalization functions): Add mbssep.
10714
10715 2007-02-05  Bruno Haible  <bruno@clisp.org>
10716
10717         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
10718         Optimize search in case of 1 delimiter.
10719
10720 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
10721
10722         * lib/acl.h: Include sys/types.h before sys/acl.h.
10723
10724 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
10725
10726         Merge upstream fix for glibc bugzilla #3957:
10727
10728         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
10729
10730         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
10731         bit for RE_HAT_LISTS_NOT_NEWLINE.
10732         (build_charclass_op): Remove bogus comment.
10733
10734 2007-02-05  Simon Josefsson  <simon@josefsson.org>
10735
10736         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
10737
10738 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
10739
10740         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
10741         * lib/memmem.c [!defined _LIBC]: Include config.h.
10742
10743 2007-02-04  Bruno Haible  <bruno@clisp.org>
10744
10745         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
10746         warning message.
10747
10748 2007-02-04  Bruno Haible  <bruno@clisp.org>
10749
10750         New module mbstok_r.
10751         * modules/mbstok_r: New file.
10752         * lib/mbstok_r.c: New file.
10753         * lib/string_.h (strtok_r): Change argument names to match the
10754         comments. Add a conditional link warning.
10755         (mbstok_r): New declaration.
10756         * m4/mbstok_r.m4: New file.
10757         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10758         GNULIB_MBSTOK_R.
10759         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
10760         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
10761
10762 2007-02-04  Bruno Haible  <bruno@clisp.org>
10763
10764         New module mbsspn.
10765         * modules/mbsspn: New file.
10766         * lib/mbsspn.c: New file.
10767         * lib/string_.h (strspn): Add a conditional link warning.
10768         (mbsspn): New declaration.
10769         * m4/mbsspn.m4: New file.
10770         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10771         GNULIB_MBSSPN.
10772         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
10773         * MODULES.html.sh (Internationalization functions): Add mbsspn.
10774
10775 2007-02-04  Bruno Haible  <bruno@clisp.org>
10776
10777         New module mbspbrk.
10778         * modules/mbspbrk: New file.
10779         * lib/mbspbrk.c: New file.
10780         * lib/string_.h (strpbrk): Add a conditional link warning.
10781         (mbspbrk): New declaration.
10782         * m4/mbspbrk.m4: New file.
10783         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10784         GNULIB_MBSPBRK.
10785         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
10786         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
10787
10788 2007-02-04  Bruno Haible  <bruno@clisp.org>
10789
10790         New module mbscspn.
10791         * modules/mbscspn: New file.
10792         * lib/mbscspn.c: New file.
10793         * lib/string_.h (strcspn): Add a conditional link warning.
10794         (mbscspn): New declaration.
10795         * m4/mbscspn.m4: New file.
10796         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10797         GNULIB_MBSCSPN.
10798         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
10799         * MODULES.html.sh (Internationalization functions): Add mbscspn.
10800
10801 2007-02-04  Bruno Haible  <bruno@clisp.org>
10802
10803         New module mbscasestr, reduced goal of strcasestr.
10804         * modules/mbscasestr: New file.
10805         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
10806         (mbscasestr): Renamed from strcasestr.
10807         * lib/strcasestr.c: Don't include mbuiter.h.
10808         (strcasestr): Remove support for multibyte locales.
10809         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
10810         Change the conditional link warning.
10811         (mbscasestr): New declaration.
10812         * m4/mbscasestr.m4: New file.
10813         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
10814         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
10815         REPLACE_STRCASESTR.
10816         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
10817         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
10818         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
10819         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
10820         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
10821         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
10822         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
10823         (Depends-on): Remove mbuiter.
10824         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
10825
10826 2007-02-04  Bruno Haible  <bruno@clisp.org>
10827
10828         Simplify handling of strncasecmp.
10829         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
10830         the conditional link warning.
10831         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
10832         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
10833         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
10834         * modules/strcase (configure.ac): Don't invoke
10835         gl_STRING_MODULE_INDICATOR.
10836         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
10837
10838 2007-02-04  Bruno Haible  <bruno@clisp.org>
10839
10840         New module mbscasecmp, reduced goal of strcasecmp.
10841         * modules/mbscasecmp: New file.
10842         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
10843         (mbscasecmp): Renamed from strcasecmp.
10844         * lib/strcasecmp.c: Don't include mbuiter.h.
10845         (strcasecmp): Remove support for multibyte locales.
10846         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
10847         Change the conditional link warning.
10848         (mbscasecmp): New declaration.
10849         * m4/mbscasecmp.m4: New file.
10850         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
10851         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
10852         REPLACE_STRCASECMP.
10853         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
10854         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10855         GNULIB_MBSCASECMP.
10856         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
10857         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
10858         * modules/strcase (Files): Remove m4/mbrtowc.m4.
10859         (Depends-on): Remove mbuiter.
10860         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
10861
10862 2007-02-04  Bruno Haible  <bruno@clisp.org>
10863
10864         New module mbsstr. Remove module strstr.
10865         * modules/mbsstr: New file.
10866         * modules/strstr: Remove file.
10867         * lib/mbsstr.c: Renamed from lib/strstr.c.
10868         (mbsstr): Renamed from strstr.
10869         * lib/string_.h (strstr): Remove declaration. Change the conditional
10870         link warning.
10871         (mbsstr): New declaration.
10872         * m4/mbsstr.m4: New file.
10873         * m4/strstr.m4: Remove file.
10874         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
10875         REPLACE_STRSTR.
10876         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
10877         Don't initialize GNULIB_STRSTR.
10878         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
10879         substitute GNULIB_STRSTR and REPLACE_STRSTR.
10880         * MODULES.html.sh (Internationalization functions): Add mbsstr.
10881         (Support for systems lacking ANSI C 89): Remove strstr.
10882
10883 2007-02-04  Bruno Haible  <bruno@clisp.org>
10884
10885         New module mbsrchr.
10886         * modules/mbsrchr: New file.
10887         * lib/mbsrchr.c: New file.
10888         * lib/string_.h (strrchr): Add a conditional link warning.
10889         (mbsrchr): New declaration.
10890         * m4/mbsrchr.m4: New file.
10891         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10892         GNULIB_MBSRCHR.
10893         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
10894         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
10895
10896 2007-02-04  Bruno Haible  <bruno@clisp.org>
10897
10898         New module mbschr.
10899         * modules/mbschr: New file.
10900         * lib/mbschr.c: New file.
10901         * lib/string_.h (strchr): Add a conditional link warning.
10902         (mbschr): New declaration.
10903         * m4/mbschr.m4: New file.
10904         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10905         GNULIB_MBSCHR.
10906         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
10907         * MODULES.html.sh (Internationalization functions): Add mbschr.
10908
10909 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
10910
10911         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
10912
10913         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
10914
10915 2007-02-04  Bruno Haible  <bruno@clisp.org>
10916
10917         New module description section 'configure.ac-early'.
10918         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
10919         (func_get_autoconf_early_snippet): New function.
10920         (func_import, func_create_testdir): Use it. Remove special cases for
10921         modules 'extensions' and 'lock'.
10922         * modules/extensions (configure.ac-early): Require
10923         gl_USE_SYSTEM_EXTENSIONS.
10924         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
10925
10926 2007-02-04  Bruno Haible  <bruno@clisp.org>
10927
10928         Make use of gcj-4.3's -fsource and -ftarget option.
10929         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
10930         and if so try the options -fsource and -ftarget.
10931         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
10932         source_version, ftarget_option, target_version arguments.
10933         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
10934         (is_envjavac_oldgcj_14_14_usable): Renamed from
10935         is_envjavac_gcj_14_14_usable.
10936         (is_envjavac_oldgcj_14_13_usable): Renamed from
10937         is_envjavac_gcj_14_13_usable.
10938         (is_gcj_present): Update.
10939         (is_gcj_43, is_gcj43_usable): New functions.
10940         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
10941         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
10942         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
10943         try the options -fsource and -ftarget.
10944
10945 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
10946
10947         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
10948         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
10949         larger value.
10950
10951 2007-02-03  Jim Meyering  <jim@meyering.net>
10952
10953         Give tools a better chance to allocate space for very large buffers.
10954         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
10955
10956         Make pwd and readlink work also when run with an unreadable parent dir
10957         on systems with openat support.
10958         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
10959         provided getcwd function, even when we have openat support.
10960         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
10961
10962 2007-02-02  Bruno Haible  <bruno@clisp.org>
10963
10964         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
10965         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
10966         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
10967         portability problems if one of these functions is only used on specific
10968         platforms.
10969         Reported by Paul Eggert.
10970
10971 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
10972
10973         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
10974         is causing more trouble than it's curing.
10975         * lib/regex_internal.h (__mempcpy): Remove.
10976         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
10977         (and make the code a tad smaller to boot).
10978         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
10979
10980 2007-02-02  Jim Meyering  <jim@meyering.net>
10981
10982         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
10983         section, not in the Makefile.am: one.
10984
10985 2007-02-02  Eric Blake  <ebb9@byu.net>
10986
10987         * lib/strchrnul.c: Always include config.h first.
10988
10989         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
10990         gnulib strstr is not necessary here.
10991
10992 2007-02-02  Simon Josefsson  <simon@josefsson.org>
10993
10994         * m4/socklen.m4: Fix typo.
10995
10996 2007-02-02  Eric Blake  <ebb9@byu.net>
10997
10998         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
10999         * modules/netinet_in (Makefile.am): Likewise.
11000
11001 2007-02-01  Bruno Haible  <bruno@clisp.org>
11002
11003         * lib/string_.h (GL_LINK_WARNING): New macro.
11004         (strcasecmp, strstr, strcasestr): If provided by the system,
11005         conditionally define as a macro that leads to a warning instead of to
11006         an error.
11007         (strncasecmp): Conditionally define as a macro that leads to a warning.
11008
11009 2007-02-01  Karl Berry  <karl@gnu.org>
11010
11011         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
11012
11013 2007-02-01  Bruno Haible  <bruno@clisp.org>
11014
11015         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
11016         renamings.
11017
11018 2007-02-01  Eric Blake  <ebb9@byu.net>
11019
11020         * modules/regex (Depends-on): Revert dependence on mempcpy.
11021         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
11022         module's definition of mempcpy.
11023         Reported by Paul Eggert.
11024
11025 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
11026
11027         * lib/string_.h: If the gnulib module XYZ is not present, undefine
11028         the symbol XYZ before redefining it.  This fixes a problem with
11029         programs that don't use XYZ, when compiled on systems that define
11030         XYZ to something else.
11031
11032 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
11033
11034         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
11035         occurs when "mkdir -m foo" creates a setgid directory that is (1)
11036         writeable to group or other and (2) is intended to have a special
11037         mode bit that is set or cleared.  In such a case, the directory
11038         should be neither group- nor other-writeable until the special
11039         mode bits are right.
11040
11041 2007-01-31  Eric Blake  <ebb9@byu.net>
11042
11043         * modules/mountlist (Depends-on): Add strstr.
11044
11045         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
11046         bug.
11047         * modules/string (Makefile.am): Remove redundant replacement.
11048         * modules/regex (Depends-on): Add mempcpy.
11049
11050 2007-01-31  Bruno Haible  <bruno@clisp.org>
11051
11052         New module description field 'Link'.
11053         * gnulib-tool (func_usage): Document --extract-link-directive.
11054         (sed_extract_prog): Recognize 'Link' directive.
11055         (func_get_link_directive): New function.
11056         (func_import): Show summary of link directives.
11057         Handle --extract-link-directive option.
11058         * modules/acl (Link): New section.
11059         * modules/clock-time (Link): New section.
11060         * modules/euidaccess (Link): New section.
11061         * modules/gettext (Link): New section.
11062         * modules/iconv (Link): New section.
11063         * modules/lock (Link): New section.
11064         * modules/nanosleep (Link): New section.
11065         * modules/readline (Link): New section.
11066
11067 2007-01-27  Bruno Haible  <bruno@clisp.org>
11068
11069         Enforce the use of gnulib modules for unportable <string.h> functions.
11070         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
11071         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
11072         (gl_HEADER_STRING_H_BODY): Require it.
11073         * lib/string_.h: If the gnulib module XYZ is not present, redefine
11074         the symbol XYZ to one that gives a link error.
11075         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
11076         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
11077         * modules/mempcpy (configure.ac): Likewise.
11078         * modules/memrchr (configure.ac): Likewise.
11079         * modules/stpcpy (configure.ac): Likewise.
11080         * modules/stpncpy (configure.ac): Likewise.
11081         * modules/strcase (configure.ac): Likewise.
11082         * modules/strcasestr (configure.ac): Likewise.
11083         * modules/strchrnul (configure.ac): Likewise.
11084         * modules/strdup (configure.ac): Likewise.
11085         * modules/strndup (configure.ac): Likewise.
11086         * modules/strnlen (configure.ac): Likewise.
11087         * modules/strpbrk (configure.ac): Likewise.
11088         * modules/strsep (configure.ac): Likewise.
11089         * modules/strstr (configure.ac): Likewise.
11090         * modules/strtok_r (configure.ac): Likewise.
11091
11092 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
11093
11094         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
11095
11096 2007-01-30  Jim Meyering  <jim@meyering.net>
11097
11098         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
11099
11100 2007-01-29  Bruno Haible  <bruno@clisp.org>
11101
11102         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
11103         * lib/execute.c: Likewise.
11104         * lib/pipe.c: Likewise.
11105         * lib/printf-args.h: Likewise.
11106         * lib/printf-args.c: Likewise.
11107         * lib/printf-parse.c: Likewise.
11108         * lib/vasnprintf.c: Likewise.
11109
11110 2007-01-29  Eric Blake  <ebb9@byu.net>
11111
11112         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
11113         declaration.
11114
11115 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
11116
11117         * lib/strptime.h (strptime): Use 'restrict' for args where
11118         POSIX requires this.
11119         * lib/strptime.c (strptime): Likewise.
11120         Change license notice from LGPL to GPL, since gnulib-tool will
11121         change this as needed.
11122         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
11123         defined.
11124         Include "strptime.h" first, to check interface.
11125         Do not #undef _LIBC and _NL_CURRENT.
11126         Do not include <stdlib.h>; no longer needed.
11127         Include "time_r.h" and declare ptime_locale_status
11128         only if _LIBC is not defined.
11129         (__P): Remove unused macro.
11130         (match_string): Bring back glibc version, but use it only if _LIBC
11131         is defined.
11132         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
11133         Remove unnecessary assertion and abort() call.
11134         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
11135         * m4/strptime.m4: Fix serial number comment.
11136         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
11137         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
11138         (Depends-on): Add time_r.
11139
11140 2007-01-29  Bruno Haible  <bruno@clisp.org>
11141
11142         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
11143         strptime.
11144         * modules/strptime (Depends-on): Add stdbool.
11145         * lib/strptime.h: Include <time.h> always. Add comments.
11146
11147 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
11148
11149         * modules/strptime: New file.
11150         * lib/strptime.h: New file.
11151         * lib/strptime.c: New file.
11152         * m4/strptime.m4: New file.
11153
11154 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
11155
11156         * MODULES.html.sh: New module mpsort.
11157         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
11158
11159         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
11160         a circularity problem with HP-UX ia64 reported by Bob Proulx in
11161         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
11162         All uses changed.
11163         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
11164         All uses changed.
11165         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
11166         to _Restrict_.
11167         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
11168         the parameter matches the prototype.
11169
11170 2007-01-28  Jim Meyering  <jim@meyering.net>
11171
11172         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
11173         sys/time.h here, reverting that part of the previous patch:
11174         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
11175
11176 2007-01-28  Bruno Haible  <bruno@clisp.org>
11177
11178         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
11179         value of $(SYS_TIME_H).
11180         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
11181         remove it conditionally, too. [added by Jim Meyering]
11182         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
11183         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
11184         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
11185         GETTIMEOFDAY_REPLACEMENT to 1.
11186
11187 2007-01-28  Bruno Haible  <bruno@clisp.org>
11188
11189         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
11190         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
11191         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
11192         Set UNISTD_H instead of UNISTD_H2.
11193         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
11194
11195 2007-01-28  Bruno Haible  <bruno@clisp.org>
11196
11197         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
11198         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
11199
11200 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11201
11202         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
11203         (func_create_testdir): Ensure C locale for `grep' and `tr'
11204         character ranges.
11205         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
11206         ACLOCAL_AMFLAGS parsing state machine.
11207
11208 2007-01-27  Bruno Haible  <bruno@clisp.org>
11209
11210         * modules/unistr/base: Update.
11211
11212 2007-01-27  Bruno Haible  <bruno@clisp.org>
11213
11214         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
11215         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
11216         * modules/unistr/u32-mbtouc-unsafe: Renamed from
11217         modules/unistr/u32-mbtouc.
11218         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
11219         * lib/unistr.h: Update.
11220         * lib/linebreak.c: Update.
11221         * modules/unistr/u32-mbtouc: Renamed from
11222         modules/unistr/u32-mbtouc-safe.
11223         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
11224         * lib/unistr.h: Update.
11225         * lib/unistr/u32-to-u8.c: Update.
11226         * lib/unistr/u32-to-u16.c: Update.
11227
11228 2007-01-27  Bruno Haible  <bruno@clisp.org>
11229
11230         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
11231         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
11232         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
11233         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
11234         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
11235         * modules/unistr/u16-mbtouc-unsafe: Renamed from
11236         modules/unistr/u16-mbtouc.
11237         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
11238         * lib/unistr.h: Update.
11239         * lib/linebreak.c: Update.
11240         * modules/linebreak: Update.
11241         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
11242         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
11243         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
11244         * modules/unistr/u16-mbtouc: Renamed from
11245         modules/unistr/u16-mbtouc-safe.
11246         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
11247         * lib/unistr.h: Update.
11248         * lib/unistr/u16-to-u8.c: Update.
11249         * modules/unistr/u16-to-u8: Update.
11250         * lib/unistr/u16-to-u32.c: Update.
11251         * modules/unistr/u16-to-u32: Update.
11252
11253 2007-01-27  Bruno Haible  <bruno@clisp.org>
11254
11255         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
11256         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
11257         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
11258         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
11259         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
11260         * modules/unistr/u8-mbtouc-unsafe: Renamed from
11261         modules/unistr/u8-mbtouc.
11262         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
11263         * lib/unistr.h: Update.
11264         * lib/striconveh.c: Update.
11265         * modules/striconveh: Update.
11266         * lib/linebreak.c: Update.
11267         * modules/linebreak: Update.
11268         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
11269         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
11270         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
11271         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
11272         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
11273         * lib/unistr.h: Update.
11274         * lib/striconveh.c: Update.
11275         * modules/striconveh: Update.
11276         * lib/unistr/u8-to-u16.c: Update.
11277         * modules/unistr/u8-to-u16: Update.
11278         * lib/unistr/u8-to-u32.c: Update.
11279         * modules/unistr/u8-to-u32: Update.
11280
11281 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11282
11283         Sync from Libtool.
11284         * lib/argz.c: Do not include strings.h nor memory.h, include
11285         string.h unconditionally.  Patch by Simon Josefsson.
11286
11287 2007-01-27  Bruno Haible  <bruno@clisp.org>
11288
11289         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
11290         from gl_HEADER_STRING_H_BODY.
11291         (gl_HEADER_STRING_H_BODY): Require it.
11292         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
11293         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
11294         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
11295         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
11296         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
11297         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
11298         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
11299         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
11300         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
11301         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
11302         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
11303         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
11304         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
11305         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
11306         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
11307
11308 2007-01-27  Bruno Haible  <bruno@clisp.org>
11309
11310         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
11311         check_PROGRAMS into noinst_PROGRAMS.
11312         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
11313         check_PROGRAMS in this case.
11314         (func_import): Set for_test to false.
11315         (func_create_testdir): Set for_test to true.
11316
11317 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
11318             Bruno Haible  <bruno@clisp.org>
11319
11320         * modules/strcasestr (Files): Remove lib/strcasestr.h.
11321         (Depends-on): Add string.
11322         (Includes): Use <string.h> instead of strcasestr.h.
11323         * modules/string (Makefile.am): Also substitute the value of
11324         REPLACE_STRCASESTR.
11325         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
11326         assume strcasestr is declared in <string.h> not <strings.h>. Also
11327         set REPLACE_STRCASESTR.
11328         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
11329         REPLACE_STRCASESTR.
11330         * lib/strcasestr.h: Remove file.
11331         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
11332         * lib/string_.h (strcasestr): New declaration.
11333
11334 2007-01-27  Bruno Haible  <bruno@clisp.org>
11335
11336         * lib/string_.h: Use 'extern'.
11337
11338 2007-01-27  Jim Meyering  <jim@meyering.net>
11339
11340         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
11341         of set-but-not-used local, "q".
11342
11343         * lib/mempcpy.c: Include <config.h> before <string.h>.
11344         This fixes a compilation error on HP-UX, due to the system's
11345         "restrict"-using mempcpy prototype.
11346
11347 2007-01-26  Bruno Haible  <bruno@clisp.org>
11348
11349         Small optimization.
11350         * lib/javacomp.c: Include c-strstr.h.
11351          (is_envjavac_gcj): Use c_strstr instead of strstr.
11352         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
11353
11354 2007-01-26  Bruno Haible  <bruno@clisp.org>
11355
11356         * MODULES.html.sh (Unicode string functions): Add the new modules.
11357
11358         * modules/uniconv/u32-strconv-to-locale: New file.
11359         * lib/uniconv/u32-strconv-to-locale.c: New file.
11360
11361         * modules/uniconv/u16-strconv-to-locale: New file.
11362         * lib/uniconv/u16-strconv-to-locale.c: New file.
11363
11364         * modules/uniconv/u8-strconv-to-locale: New file.
11365         * lib/uniconv/u8-strconv-to-locale.c: New file.
11366
11367         * modules/uniconv/u32-strconv-from-locale: New file.
11368         * lib/uniconv/u32-strconv-from-locale.c: New file.
11369
11370         * modules/uniconv/u16-strconv-from-locale: New file.
11371         * lib/uniconv/u16-strconv-from-locale.c: New file.
11372
11373         * modules/uniconv/u8-strconv-from-locale: New file.
11374         * lib/uniconv/u8-strconv-from-locale.c: New file.
11375
11376         * modules/uniconv/u32-strconv-to-enc: New file.
11377         * lib/uniconv/u32-strconv-to-enc.c: New file.
11378         * modules/uniconv/u32-strconv-to-enc-tests: New file.
11379         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
11380
11381         * modules/uniconv/u16-strconv-to-enc: New file.
11382         * lib/uniconv/u16-strconv-to-enc.c: New file.
11383         * lib/uniconv/u-strconv-to-enc.h: New file.
11384         * modules/uniconv/u16-strconv-to-enc-tests: New file.
11385         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
11386
11387         * modules/uniconv/u8-strconv-to-enc: New file.
11388         * lib/uniconv/u8-strconv-to-enc.c: New file.
11389         * modules/uniconv/u8-strconv-to-enc-tests: New file.
11390         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
11391
11392         * modules/uniconv/u32-strconv-from-enc: New file.
11393         * lib/uniconv/u32-strconv-from-enc.c: New file.
11394         * modules/uniconv/u32-strconv-from-enc-tests: New file.
11395         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
11396
11397         * modules/uniconv/u16-strconv-from-enc: New file.
11398         * lib/uniconv/u16-strconv-from-enc.c: New file.
11399         * modules/uniconv/u16-strconv-from-enc-tests: New file.
11400         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
11401
11402         * modules/uniconv/u8-strconv-from-enc: New file.
11403         * lib/uniconv/u8-strconv-from-enc.c: New file.
11404         * lib/uniconv/u-strconv-from-enc.h: New file.
11405         * modules/uniconv/u8-strconv-from-enc-tests: New file.
11406         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
11407
11408         * modules/uniconv/u32-conv-from-enc: New file.
11409         * lib/uniconv/u32-conv-from-enc.c: New file.
11410         * modules/uniconv/u32-conv-from-enc-tests: New file.
11411         * tests/uniconv/test-u32-conv-from-enc.c: New file.
11412
11413         * modules/uniconv/u16-conv-from-enc: New file.
11414         * lib/uniconv/u16-conv-from-enc.c: New file.
11415         * lib/uniconv/u-conv-from-enc.h: New file.
11416         * modules/uniconv/u16-conv-from-enc-tests: New file.
11417         * tests/uniconv/test-u16-conv-from-enc.c: New file.
11418
11419         * modules/uniconv/u8-conv-from-enc: New file.
11420         * lib/uniconv/u8-conv-from-enc.c: New file.
11421         * modules/uniconv/u8-conv-from-enc-tests: New file.
11422         * tests/uniconv/test-u8-conv-from-enc.c: New file.
11423
11424         * modules/uniconv/base: New file.
11425         * lib/uniconv.h: New file.
11426
11427 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
11428
11429         * doc/gnulib-tool.texi (Initial import): Update to match current
11430         behavior with strdup module.
11431         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
11432         * lib/memmem.h: Remove; all uses removed.  This is now done
11433         by <string.h>.
11434         * lib/mempcpy.h: Likewise.
11435         * lib/memrchr.h: Likewise.
11436         * lib/stpcpy.h: Likewise.
11437         * lib/stpncpy.h: Likewise.
11438         * lib/strcase.h: Likewise.
11439         * lib/strchrnul.h: Likewise.
11440         * lib/strdup.h: Likewise.
11441         * lib/strndup.h: Likewise.
11442         * lib/strnlen.h: Likewise.
11443         * lib/strpbrk.h: Likewise.
11444         * lib/strsep.h: Likewise.
11445         * lib/strstr.h: Likewise.
11446         * lib/strtok_r.h: Likewise.
11447         * lib/string_.h: New file.
11448         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
11449         Rely on <string.h> instead.
11450         * lib/canon-host.c: Likewise.
11451         * lib/chdir-long.c: Likewise.
11452         * lib/concatpath.c: Likewise.
11453         * lib/exclude.c: Likewise.
11454         * lib/fchdir.c: Likewise.
11455         * lib/getaddrinfo.c: Likewise.
11456         * lib/getcwd.c: Likewise.
11457         * lib/getsubopt.c: Likewise.
11458         * lib/glob.c: Likewise.
11459         * lib/hard-locale.c: Likewise.
11460         * lib/iconvme.c: Likewise.
11461         * lib/javacomp.c: Likewise.
11462         * lib/mempcpy.c: Likewise.
11463         * lib/memrchr.c: Likewise.
11464         * lib/regex_internal.h: Likewise.
11465         * lib/stpncpy.c: Likewise.
11466         * lib/strcasecmp.c: Likewise.
11467         * lib/strchrnul.c: Likewise.
11468         * lib/strdup.c: Likewise.
11469         * lib/striconv.c: Likewise.
11470         * lib/striconveh.c: Likewise.
11471         * lib/striconveha.c: Likewise.
11472         * lib/strncasecmp.c: Likewise.
11473         * lib/strndup.c: Likewise.
11474         * lib/strnlen.c: Likewise.
11475         * lib/strsep.c: Likewise.
11476         * lib/strstr.c: Likewise.
11477         * lib/strtok_r.c: Likewise.
11478         * lib/userspec.c: Likewise.
11479         * lib/w32spawn.h: Likewise.
11480         * lib/xstrndup.c: Likewise.
11481         * lib/mountlist.c (strstr): Remove decl.
11482         * m4/string_h.m4: New file.
11483         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
11484         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
11485         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
11486         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
11487         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
11488         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
11489         Set REPLACE_STRCASECMP if necessary.
11490         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
11491         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
11492         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
11493         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
11494         HAVE_DECL_STRDUP if necessary.
11495         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
11496         since gl_FUNC_STRNDUP does that now.
11497         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
11498         Check for decl here...
11499         (gl_PREREQ_STRNLEN): ... not here.
11500         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
11501         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
11502         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
11503         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
11504         necessary.
11505         * modules/string: New file.
11506         * modules/memmem (Files): Remove special-purpose include file.
11507         (Depends-on): Add string.
11508         (Include): Include <string.h>, not the removed file.
11509         * modules/mempcpy: Likewise.
11510         * modules/memrchr: Likewise.
11511         * modules/stpcpy: Likewise.
11512         * modules/stpncpy: Likewise.
11513         * modules/strcase: Likewise.
11514         * modules/strchrnul: Likewise.
11515         * modules/strdup: Likewise.
11516         * modules/strndup: Likewise.
11517         * modules/strnlen: Likewise.
11518         * modules/strpbrk: Likewise.
11519         * modules/strsep: Likewise.
11520         * modules/strstr: Likewise.
11521         * modules/strtok_r: Likewise.
11522         * tests/test-dirname.c: Don't include "strdup.h", since
11523         <string.h> now suffices.
11524         * tests/test-memmem.c: Don't include "memmem.h", since
11525         <string.h> now suffices.
11526
11527 2007-01-25  Bruno Haible  <bruno@clisp.org>
11528
11529         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
11530         *resultp is 0.
11531
11532         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
11533         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
11534         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
11535         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
11536
11537         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
11538         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
11539         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
11540         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
11541         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
11542         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
11543
11544 2007-01-24  Bruno Haible  <bruno@clisp.org>
11545
11546         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
11547         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
11548         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
11549         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
11550         gl_FUNC_FTS_CORE.
11551         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
11552         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
11553         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
11554         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
11555         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
11556         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
11557         gl_FUNC_FCHOWNAT.
11558         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
11559         gl_FUNC_STRFTIME.
11560         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
11561         Reported by Ralf Wildenhues.
11562
11563 2007-01-24  Bruno Haible  <bruno@clisp.org>
11564
11565         Drop AC_REQUIRE calls that are redundant with the module dependencies.
11566         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
11567         gl_GETADDRINFO.
11568         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
11569         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
11570         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
11571
11572 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
11573
11574         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
11575         Don't use 'exit'; just return from 'main'.
11576         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
11577
11578         * lib/fnmatch_.h: Readjust white space and comments to match
11579         glibc, to avoid spurious diffs.
11580
11581 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
11582
11583         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
11584         2004-12-01 change by Jakub Jelinek, since this code won't compile
11585         if !LIBC.  Problem reported by Bob Proulx.
11586
11587 2007-01-23  Bruno Haible  <bruno@clisp.org>
11588
11589         * lib/striconveh.c: Include c-strcaseeq.h.
11590         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
11591         * modules/striconveh (Depends-on): Add c-strcaseeq.
11592
11593 2007-01-23  Bruno Haible  <bruno@clisp.org>
11594
11595         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
11596
11597         * modules/c-strcaseeq: New file.
11598         * lib/c-strcaseeq.h: New file.
11599
11600         * modules/streq: New file.
11601         * lib/streq.h: New file.
11602
11603 2007-01-23  Bruno Haible  <bruno@clisp.org>
11604
11605         * modules/striconveha-tests: New file.
11606         * tests/test-striconveha.c: New file.
11607
11608         * lib/striconveha.h: Include <stdbool.h>.
11609         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
11610         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
11611         (mem_iconveha_notranslit): Renamed from mem_iconveha.
11612         (mem_iconveha): New function.
11613         (str_iconveha_notranslit): Renamed from str_iconveha.
11614         (str_iconveha): New function.
11615         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
11616         c-strcase.
11617
11618 2007-01-23  Bruno Haible  <bruno@clisp.org>
11619
11620         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
11621         encodings without forgiving before trying any encoding with handler.
11622         (str_iconveha): Try all encodings without forgiving before trying any
11623         encoding with handler.
11624
11625 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
11626
11627         Import the following changes from libc.
11628
11629         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
11630
11631         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
11632
11633         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
11634
11635         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
11636         normal_bracket label.
11637
11638         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
11639
11640         [BZ #361]
11641         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
11642         to normal_bracket after fetching the next character.
11643
11644 2007-01-22  Bruno Haible  <bruno@clisp.org>
11645
11646         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
11647         argument.
11648         * lib/striconveh.c (iconv_carefully_1): New function.
11649         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
11650         argument.
11651         (str_cd_iconveh): Update.
11652         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
11653         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
11654         * tests/test-striconveh.c (MAGIC): New macro.
11655         (new_offsets): New function.
11656         (main): Test call with and without offsets.
11657
11658 2007-01-22  Bruno Haible  <bruno@clisp.org>
11659
11660         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
11661         * modules/sys_select (Makefile.am): Likewise.
11662         * modules/sys_socket (Makefile.am): Likewise.
11663         * modules/sys_time (Makefile.am): Likewise.
11664
11665 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
11666
11667         * modules/gettimeofday (License): Change from GPL to LGPL, since
11668         gettimeofday is a library function.
11669
11670 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11671
11672         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
11673
11674 2007-01-21  Bruno Haible  <bruno@clisp.org>
11675
11676         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
11677
11678 2007-01-21  Bruno Haible  <bruno@clisp.org>
11679
11680         * modules/striconveha: New file.
11681         * lib/striconveha.h: New file.
11682         * lib/striconveha.c: New file.
11683         * MODULES.html.sh (Internationalization functions): Add striconveha.
11684         * lib/striconv.c (str_iconv): Optimize the case of an empty input
11685         string.
11686         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
11687
11688 2007-01-21  Bruno Haible  <bruno@clisp.org>
11689
11690         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
11691         * lib/striconveh.c (str_iconveh): Likewise.
11692
11693 2007-01-21  Bruno Haible  <bruno@clisp.org>
11694
11695         * lib/striconveh.h (mem_iconveh): New declaration.
11696         * lib/striconveh.c (mem_iconveh): New function.
11697         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
11698
11699 2007-01-21  Bruno Haible  <bruno@clisp.org>
11700
11701         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
11702
11703         * lib/striconveh.h (mem_cd_iconveh): Change specification.
11704         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
11705         original result buffer.
11706         (str_cd_iconveh): Update.
11707         * tests/test-striconveh.c (main): Update.
11708
11709         * lib/striconv.h (mem_cd_iconv): Change specification.
11710         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
11711         result buffer.
11712         (str_cd_iconv): Update.
11713         * tests/test-striconv.c (main): Update.
11714
11715 2007-01-21  Bruno Haible  <bruno@clisp.org>
11716
11717         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
11718
11719 2007-01-20  Jim Meyering  <jim@meyering.net>
11720
11721         * lib/userspec.c (parse_with_separator): If a user or group string
11722         starts with "+", skip the corresponding name-to-ID look-up, since
11723         such a look-up must fail: user and group names may not include "+".
11724
11725 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
11726
11727         * lib/poll.c: Include sys/time.h and time.h unconditionally,
11728         since we now assume the sys_time module.
11729         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
11730         check for sys/time.h; no longer needed.
11731         * modules/poll (Depends-on): Depend on sys_time.
11732
11733 2007-01-18  Bruno Haible  <bruno@clisp.org>
11734
11735         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
11736         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
11737
11738         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
11739         gettimeofday.
11740
11741         * tests/test-gettimeofday.c: Include <time.h>.
11742         (dummy): Remove variable.
11743
11744         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
11745         gl_HEADER_SYS_TIME_H.
11746         (gl_HEADER_SYS_TIME_H): New macro.
11747
11748         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
11749         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
11750         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
11751         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
11752         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
11753         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
11754         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
11755         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
11756         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
11757         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
11758         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
11759
11760         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
11761         last change; it caused a compilation error when cross-compiling to
11762         Cygwin.
11763
11764 2007-01-18  Jim Meyering  <jim@meyering.net>
11765
11766         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
11767         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
11768         than the race-prone "test -d sys || mkdir sys".
11769         (configure.ac): Use AC_PROG_MKDIR_P.
11770         * modules/sys_select: Likewise.
11771         * modules/sys_socket: Likewise.
11772         * modules/sys_time: Likewise.
11773
11774 2007-01-18  Eric Blake  <ebb9@byu.net>
11775
11776         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
11777         replace gettimeofday.
11778         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
11779         name, to avoid infinite recursion.
11780
11781 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
11782
11783         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
11784         module sys_time.
11785         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
11786         assume timespec.h defines struct timeval.
11787         * lib/settime.c: Likewise.
11788         * lib/utimens.c: Likewise.
11789         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
11790         since we now assume the gettimeofday module.
11791         * lib/tempname.c (__gen_tempname): Likewise.
11792         * lib/gettimeofday.h: Remove.
11793         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
11794         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
11795         Include <time.h>, for 'time()'.
11796         (localtime_buffer_addr): Also use this workaround if
11797         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
11798         to simplify the uses.  All uses changed.
11799         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
11800         that #undef is inside {}, and 'const' follows type name consistently.
11801         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
11802         (gettimeofday): Do not use the maximum possible value for
11803         tv->tv_usec, since that might break usages other than ls.c.
11804         Instead, we'll leave ls.c alone.  This undoes today's patch
11805         by Bruno.  Add a compile-time warning for 1s-clock resolution;
11806         we've never observed the problem but might as well keep the
11807         canary.
11808         * lib/nanosleep.c: Include timespec.h first, for interface check.
11809         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
11810         now assume the sys_time module.
11811         * lib/tempname.c: Likewise.
11812         * lib/timespec.h: Likewise.
11813         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
11814         needed.
11815         * lib/strftime.c: Likewise.
11816         * lib/timespec.h: Likewise.
11817         * lib/posixtm.c: Include posixtm.h first, for interface check.
11818         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
11819         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
11820         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
11821         * lib/sys_time_.h: New file.
11822         * lib/timespec.h (struct timespec): Use long int, not long.
11823         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
11824         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
11825         Remove obsolescent call to AC_HEADER_TIME.
11826         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
11827         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
11828         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
11829         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
11830         Likewise.
11831         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
11832         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
11833         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
11834         into the sys_time module.  Check for gettimeofday just once.
11835         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
11836         for gettimeofday signature to just check the signature.  Merely
11837         compile it, since linking doesn't test signature.  Improve test for
11838         whether gettimeofday.o is actually needed.
11839         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
11840         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
11841         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
11842         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
11843         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
11844         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
11845         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
11846         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
11847         than worrying about sys/time.h.
11848         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
11849         Don't bother worrying about TIME_WITH_SYS_TIME.
11850         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
11851         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
11852         * m4/sys_time_h.m4: New file.
11853         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
11854         Don't include sys/time.h.  Return from main rather than exiting.
11855         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
11856         all uses changed.
11857         * modules/gethrxtime (Depends-on): Add sys_time.
11858         * modules/gettime (Depends-on): Likewise.
11859         * modules/gettimeofday (Depends-on): Likewise.
11860         * modules/nanosleep (Depends-on): Likewise.
11861         * modules/settime (Depends-on): Likewise.
11862         * modules/tempname (Depends-on): Likewise.
11863         * modules/utimens (Depends-on): Likewise.
11864         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
11865         (Include:) Change back to <sys/time.h>.
11866         (Maintainer:) Add self.
11867         * modules/sys_time: New file.
11868         * modules/tempname (Depends-on): Add gettimeofday.
11869         * tests/test-gettimeofday.c: Include <sys/time.h>
11870         rather than gettimeofday.h.
11871
11872 2007-01-17  Bruno Haible  <bruno@clisp.org>
11873
11874         * gnulib-tool (func_get_license): Revert last patch. Instead, let
11875         the license default to GPL.
11876         (func_create_testdir): Don't complain if a module is LGPL and its
11877         tests module depends on GPLed modules.
11878
11879 2007-01-17  Bruno Haible  <bruno@clisp.org>
11880
11881         * lib/gettimeofday.c (gettimeofday): Add code for the case
11882         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
11883         maximum possible value for tv->tv_usec, rather than the minimum one.
11884
11885 2005-10-08  Martin Lambers  <marlam@marlam.de>
11886 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
11887 2007-01-16  Bruno Haible  <bruno@clisp.org>
11888
11889         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
11890         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
11891         gl_FUNC_GETTIMEOFDAY.
11892         (Include): Add gettimeofday.h.
11893         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
11894         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
11895         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
11896         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
11897         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
11898         * lib/gettimeofday.h: New file.
11899         * lib/gettimeofday.c: Include <sys/timeb.h>.
11900         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
11901         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
11902         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
11903         fall back on time().
11904
11905         * tests/test-gettimeofday.c: New file.
11906         * modules/gettimeofday-tests: New file.
11907
11908 2007-01-16  Eric Blake  <ebb9@byu.net>
11909
11910         * modules/fnmatch (Depends-on): Depend on wchar.
11911         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
11912         * m4/fnmatch.m4: Likewise.
11913         * modules/mbchar (Makefile.am): Assume <wchar.h>.
11914         * m4/mbchar.m4: Likewise.
11915         * modules/mbswidth (Depends-on): Depend on wchar.
11916         * lib/mbswidth.c: Assume <wchar.h>.
11917         * m4/mbswidth.m4: Likewise.
11918         * modules/quotearg (Depends-on): Depend on wchar.
11919         * lib/quotearg.c: Assume <wchar.h>.
11920         * m4/quotearg.m4: Likewise.
11921         * modules/regex (Depends-on): Depend on wchar.
11922         * lib/regex_internal.h: Assume <wchar.h>.
11923         * m4/regex.m4: Likewise.
11924         * modules/stdint (Depends-on): Depend on wchar.
11925         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
11926         * m4/stdint.m4: Likewise.
11927         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
11928         * modules/strftime (Depends-on): Depend on wchar.
11929         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
11930         * modules/strtol (Depends-on): Depend on wchar.
11931         * lib/strtol.c: Assume <wchar.h>.
11932         * modules/wcwidth (Depends-on): Depend on wchar.
11933         * lib/wcwidth.h: Assume <wchar.h>.
11934         * m4/wcwidth.m4: Likewise.
11935
11936 2007-01-16  Bruno Haible  <bruno@clisp.org>
11937
11938         * modules/csharpexec-script: New, created from...
11939         * modules/csharpexec: ... this.
11940
11941 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
11942
11943         * modules/javaexec-script: New, created from...
11944         * modules/javaexec: ... this.
11945
11946 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11947
11948         * modules/poll (Dependencies): Add sys_select.
11949
11950 2007-01-15  Jim Meyering  <jim@meyering.net>
11951
11952         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
11953         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
11954         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
11955         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
11956
11957 2007-01-15  Bruno Haible  <bruno@clisp.org>
11958
11959         * modules/striconveh: New file.
11960         * lib/striconveh.h: New file.
11961         * lib/striconveh.c: New file.
11962         * MODULES.html.sh (Internationalization functions): Add striconveh.
11963
11964         * modules/striconveh-tests: New file.
11965         * tests/test-striconveh.c: New file.
11966
11967 2007-01-15  Bruno Haible  <bruno@clisp.org>
11968
11969         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
11970         not from GNU libiconv or GNU libc.
11971
11972 2007-01-15  Bruno Haible  <bruno@clisp.org>
11973
11974         * doc/gnulib-intro.texi (Copyright): Explain the different license
11975         terms for module descriptions, autoconf macros, tests, documentation.
11976
11977 2007-01-14  Bruno Haible  <bruno@clisp.org>
11978
11979         * modules/striconv-tests: New file.
11980         * tests/test-striconv.c: New file.
11981
11982 2007-01-14  Bruno Haible  <bruno@clisp.org>
11983
11984         * modules/iconv-tests: New file.
11985         * tests/test-iconv.c: New file.
11986
11987 2007-01-14  Bruno Haible  <bruno@clisp.org>
11988
11989         * gnulib-tool (func_get_license): For test modules, use the license of
11990         the main module.
11991
11992 2007-01-14  Bruno Haible  <bruno@clisp.org>
11993
11994         * modules/iconv (Include): Clarify that <iconv.h> can only be included
11995         if iconv is found to exist.
11996
11997 2007-01-14  Bruno Haible  <bruno@clisp.org>
11998
11999         * modules/c-ctype-tests: New file.
12000         * tests/test-c-ctype.c: New file.
12001
12002 2007-01-14  Bruno Haible  <bruno@clisp.org>
12003
12004         * modules/binary-io-tests: New file.
12005         * tests/test-binary-io.sh: New file.
12006         * tests/test-binary-io.c: New file.
12007
12008 2007-01-14  Bruno Haible  <bruno@clisp.org>
12009
12010         * modules/array-oset-tests: New file.
12011         * tests/test-array_oset.c: New file.
12012
12013 2007-01-14  Bruno Haible  <bruno@clisp.org>
12014
12015         * modules/array-list-tests: New file.
12016         * tests/test-array_list.c: New file.
12017
12018 2007-01-14  Bruno Haible  <bruno@clisp.org>
12019
12020         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
12021         and make.
12022         Reported by Simon Josefsson in
12023         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
12024
12025 2007-01-14  Bruno Haible  <bruno@clisp.org>
12026
12027         * modules/allocsa-tests: New file.
12028         * tests/test-allocsa.c: New file.
12029
12030 2007-01-14  Bruno Haible  <bruno@clisp.org>
12031
12032         * modules/fchdir (Depends-on): Add absolute-header.
12033         * modules/unistd (Depends-on): Likewise.
12034
12035 2006-12-30  Bruno Haible  <bruno@clisp.org>
12036
12037         * modules/fchdir: New file.
12038         * modules/unistd (Files): Add lib/unistd_.h.
12039         (Makefile.am): Generate unistd.h from unistd_.h.
12040         * lib/fchdir.c: New file.
12041         * lib/dirent_.h: New file.
12042         * lib/unistd_.h: New file.
12043         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
12044         * m4/fchdir.m4: New file.
12045         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
12046         (gl_HEADER_UNISTD): Invoke it.
12047         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
12048         function.
12049         * lib/backupfile.c (opendir, closedir): Undefine.
12050         * lib/chown.c (open, close): Undefine.
12051         * lib/clean-temp.c (open, close): Undefine.
12052         * lib/copy-file.c (open, close): Undefine.
12053         * lib/execute.c (open, close): Undefine.
12054         * lib/fsusage.c (open, close): Undefine.
12055         * lib/gc-gnulib.c (open, close): Undefine.
12056         * lib/getcwd.c (opendir, closedir): Undefine.
12057         * lib/glob.c (opendir, closedir): Undefine.
12058         * lib/javacomp.c (open, close): Undefine.
12059         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
12060         * lib/openat-proc.c (open, close): Undefine.
12061         * lib/pagealign_alloc.c (open, close): Undefine.
12062         * lib/pipe.c (open, close): Undefine.
12063         * lib/progreloc.c (open, close): Undefine.
12064         * lib/savedir.c (opendir, closedir): Undefine.
12065         * lib/utime.c (open, close): Undefine.
12066         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
12067
12068 2007-01-10  Bruno Haible  <bruno@clisp.org>
12069
12070         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
12071
12072 2007-01-12  Eric Blake  <ebb9@byu.net>
12073
12074         Provide a robust <wchar.h>.  Further simplifications are now
12075         possible in other modules, but not included here.
12076         * modules/wchar: New module.
12077         * m4/wchar.m4: New file.
12078         * lib/wchar_.h: Likewise.
12079         * modules/mbchar (Depends-on): Depend on wchar, as the first use
12080         of the new module.
12081         * MODULES.html.sh (Extended multibyte and wide character utilities):
12082         New section.
12083
12084 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
12085
12086         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
12087         to a reasonable default for memory allocation.
12088         (xreadlink): Don't allocate a huge buffer, to work around a buggy
12089         file system that reports garbage st_size values for symlinks.
12090         Problem reported by Liyang Hu.
12091
12092 2007-01-11  Simon Josefsson  <simon@josefsson.org>
12093
12094         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
12095         Emacs .#* auto-save files).
12096
12097 2007-01-11  Bruno Haible  <bruno@clisp.org>
12098
12099         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
12100         directory.
12101
12102 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
12103
12104         Use @...@ consistently in lib/wctype_.h.
12105         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
12106         on it being set to 1 or 0.
12107         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
12108         go back to AC_SUBSTing it.
12109         * modules/wctype (Makefile.am): Undo previous change.
12110
12111 2007-01-10  Eric Blake  <ebb9@byu.net>
12112
12113         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
12114         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
12115         * modules/wctype (Makefile.am): Likewise.
12116         Reported by Chris McGuire.
12117
12118 2007-01-10  Jim Meyering  <jim@meyering.net>
12119
12120         fts.c: a small readability/maintainability improvement
12121         * lib/fts.c (fts_read): Make this code slightly more readable and
12122         maintainable by hoisting the "sp->fts_cur = p" assignments to
12123         immediately follow the statements that set P.  Derived from
12124         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
12125
12126 2007-01-10  Eric Blake  <ebb9@byu.net>
12127
12128         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
12129         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
12130         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
12131         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
12132         Reported by Chris McGuire.
12133
12134 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12135
12136         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
12137         in sed script.
12138
12139 2007-01-09  Bruno Haible  <bruno@clisp.org>
12140
12141         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
12142         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
12143         variables.
12144         (func_module): Use them.
12145
12146 2007-01-09  Bruno Haible  <bruno@clisp.org>
12147
12148         * modules/unistr/base: New file.
12149         * lib/unistr.h: New file.
12150
12151         * modules/unistr/u8-to-u16: New file.
12152         * lib/unistr/u8-to-u16.c: New file.
12153
12154         * modules/unistr/u8-to-u32: New file.
12155         * lib/unistr/u8-to-u32.c: New file.
12156
12157         * modules/unistr/u16-to-u8: New file.
12158         * lib/unistr/u16-to-u8.c: New file.
12159
12160         * modules/unistr/u16-to-u32: New file.
12161         * lib/unistr/u16-to-u32.c: New file.
12162
12163         * modules/unistr/u32-to-u8: New file.
12164         * lib/unistr/u32-to-u8.c: New file.
12165
12166         * modules/unistr/u32-to-u16: New file.
12167         * lib/unistr/u32-to-u16.c: New file.
12168
12169         * modules/unistr/u8-check: New file.
12170         * modules/unistr/u16-check: New file.
12171         * modules/unistr/u32-check: New file.
12172         * lib/unistr/u8-check.c: New file.
12173         * lib/unistr/u16-check.c: New file.
12174         * lib/unistr/u32-check.c: New file.
12175
12176         * modules/unistr/u8-chr: New file.
12177         * modules/unistr/u16-chr: New file.
12178         * modules/unistr/u32-chr: New file.
12179         * lib/unistr/u8-chr.c: New file.
12180         * lib/unistr/u16-chr.c: New file.
12181         * lib/unistr/u32-chr.c: New file.
12182
12183         * modules/unistr/u8-cmp: New file.
12184         * modules/unistr/u16-cmp: New file.
12185         * modules/unistr/u32-cmp: New file.
12186         * lib/unistr/u8-cmp.c: New file.
12187         * lib/unistr/u16-cmp.c: New file.
12188         * lib/unistr/u32-cmp.c: New file.
12189
12190         * modules/unistr/u8-cpy: New file.
12191         * modules/unistr/u16-cpy: New file.
12192         * modules/unistr/u32-cpy: New file.
12193         * lib/unistr/u8-cpy.c: New file.
12194         * lib/unistr/u16-cpy.c: New file.
12195         * lib/unistr/u32-cpy.c: New file.
12196         * lib/unistr/u-cpy.h: New file.
12197
12198         * modules/unistr/u8-cpy-alloc: New file.
12199         * modules/unistr/u16-cpy-alloc: New file.
12200         * modules/unistr/u32-cpy-alloc: New file.
12201         * lib/unistr/u8-cpy-alloc.c: New file.
12202         * lib/unistr/u16-cpy-alloc.c: New file.
12203         * lib/unistr/u32-cpy-alloc.c: New file.
12204         * lib/unistr/u-cpy-alloc.h: New file.
12205
12206         * modules/unistr/u8-endswith: New file.
12207         * modules/unistr/u16-endswith: New file.
12208         * modules/unistr/u32-endswith: New file.
12209         * lib/unistr/u8-endswith.c: New file.
12210         * lib/unistr/u16-endswith.c: New file.
12211         * lib/unistr/u32-endswith.c: New file.
12212         * lib/unistr/u-endswith.h: New file.
12213
12214         * modules/unistr/u8-mblen: New file.
12215         * modules/unistr/u16-mblen: New file.
12216         * modules/unistr/u32-mblen: New file.
12217         * lib/unistr/u8-mblen.c: New file.
12218         * lib/unistr/u16-mblen.c: New file.
12219         * lib/unistr/u32-mblen.c: New file.
12220
12221         * modules/unistr/u8-mbtouc: New file.
12222         * modules/unistr/u16-mbtouc: New file.
12223         * modules/unistr/u32-mbtouc: New file.
12224         * lib/unistr/u8-mbtouc.c: New file.
12225         * lib/unistr/u16-mbtouc.c: New file.
12226         * lib/unistr/u32-mbtouc.c: New file.
12227
12228         * modules/unistr/u8-mbtouc-safe: New file.
12229         * modules/unistr/u16-mbtouc-safe: New file.
12230         * modules/unistr/u32-mbtouc-safe: New file.
12231         * lib/unistr/u8-mbtouc-safe.c: New file.
12232         * lib/unistr/u16-mbtouc-safe.c: New file.
12233         * lib/unistr/u32-mbtouc-safe.c: New file.
12234
12235         * modules/unistr/u8-move: New file.
12236         * modules/unistr/u16-move: New file.
12237         * modules/unistr/u32-move: New file.
12238         * lib/unistr/u8-move.c: New file.
12239         * lib/unistr/u16-move.c: New file.
12240         * lib/unistr/u32-move.c: New file.
12241         * lib/unistr/u-move.h: New file.
12242
12243         * modules/unistr/u8-next: New file.
12244         * modules/unistr/u16-next: New file.
12245         * modules/unistr/u32-next: New file.
12246         * lib/unistr/u8-next.c: New file.
12247         * lib/unistr/u16-next.c: New file.
12248         * lib/unistr/u32-next.c: New file.
12249
12250         * modules/unistr/u8-prev: New file.
12251         * modules/unistr/u16-prev: New file.
12252         * modules/unistr/u32-prev: New file.
12253         * lib/unistr/u8-prev.c: New file.
12254         * lib/unistr/u16-prev.c: New file.
12255         * lib/unistr/u32-prev.c: New file.
12256
12257         * modules/unistr/u8-set: New file.
12258         * modules/unistr/u16-set: New file.
12259         * modules/unistr/u32-set: New file.
12260         * lib/unistr/u8-set.c: New file.
12261         * lib/unistr/u16-set.c: New file.
12262         * lib/unistr/u32-set.c: New file.
12263         * lib/unistr/u-set.h: New file.
12264
12265         * modules/unistr/u8-startswith: New file.
12266         * modules/unistr/u16-startswith: New file.
12267         * modules/unistr/u32-startswith: New file.
12268         * lib/unistr/u8-startswith.c: New file.
12269         * lib/unistr/u16-startswith.c: New file.
12270         * lib/unistr/u32-startswith.c: New file.
12271         * lib/unistr/u-startswith.h: New file.
12272
12273         * modules/unistr/u8-stpcpy: New file.
12274         * modules/unistr/u16-stpcpy: New file.
12275         * modules/unistr/u32-stpcpy: New file.
12276         * lib/unistr/u8-stpcpy.c: New file.
12277         * lib/unistr/u16-stpcpy.c: New file.
12278         * lib/unistr/u32-stpcpy.c: New file.
12279         * lib/unistr/u-stpcpy.h: New file.
12280
12281         * modules/unistr/u8-stpncpy: New file.
12282         * modules/unistr/u16-stpncpy: New file.
12283         * modules/unistr/u32-stpncpy: New file.
12284         * lib/unistr/u8-stpncpy.c: New file.
12285         * lib/unistr/u16-stpncpy.c: New file.
12286         * lib/unistr/u32-stpncpy.c: New file.
12287         * lib/unistr/u-stpncpy.h: New file.
12288
12289         * modules/unistr/u8-strcat: New file.
12290         * modules/unistr/u16-strcat: New file.
12291         * modules/unistr/u32-strcat: New file.
12292         * lib/unistr/u8-strcat.c: New file.
12293         * lib/unistr/u16-strcat.c: New file.
12294         * lib/unistr/u32-strcat.c: New file.
12295         * lib/unistr/u-strcat.h: New file.
12296
12297         * modules/unistr/u8-strchr: New file.
12298         * modules/unistr/u16-strchr: New file.
12299         * modules/unistr/u32-strchr: New file.
12300         * lib/unistr/u8-strchr.c: New file.
12301         * lib/unistr/u16-strchr.c: New file.
12302         * lib/unistr/u32-strchr.c: New file.
12303
12304         * modules/unistr/u8-strcmp: New file.
12305         * modules/unistr/u16-strcmp: New file.
12306         * modules/unistr/u32-strcmp: New file.
12307         * lib/unistr/u8-strcmp.c: New file.
12308         * lib/unistr/u16-strcmp.c: New file.
12309         * lib/unistr/u32-strcmp.c: New file.
12310
12311         * modules/unistr/u8-strcpy: New file.
12312         * modules/unistr/u16-strcpy: New file.
12313         * modules/unistr/u32-strcpy: New file.
12314         * lib/unistr/u8-strcpy.c: New file.
12315         * lib/unistr/u16-strcpy.c: New file.
12316         * lib/unistr/u32-strcpy.c: New file.
12317         * lib/unistr/u-strcpy.h: New file.
12318
12319         * modules/unistr/u8-strcspn: New file.
12320         * modules/unistr/u16-strcspn: New file.
12321         * modules/unistr/u32-strcspn: New file.
12322         * lib/unistr/u8-strcspn.c: New file.
12323         * lib/unistr/u16-strcspn.c: New file.
12324         * lib/unistr/u32-strcspn.c: New file.
12325         * lib/unistr/u-strcspn.h: New file.
12326
12327         * modules/unistr/u8-strdup: New file.
12328         * modules/unistr/u16-strdup: New file.
12329         * modules/unistr/u32-strdup: New file.
12330         * lib/unistr/u8-strdup.c: New file.
12331         * lib/unistr/u16-strdup.c: New file.
12332         * lib/unistr/u32-strdup.c: New file.
12333         * lib/unistr/u-strdup.h: New file.
12334
12335         * modules/unistr/u8-strlen: New file.
12336         * modules/unistr/u16-strlen: New file.
12337         * modules/unistr/u32-strlen: New file.
12338         * lib/unistr/u8-strlen.c: New file.
12339         * lib/unistr/u16-strlen.c: New file.
12340         * lib/unistr/u32-strlen.c: New file.
12341         * lib/unistr/u-strlen.h: New file.
12342
12343         * modules/unistr/u8-strmblen: New file.
12344         * modules/unistr/u16-strmblen: New file.
12345         * modules/unistr/u32-strmblen: New file.
12346         * lib/unistr/u8-strmblen.c: New file.
12347         * lib/unistr/u16-strmblen.c: New file.
12348         * lib/unistr/u32-strmblen.c: New file.
12349
12350         * modules/unistr/u8-strmbtouc: New file.
12351         * modules/unistr/u16-strmbtouc: New file.
12352         * modules/unistr/u32-strmbtouc: New file.
12353         * lib/unistr/u8-strmbtouc.c: New file.
12354         * lib/unistr/u16-strmbtouc.c: New file.
12355         * lib/unistr/u32-strmbtouc.c: New file.
12356
12357         * modules/unistr/u8-strncat: New file.
12358         * modules/unistr/u16-strncat: New file.
12359         * modules/unistr/u32-strncat: New file.
12360         * lib/unistr/u8-strncat.c: New file.
12361         * lib/unistr/u16-strncat.c: New file.
12362         * lib/unistr/u32-strncat.c: New file.
12363         * lib/unistr/u-strncat.h: New file.
12364
12365         * modules/unistr/u8-strncmp: New file.
12366         * modules/unistr/u16-strncmp: New file.
12367         * modules/unistr/u32-strncmp: New file.
12368         * lib/unistr/u8-strncmp.c: New file.
12369         * lib/unistr/u16-strncmp.c: New file.
12370         * lib/unistr/u32-strncmp.c: New file.
12371
12372         * modules/unistr/u8-strncpy: New file.
12373         * modules/unistr/u16-strncpy: New file.
12374         * modules/unistr/u32-strncpy: New file.
12375         * lib/unistr/u8-strncpy.c: New file.
12376         * lib/unistr/u16-strncpy.c: New file.
12377         * lib/unistr/u32-strncpy.c: New file.
12378         * lib/unistr/u-strncpy.h: New file.
12379
12380         * modules/unistr/u8-strnlen: New file.
12381         * modules/unistr/u16-strnlen: New file.
12382         * modules/unistr/u32-strnlen: New file.
12383         * lib/unistr/u8-strnlen.c: New file.
12384         * lib/unistr/u16-strnlen.c: New file.
12385         * lib/unistr/u32-strnlen.c: New file.
12386         * lib/unistr/u-strnlen.h: New file.
12387
12388         * modules/unistr/u8-strpbrk: New file.
12389         * modules/unistr/u16-strpbrk: New file.
12390         * modules/unistr/u32-strpbrk: New file.
12391         * lib/unistr/u8-strpbrk.c: New file.
12392         * lib/unistr/u16-strpbrk.c: New file.
12393         * lib/unistr/u32-strpbrk.c: New file.
12394         * lib/unistr/u-strpbrk.h: New file.
12395
12396         * modules/unistr/u8-strrchr: New file.
12397         * modules/unistr/u16-strrchr: New file.
12398         * modules/unistr/u32-strrchr: New file.
12399         * lib/unistr/u8-strrchr.c: New file.
12400         * lib/unistr/u16-strrchr.c: New file.
12401         * lib/unistr/u32-strrchr.c: New file.
12402
12403         * modules/unistr/u8-strspn: New file.
12404         * modules/unistr/u16-strspn: New file.
12405         * modules/unistr/u32-strspn: New file.
12406         * lib/unistr/u8-strspn.c: New file.
12407         * lib/unistr/u16-strspn.c: New file.
12408         * lib/unistr/u32-strspn.c: New file.
12409         * lib/unistr/u-strspn.h: New file.
12410
12411         * modules/unistr/u8-strstr: New file.
12412         * modules/unistr/u16-strstr: New file.
12413         * modules/unistr/u32-strstr: New file.
12414         * lib/unistr/u8-strstr.c: New file.
12415         * lib/unistr/u16-strstr.c: New file.
12416         * lib/unistr/u32-strstr.c: New file.
12417         * lib/unistr/u-strstr.h: New file.
12418
12419         * modules/unistr/u8-strtok: New file.
12420         * modules/unistr/u16-strtok: New file.
12421         * modules/unistr/u32-strtok: New file.
12422         * lib/unistr/u8-strtok.c: New file.
12423         * lib/unistr/u16-strtok.c: New file.
12424         * lib/unistr/u32-strtok.c: New file.
12425         * lib/unistr/u-strtok.h: New file.
12426
12427         * modules/unistr/u8-uctomb: New file.
12428         * modules/unistr/u16-uctomb: New file.
12429         * modules/unistr/u32-uctomb: New file.
12430         * lib/unistr/u8-uctomb.c: New file.
12431         * lib/unistr/u16-uctomb.c: New file.
12432         * lib/unistr/u32-uctomb.c: New file.
12433
12434         * MODULES.html.sh (Unicode string functions): Add the new modules.
12435
12436 2007-01-08  Bruno Haible  <bruno@clisp.org>
12437
12438         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
12439         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
12440         subdirectories.
12441
12442 2007-01-08  Karl Berry  <karl@gnu.org>
12443
12444         * doc/error.texi: mention that main() fns must set program_name
12445         when progname is used.
12446
12447 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
12448
12449         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
12450         WCTYPE_H is empty, for the benefit of builds from non-distclean
12451         directories.  Problem reported by Eric Blake in
12452         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
12453
12454 2007-01-08  Bruno Haible  <bruno@clisp.org>
12455
12456         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
12457         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
12458         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
12459         PROVIDE_CANONICALIZE_FILENAME_MODE.
12460         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
12461
12462 2007-01-08  Bruno Haible  <bruno@clisp.org>
12463
12464         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
12465         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
12466         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
12467         * lib/fts.c: Likewise.
12468         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
12469
12470 2006-12-25  Bruno Haible  <bruno@clisp.org>
12471
12472         * modules/utf8-ucs4-safe: New file.
12473         * lib/utf8-ucs4-safe.h: New file.
12474         * lib/unistr/utf8-ucs4-safe.c: New file.
12475
12476         * modules/utf16-ucs4-safe: New file.
12477         * lib/utf16-ucs4-safe.h: New file.
12478         * lib/unistr/utf16-ucs4-safe.c: New file.
12479
12480         * MODULES.html.sh (Unicode string functions): Add the new modules.
12481
12482 2007-01-08  Bruno Haible  <bruno@clisp.org>
12483
12484         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
12485         (Depends-on): Add unitypes.
12486         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
12487         (u8_mbtouc_aux): Move out to separate file.
12488         (u8_mbtouc): Use ucs4_t, uint8_t types.
12489         * lib/unistr/utf8-ucs4.c: New file.
12490
12491         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
12492         (Depends-on): Add unitypes.
12493         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
12494         (u16_mbtouc_aux): Move out to separate file.
12495         (u16_mbtouc): Use ucs4_t, uint16_t types.
12496         * lib/unistr/utf16-ucs4.c: New file.
12497
12498         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
12499         (Depends-on): Add unitypes.
12500         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
12501         (u8_uctomb_aux): Move out to separate file.
12502         (u8_uctomb): Use ucs4_t, uint8_t types.
12503         * lib/unistr/ucs4-utf8.c: New file.
12504
12505         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
12506         (Depends-on): Add unitypes.
12507         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
12508         (u16_uctomb_aux): Move out to separate file.
12509         (u16_uctomb): Use ucs4_t, uint16_t types.
12510         * lib/unistr/ucs4-utf16.c: New file.
12511
12512 2006-12-25  Bruno Haible  <bruno@clisp.org>
12513
12514         * modules/unitypes: New file.
12515         * lib/unitypes.h: New file.
12516         * MODULES.html.sh (func_all_modules): New section "Unicode string
12517         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
12518         this section. Add unitypes.
12519
12520 2007-01-08  Bruno Haible  <bruno@clisp.org>
12521
12522         Avoid variable names that conflict with those from libtool.
12523         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
12524         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
12525         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
12526         library_names_spec to acl_library_names_spec, hardcode_* to
12527         acl_hardcode_*.
12528         Reported by Ralf Wildenhues.
12529
12530 2007-01-08  Bruno Haible  <bruno@clisp.org>
12531
12532         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
12533         definition.
12534         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
12535         definition.
12536         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
12537         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
12538         definition.
12539         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
12540         definition.
12541         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
12542         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
12543         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
12544         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
12545         definition.
12546         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
12547         definition.
12548         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
12549         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
12550         GC_USE_<algorithm>.
12551         * lib/gc-libgcrypt.c: Likewise.
12552         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
12553         * modules/gc-arctwo (configure.ac): Likewise.
12554         * modules/gc-des (configure.ac): Likewise.
12555         * modules/gc-hmac-md5 (configure.ac): Likewise.
12556         * modules/gc-hmac-sha1 (configure.ac): Likewise.
12557         * modules/gc-md2 (configure.ac): Likewise.
12558         * modules/gc-md4 (configure.ac): Likewise.
12559         * modules/gc-md5 (configure.ac): Likewise.
12560         * modules/gc-random (configure.ac): Likewise.
12561         * modules/gc-rijndael (configure.ac): Likewise.
12562         * modules/gc-sha1 (configure.ac): Likewise.
12563
12564 2007-01-08  Bruno Haible  <bruno@clisp.org>
12565
12566         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
12567         macro definition.
12568         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
12569         definition.
12570         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
12571         definition.
12572         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
12573         * modules/fcntl-safer (configure.ac): Likewise.
12574         * modules/fopen-safer (configure.ac): Likewise.
12575         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
12576         GNULIB_FWRITEERROR macro definition.
12577
12578 2007-01-08  Bruno Haible  <bruno@clisp.org>
12579
12580         * m4/gnulib-common.m4: New file.
12581         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
12582         (func_get_filelist): Add m4/gnulib-common.m4.
12583
12584 2007-01-08  Bruno Haible  <bruno@clisp.org>
12585
12586         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
12587         command.
12588
12589 2007-01-08  Jim Meyering  <jim@meyering.net>
12590
12591         Use a more robust test for a "can't happen" condition.
12592         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
12593         narrowed the st_size value.  Presuming the "can't happen" condition
12594         is true, that narrowing could conceivably convert an invalid st_size
12595         value into a valid one.  Instead, use a change based on Matthew
12596         Woehlke's original patch.
12597
12598         Slight readability improvement: use an assert-like macro
12599         in place of literal "abort ()" uses.
12600         * lib/fts.c (fts_assert): Define.
12601         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
12602         Use this macro instead of a bare 'abort'.
12603
12604 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
12605
12606         Don't worry about using IRIX 5.3's wctype.h broken definitions;
12607         simply work around them.
12608         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
12609         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
12610         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
12611         declaring.
12612         Don't bother to define as macros, since the standard doesn't require it.
12613         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
12614         longer worry about IRIX 5.3.
12615         (HAVE_WCTYPE_CTMP_BUG): Remove.
12616
12617 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
12618
12619         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
12620         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
12621         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
12622         Problems reported by Georg Schwarz for IRIX 5.3.
12623
12624         * gnulib-tool (autoconf_minversion): Take the maximum version number
12625         found, not the minimum.  Problem reported by James Youngman.
12626
12627 2007-01-03  Karl Berry  <karl@gnu.org>
12628
12629         * doc/error.texi: new file, explaining interaction with progname.
12630         * doc/gnulib.texi: include it.  Update copyright.
12631
12632 2007-01-03  Simon Josefsson  <simon@josefsson.org>
12633
12634         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
12635         AC_CANONICAL_HOST, to improve autobuild outputs.
12636
12637 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
12638             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
12639
12640         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
12641         sockets, server sockets, and other file descriptors.  Count errors
12642         to compute the return value.  Reorder the code a bit to be easier
12643         to follow.  Don't set event bits that were not requested (except
12644         POLLERR and POLLHUP).
12645
12646 2007-01-01  Bruno Haible  <bruno@clisp.org>
12647
12648         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
12649
12650 2007-01-03  Jim Meyering  <jim@meyering.net>
12651
12652         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
12653
12654 2007-01-02  Bruno Haible  <bruno@clisp.org>
12655
12656         * modules/settime (Include): Require timespec.h.
12657         * modules/nanosleep (Include): Likewise.
12658
12659 2007-01-01  Bruno Haible  <bruno@clisp.org>
12660
12661         * gnulib-tool (func_emit_copyright_notice): Bump year.
12662         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
12663
12664 2007-01-01  Bruno Haible  <bruno@clisp.org>
12665
12666         Improve support for OpenBSD.
12667         * build-aux/config.rpath (libname_spec): Export.
12668         (library_names_spec): New variable. Export.
12669         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
12670         library_names_spec from the config.rpath output. Locate shared library
12671         through the name pattern in library_names_spec.
12672
12673 2007-01-01  Eric Blake  <ebb9@byu.net>
12674
12675         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
12676
12677 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
12678
12679         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
12680         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
12681         assume the C locale, and avoid an "eval" that could cause trouble.
12682         Problem with SORT reported by Bob Proulx.
12683
12684         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
12685         Define.  Trivial patch from Henning Nielsen Lund, originally
12686         sent to bug-grep@gnu.org today.
12687
12688 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
12689
12690         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
12691         struct stat.  Problem reported by Henning Nielsen Lund.
12692         * lib/acl.c: Include acl.h first, to check interface.  Don't
12693         bother to include sys/types.h and sys/stat.h again.
12694
12695 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
12696
12697         Import the following change from libc; problem reported by
12698         Sven Verdoolaege.
12699
12700         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
12701
12702         [BZ #1373]
12703         * lib/argp.h: Remove __NTH for __argp_usage inline function.
12704
12705 2006-12-28  Jim Meyering  <jim@meyering.net>
12706
12707         * build-aux/announce-gen: Do not assume that the package
12708         builds any of tar.gz, tar.bz2, and .xdelta files.
12709         Suggestion from Simon Josefsson.
12710
12711 2006-12-28  Simon Josefsson  <simon@josefsson.org>
12712
12713         * modules/announce-gen: New file.
12714
12715 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
12716
12717         * lib/mbchar.h: Just include <wctype.h>; the wctype module
12718         handles its gotchas now.
12719         * lib/mbswidth.c: Likewise.
12720         * lib/wcwidth.h: Likewise.
12721         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
12722         and iswcntrl; the wctype module does this stuff now.
12723         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
12724         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
12725         * modules/mbchar (Depends-on): Add wctype.
12726         * modules/mbswidth (Depends-on): Likewise.
12727         * modules/wcwidth (Depends-on): Likewise.
12728
12729 2006-12-27  Eric Blake  <ebb9@byu.net>
12730
12731         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
12732         module uses more than what <wctype.h> is required to provide.
12733
12734 2006-12-26  Eric Blake  <ebb9@byu.net>
12735
12736         * gnulib-tool (sed_extract_prog): Avoid space-tab.
12737
12738 2006-12-26  Eric Blake  <ebb9@byu.net>
12739
12740         * modules/absolute-header: New module.
12741         * modules/fcntl (Depends-on): Depend on it.
12742         * modules/inttypes (Depends-on): Likewise.
12743         * modules/stdint (Depends-on): Likewise.
12744         * modules/sys_stat (Depends-on): Likewise.
12745         * modules/wctype (Depends-on): Likewise.
12746         * MODULES.html.sh (Support for building libraries and
12747         executables): Document it.
12748
12749 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
12750
12751         * gnulib-tool (SED): Remove, undoing previous change.
12752         The problem was that it broke coreutils on Solaris, because
12753         "sed --posix" leaked into a makefile.
12754         (sed): New alias, if 'alias' and GNU sed.
12755
12756 2006-12-24  Jim Meyering  <jim@meyering.net>
12757
12758         Work around an fchownat bug in glibc-2.4:
12759         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
12760         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
12761         in spite of the -P option.
12762         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
12763         New macros.
12764         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
12765         * modules/openat (Files): Add lib/fchownat.c.
12766         * lib/openat.c (fchownat): Don't define here.  Move to...
12767         * lib/fchownat.c: ...this new file.
12768
12769 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
12770
12771         Fix bug reported by Bruno Haible in
12772         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
12773         where quotearg.c didn't compile on Mac OS X 10.2 because it
12774         lacks <wchar.h> and wint_t.
12775         * lib/wctype_.h (__wctype_wint_t): New type.
12776         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
12777         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
12778         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
12779         Arg is now of type __wctype_wint_t, not wint_t.
12780         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
12781         substitute HAVE_WINT_T.
12782         * modules/wctype (Files): Add m4/wint_t.m4.
12783         (wctype.h): Substitute HAVE_WINT_T.
12784
12785 2006-12-23  Bruno Haible  <bruno@clisp.org>
12786
12787         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
12788
12789 2006-12-23  Bruno Haible  <bruno@clisp.org>
12790
12791         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
12792         S_ISLNK.
12793         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
12794         mingw.
12795
12796 2006-12-22  Bruno Haible  <bruno@clisp.org>
12797
12798         * lib/copy-file.c: Include acl.h.
12799         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
12800         Close the file descriptors only after being done with copy_acl.
12801         * modules/copy-file (Depends-on): Add acl.
12802
12803 2006-12-22  Bruno Haible  <bruno@clisp.org>
12804
12805         * gnulib-tool (SED): New variable.
12806         Use $SED instead of sed everywhere.
12807
12808 2006-12-22  Bruno Haible  <bruno@clisp.org>
12809
12810         * modules/no-c++: New file.
12811         * m4/no-c++.m4: New file.
12812         * MODULES.html.sh (Support for building libraries and executables):
12813         Add no-c++.
12814
12815 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
12816
12817         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
12818         Include <limits.h>, and use its INT_MAX to rewrite the
12819         j loop so that it does not overflow 'int'.  Problem reported by
12820         Ralf Wildenhues in
12821         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
12822         Play it safe by shifting left by 1 rather than multiplying by 2,
12823         as GCC is less likely to optimize this away when the value
12824         is signed (when it assumes overflow leads to undefined behavior).
12825         Also, don't assume time_t uses two's complement.
12826
12827 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
12828
12829         * MODULES.html.sh: New module wctype.
12830         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
12831         * lib/fnmatch.c: Don't bother to include <wchar.h> before
12832         <wctype.h>, since the new wctype module should fix this.
12833         * lib/quotearg.c: Include <wctype.h> unconditionally, since
12834         the wctype module should arrange for it.
12835         * lib/regex_internal.h: Likewise.
12836         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
12837         since the wctype module should handle this now.
12838         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
12839         * modules/fnmatch (Depends-on): Add wctype.
12840         * modules/quotearg (Depends-on): Likewise.
12841         * modules/regex (Depends-on): Likewise.
12842
12843 2006-12-19  Bruno Haible  <bruno@clisp.org>
12844
12845         * lib/strdup.h [C++]: Wrap definitions in extern "C".
12846         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
12847
12848 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12849
12850         * modules/savewd (Depends-on): Fix dependency on fcntl.
12851
12852 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
12853
12854         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
12855         conforms to C99, rather than relying on the user's environment
12856         setting of STDINT_H.
12857
12858 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
12859         and Eric Blake  <ebb9@byu.net>
12860
12861         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
12862         This is more consistent with the other defines here.
12863         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
12864         Port to z/OS.  Problem reported by Paul Gilmartin.
12865         Change local vars to use gl_ prefix rather than ac_.
12866         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
12867         with other defines.
12868         * modules/double-slash-root: New module.
12869         * modules/dirname (Files): Remove m4/double-slash-root.m4.
12870         (Depends-on): Add double-slash-root.
12871         * MODULES.html.sh (File system functions): Mention new module.
12872
12873 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
12874
12875         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
12876         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
12877         This is for the benefit of gzip, which doesn't do i18n.
12878
12879 2006-12-12  Jim Meyering  <jim@meyering.net>
12880
12881         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
12882         Reported by Andreas Schwab <schwab@suse.de>.
12883
12884 2006-12-12  Bruno Haible  <bruno@clisp.org>
12885
12886         Merge these changes.
12887         2006-09-05  Bruno Haible  <bruno@clisp.org>
12888         * lib/iconvme.c (iconv_string): No need to save and restore errno when
12889         iconv_alloc succeeded.
12890         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
12891         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
12892         test for " && dest " at the end - dest is always != NULL there. Call
12893         iconv with 4xNULL arguments initially, to reset the state. Call iconv
12894         with 2xNULL arguments, also to flush the state storage. Handle the
12895         IRIX iconv behaviour. Realloc the final result, to throw away unused
12896         memory.
12897
12898 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
12899
12900         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
12901         and fchmodat unconditionally, since glibc 2.4 has them.
12902         Problem reported by Arkadiusz Miskiewicz.
12903
12904 2006-12-10  Bruno Haible  <bruno@clisp.org>
12905
12906         * gnulib-tool (func_import): Show the include files only for those
12907         modules that are copied and specified.
12908         Reported by Karl Berry.
12909
12910 2006-12-08  Jim Meyering  <jim@meyering.net>
12911
12912         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
12913         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
12914
12915         * build-aux/announce-gen: Add two new options, both optional:
12916         --bootstrap-tools=TOOL_LIST
12917               a comma-separated list of tools, e.g.,
12918               autoconf,automake,bison,gnulib
12919         --gnulib-snapshot-date=DATE
12920               if gnulib is in the bootstrap tool list,
12921               then report this as the snapshot date.
12922               If not specified, use the current date/time.
12923               If you specify a date here, be sure it's UTC.
12924
12925 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12926
12927         * tests/test-argp-2.sh: Fix test to match actual output.
12928         (func_compare): Fix sed script to be portable.
12929
12930 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
12931
12932         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
12933         workaround for this case.  It is not autoconfigured now; offhand
12934         it's hard to see how to autoconfigure it.
12935
12936 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
12937
12938         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
12939         a directory that is about to be chowned.  Such a directory's
12940         initial file permissions should permit the owner only and this
12941         should not be changed until after the chown, since the group and
12942         other bits would be incorrect if they granted permission before
12943         the chown.
12944
12945         Fix porting problem for iswctype reported by Georg Schwarz in:
12946         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
12947         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
12948         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
12949         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
12950         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
12951
12952 2006-12-03  Jim Meyering  <jim@meyering.net>
12953
12954         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
12955         p->fts_statp may not yet be defined.
12956         (fts_read): Instead, set it in the caller, once p->fts_statp is
12957         sure to be defined, and corresponds to a top-level directory.
12958         This bug made du -x fail.  Here's the coreutils test case:
12959         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
12960         Reported by Mike Frysinger.
12961
12962 2006-12-01  Jim Meyering  <jim@meyering.net>
12963
12964         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
12965         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
12966         Reported by Simon Josefsson.
12967
12968 2006-11-30  Jim Meyering  <jim@meyering.net>
12969
12970         * m4/warning.m4: Use the all-permissive copyright notice
12971         recommended by RMS (rather than LGPL).
12972         * m4/vararrays.m4: Likewise.
12973         * m4/flexmember.m4: Likewise.
12974
12975 2006-11-29  Bruno Haible  <bruno@clisp.org>
12976
12977         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
12978         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
12979         using +=.
12980         Reported by Simon Josefsson <simon@josefsson.org>.
12981
12982 2006-11-28  James Youngman <jay@gnu.org>
12983
12984         * README: Advise users that they might find the bug-gnulib@gnu.org
12985         and autotools-announce@gnu.org mailing lists useful.
12986
12987 2006-11-28  Bruno Haible  <bruno@clisp.org>
12988
12989         * m4/ptrdiff_max.m4: Remove file.
12990
12991 2006-11-21  Bruno Haible  <bruno@clisp.org>
12992
12993         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
12994         _AC_COMPUTE_INT.
12995         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
12996         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
12997         _AC_COMPUTE_INT.
12998         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
12999         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
13000         _AC_COMPUTE_INT.
13001         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
13002
13003 2006-11-28  Jim Meyering  <jim@meyering.net>
13004
13005         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
13006         warning from "gcc -Wshadow" about shadowing the builtin.
13007
13008 2006-11-27  Bruno Haible  <bruno@clisp.org>
13009
13010         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
13011         _AC_COMPUTE_INT.
13012         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
13013
13014 2006-11-27  Bruno Haible  <bruno@clisp.org>
13015             Paul Eggert  <eggert@cs.ucla.edu>
13016
13017         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
13018
13019 2006-11-26  Bruno Haible  <bruno@clisp.org>
13020
13021         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
13022         noinst_LTLIBRARIES.
13023
13024 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
13025             Bruno Haible  <bruno@clisp.org>
13026
13027         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
13028         if compiling with "gcc -ansi".
13029
13030 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
13031
13032         Fix some incompatibilities with gcc -ansi -pedantic.
13033         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
13034         if compiling pedantically with GCC, unless it's C99 or later.
13035         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
13036         it mishandles gcc -ansi -pedantic as well.
13037         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
13038         if gcc -pedantic.
13039         * lib/regexec.c (check_node_accept_bytes): Don't use auto
13040         initializers for struct if -pedantic, unless it's C99 or later.
13041
13042 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
13043
13044         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
13045         Don't close an fd more than once. Identical atimes indicate
13046         success, not failure.
13047
13048 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
13049
13050         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
13051
13052 2006-11-23  Jim Meyering  <jim@meyering.net>
13053
13054         * build-aux/announce-gen: New file.  From coreutils.
13055
13056 2006-11-22  Jim Meyering  <jim@meyering.net>
13057
13058         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
13059         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
13060         (fts_read): Use a temporary to narrow the overused st_size member
13061         before using it in a switch statement.  Reported by Matthew Woehlke.
13062
13063         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
13064         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
13065
13066 2006-11-20  Bruno Haible  <bruno@clisp.org>
13067
13068         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
13069         changequote instead of pairs of brackets.
13070         Reported by Andreas Schwab <schwab@suse.de>.
13071
13072 2006-11-21  Jim Meyering  <jim@meyering.net>
13073
13074         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
13075         so as to remain compatible with older compilers.
13076         Patch from Michael Deutschmann.
13077
13078 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
13079
13080         * MODULES.html.sh (File system functions): Add openat.
13081
13082         * lib/openat.h (rpl_fstatat): New macro, if
13083         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
13084         (fstatat): Define to rpl_fstatat under the same conditions,
13085         unless COMPILING_FSTATAT.
13086         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
13087         seems to have the bug.
13088         * lib/fstatat.c: New file.
13089         * modules/openat (Files): Add it.
13090
13091 2006-11-20  Bruno Haible  <bruno@clisp.org>
13092
13093         * Makefile: New file.
13094
13095 2006-11-20  Jim Meyering  <jim@meyering.net>
13096
13097         The beginnings of syntax-related checks for gnulib.
13098         * lib/Makefile: New file.
13099         * lib/t-idcache: New script.  Ensure that the two halves of
13100         idcache.c stay in sync.
13101
13102         * lib/idcache.c: Adjust comments in user- and group- portions to
13103         be more accurate, and to be consistent with one another.
13104
13105 2006-11-20  Jim Meyering  <jim@meyering.net>
13106
13107         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
13108         continue using the flexible array member (thus, this module performs
13109         half as many malloc calls), with the addition that...
13110         (getgroup, getuser): Consistently record a non-match via an empty
13111         "name" string, and map an empty string match to a NULL return value.
13112         * modules/idcache (Depends-on): Re-add flexmember.
13113
13114         * lib/idcache.c (getuser): Remove all uses of the register keyword.
13115         (getuidbyname, getgroup, getgidbyname): Likewise.
13116
13117         Use cleaner syntax: NULL rather than 0.
13118         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
13119
13120 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
13121
13122         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
13123         It mishandled the case where the group was missing.
13124         Problem reported by Greg Schafer.
13125         * modules/idcache: Likewise.
13126
13127 2006-11-18  Jim Meyering  <jim@meyering.net>
13128
13129         * check-module (%exempt_header): Add exception for some
13130         conditionally-included headers.
13131
13132         * modules/i-ring (Depends-on): Add verify.
13133         (License): Change to LGPL.
13134
13135 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
13136
13137         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
13138         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
13139         and inttostr.h.  Use snprintf rather than uinttostr, so that
13140         LGPLed code doesn't depend on GPLed.
13141
13142 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
13143
13144         * modules/inline (License): Change from GPL to LGPL.
13145
13146 2006-11-17  Jim Meyering  <jim@meyering.net>
13147
13148         * modules/d-type (License): Switch to LGPL.
13149
13150 2006-11-15  Bruno Haible  <bruno@clisp.org>
13151
13152         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
13153
13154 2006-11-15  Eric Blake  <ebb9@byu.net>
13155
13156         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
13157         the module dependency.
13158
13159 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13160             Bruno Haible  <bruno@clisp.org>
13161
13162         * gnulib-tool (func_create_testdir): Add license consistency check.
13163
13164 2006-11-15  Eric Blake  <ebb9@byu.net>
13165
13166         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
13167         random "(cached)" in configure output.
13168
13169 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13170
13171         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
13172         test for conforming inttypes.h is both announced and cached.
13173
13174         * MODULES.html.sh (seen_modules, seen_files): New variables.
13175         (func_module): Rewrite to use a few less gnulib-tool and sed
13176         invocations.  Avoid a couple of quadratic algorithms for ...
13177         (missed_modules, missed_files): ... these, with ...
13178         (func_append, func_tmpdir): ... these new functions, from
13179         gnulib-tool.  Analogously, install traps for cleanup.
13180
13181         * tests/test-gc.c (main): Remove unused variables.
13182         * tests/test-read-file.c: Include stdlib.h, for 'free'.
13183
13184 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
13185
13186         * modules/inttostr (License): Change to LGPL.
13187
13188 2006-11-14  Eric Blake  <ebb9@byu.net>
13189
13190         * modules/tempname (License): Change to LGPL.
13191
13192 2006-11-14  Eric Blake  <ebb9@byu.net>
13193
13194         * doc/functions.texi (Function Portability): *printf functions on
13195         Cygwin now understand all POSIX size specifiers.
13196
13197 2006-11-14  Bruno Haible  <bruno@clisp.org>
13198
13199         * modules/c-ctype (License): Change to LGPL.
13200
13201 2006-11-12  Bruno Haible  <bruno@clisp.org>
13202
13203         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
13204         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
13205         for GNOME libraries, for which the include files are installed in
13206         subdirectories of $prefix/include.
13207
13208 2006-11-12  Bruno Haible  <bruno@clisp.org>
13209
13210         * m4/lib-link.m4: Require at least autoconf-2.54.
13211         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
13212         name to underscores for the --with option.
13213
13214 2006-11-13  Bruno Haible  <bruno@clisp.org>
13215
13216         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
13217         the tests directory.
13218         Reported by Ralf Wildenhues.
13219
13220 2006-11-13  Bruno Haible  <bruno@clisp.org>
13221
13222         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
13223         (func_emit_initmacro_end): Undo the override here.
13224         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
13225         Works around the famous automake error in coreutils.
13226
13227 2006-11-13  Eric Blake  <ebb9@byu.net>
13228
13229         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
13230         element, not its node.
13231
13232 2006-11-12  Bruno Haible  <bruno@clisp.org>
13233
13234         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
13235         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
13236
13237 2006-11-12  Bruno Haible  <bruno@clisp.org>
13238
13239         * gnulib-tool: New option --local-symlink.
13240         (func_usage): Document it.
13241         (lsymbolic): New variable.
13242         (func_import, func_create_testdir): If --symlink was not specified,
13243         test whether --local-symlink was specified and the file comes from
13244         the local_gnulib_dir.
13245
13246 2006-11-12  Bruno Haible  <bruno@clisp.org>
13247
13248         * gnulib-tool (func_ln): New function.
13249         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
13250
13251 2006-11-12  Bruno Haible  <bruno@clisp.org>
13252
13253         Finish support for source files in subdirectories.
13254         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
13255         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
13256         AUTOMAKE_OPTIONS.
13257         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
13258
13259 2006-11-12  Bruno Haible  <bruno@clisp.org>
13260
13261         * gnulib-tool (func_get_automake_snippet): Synthesize also an
13262         EXTRA_lib_SOURCES augmentation.
13263         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
13264
13265 2006-11-12  Jim Meyering  <jim@meyering.net>
13266
13267         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
13268         file descriptors.  This also averts a failure on systems with
13269         native openat support when a traversed directory lacks "x" access.
13270         * lib/fts_.h: Include "i-ring.h"
13271         (struct FTS) [fts_fd_ring]: New member.
13272         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
13273         (FCHDIR): Add parentheses.
13274         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
13275         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
13276         When descending, rather than simply closing the previous
13277         fts_cwd_fd value, push that file descriptor onto the ring.
13278         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
13279         (fts_open): Initialize the new fd_ring member.
13280         (fts_close): Clear the ring.
13281         (fts_safe_changedir): When possible, use our new fd_ring to skip
13282         the diropen and fstat and dev/ino comparison that would normally
13283         accompany a virtual `chdir ("..")'.
13284
13285         * modules/fts (Depends-on): Add i-ring.
13286         * modules/i-ring: New module.
13287         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
13288         * m4/i-ring.m4: New file.
13289
13290 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13291
13292         * gnulib-tool (func_create_testdir): Fix replacement of
13293         `build-aux' in configure.ac.  Run autotools in gltests
13294         subdirectory.
13295         (func_create_testdir, func_create_megatestdir, test): There is
13296         no need for '--force' in most autotool invocations in a new
13297         tree.  Actually fail the whole test if any of the tools, or the
13298         configure or make stages fail.
13299
13300         Sync from Automake.
13301         * build-aux/gnupload: Revert last change.  Add pointer to upload
13302         instructions of the GNU Maintenance Instructions.
13303         Suggestion by Karl Berry.
13304
13305 2006-11-10  Jim Meyering  <jim@meyering.net>
13306
13307         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
13308
13309 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
13310
13311         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
13312         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
13313         (bind_textdomain_codeset) [! ENABLE_NLS]:
13314         Evaluate all the arguments.  That way, callers get compatible behavior
13315         if the arguments have side effects.  Also, it avoids some GCC
13316         diagnostics in some cases; Joel E. Denny reported problems when Bison
13317         was configured with --enable-gcc-warnigs.
13318
13319 2006-11-10  Jim Meyering  <jim@meyering.net>
13320
13321         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
13322         relevant options in CFLAGS (like -O, -fno-inline) are taken into
13323         account.
13324
13325 2006-11-10  Jim Meyering  <jim@meyering.net>
13326
13327         * modules/inline: New file/module.
13328         * modules/xalloc (Files): Remove m4/inline.m4.
13329         (Depends-on): Add inline, instead.
13330         * modules/oset: Likewise.
13331         * modules/list: Likewise.
13332
13333 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
13334
13335         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
13336         Problem reported by Matthew Woehlke.
13337
13338 2006-11-09  Bruno Haible  <bruno@clisp.org>
13339
13340         * lib/tempname.c (gen_tempname): Remove variant that invokes
13341         __gen_tempname.
13342         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
13343         __gen_tempname.
13344
13345 2006-11-08  Bruno Haible  <bruno@clisp.org>
13346
13347         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
13348         to 'yes' instead of 'cross-compiling'.
13349
13350 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
13351
13352         * lib/quotearg.h (quotearg_free): New decl.
13353         * lib/quotearg.c (quotearg_free): New function.
13354         (slot0, nslots, slotvec0, slotvec):
13355         Now file-scope so that quotearg_free can get at them.
13356
13357 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13358
13359         Sync from Automake.
13360         * build-aux/gnupload: Add missing 'gnu' to example URL.
13361         Report by Karl Berry.
13362
13363 2006-11-08  Bruno Haible  <bruno@clisp.org>
13364
13365         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
13366         Suggested by Paul Eggert.
13367
13368 2006-11-08  Jim Meyering  <jim@meyering.net>
13369
13370         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
13371         It's already included if !_LIBC.
13372         (fts_safe_changedir): Add a comment.
13373
13374 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
13375
13376         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
13377         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
13378         Matthew Woehlke.
13379
13380         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
13381         definitions up, to avoid colliding with change below.
13382         (static_inline) [HAVE_INLINE]: New macro.
13383         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
13384         Provide extern decls when !HAVE_INLINE.  Do not define unless
13385         static_inline is defined, either by us or by xmalloc.c.  Use
13386         static_inline rather than static inline.
13387         (XCALLOC): Optimize sizeof(T) = 1 case.
13388         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
13389
13390 2006-11-07  Bruno Haible  <bruno@clisp.org>
13391
13392         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
13393         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
13394         AC_C_INLINE.
13395         * modules/xalloc (Files): Add m4/inline.m4.
13396
13397 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13398
13399         * README: Fix typo.
13400         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
13401         (Miscellanous Notes): ...from this.
13402
13403 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
13404
13405         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
13406         Mention that offsetof should be used instead of sizeof.
13407         From Bruno Haible.
13408
13409 2006-11-07  Bruno Haible  <bruno@clisp.org>
13410
13411         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
13412
13413 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
13414
13415         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
13416         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
13417         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
13418         (gl_tree_add_before, gl_tree_add_after):
13419         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
13420         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
13421         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
13422         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
13423         (gl_linked_add_after, gl_linked_add_at): Likewise.
13424         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
13425         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
13426         (gl_tree_add_before, gl_tree_add_after): Likewise.
13427         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
13428         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
13429         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
13430
13431 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13432
13433         * lib/gl_oset.h: Use C comment style, not C++ comment style.
13434
13435 2006-11-06  Bruno Haible  <bruno@clisp.org>
13436
13437         * m4/inline.m4: New file.
13438         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
13439         * modules/list (Files): Add m4/inline.m4.
13440         * modules/oset (Files): Likewise.
13441
13442 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
13443
13444         * lib/idcache.c: Include <stddef.h>, for offsetof.
13445         (struct userid.name): Change from char * to a flexible array member.
13446         All uses changed.
13447         * modules/idcache (Depends-on): Add flexmember.
13448
13449         * MODULES.html.sh (Core language properties): New module flexmember.
13450         * modules/flexmember, m4/flexmember.m4: New files.
13451
13452         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
13453         inline functions that are identical with the old xnmalloc_inline,
13454         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
13455         that we can avoid some unnecessary integer multiplications and
13456         divisions in the common case where the element size is known at
13457         compile time.
13458         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
13459         needed.
13460         (xnboundedmalloc): Remove.
13461         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
13462         arguments, for consistency with rest of this header.
13463         (xcharalloc): Rewrite using XNMALLOC.
13464         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
13465         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
13466         versions have been moved to lib/xalloc.h and renamed to be the
13467         non-*_inline versions.
13468         (xmalloc, xrealloc): Implement without reference to the xnmalloc
13469         and xnrealloc functions, since those functions are now inline and
13470         now call us.
13471         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
13472         renaming described above.
13473         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
13474         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
13475         captures the dependency in AC_C_INLINE.
13476
13477         New module canonicalize-lgpl, proposed by Charles Wilson in
13478         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
13479         with a few small changes afterwards.
13480         * MODULES.html.sh (File system functions): New module
13481         canonicalize-lgpl.
13482         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
13483         and canonicalize_file_name.
13484         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
13485         * modules/canonicalize-lgpl: New files.
13486
13487 2006-11-05  Bruno Haible  <bruno@clisp.org>
13488
13489         * gnulib-tool (func_import, func_create_testdir): Create directories
13490         also for files in subdirectories of lib/.
13491
13492 2006-11-05  Bruno Haible  <bruno@clisp.org>
13493
13494         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
13495         ANSI C compliant.
13496
13497 2006-11-03  Bruno Haible  <bruno@clisp.org>
13498
13499         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
13500         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
13501         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
13502         (xnboundedmalloc): New inline function.
13503         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
13504         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
13505         xmalloc.
13506         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
13507         xmalloc.
13508         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
13509         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
13510         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
13511         xmalloc.
13512         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
13513         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
13514         xmalloc.
13515         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
13516         gl_tree_add_after): Use XMALLOC instead of xmalloc.
13517         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
13518         xmalloc.
13519         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
13520         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
13521         gl_tree_add_after): Use XMALLOC instead of xmalloc.
13522         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
13523         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
13524         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
13525         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
13526
13527 2006-11-03  Bruno Haible  <bruno@clisp.org>
13528
13529         * lib/c-ctype.h [C++]: Define functions without name mangling.
13530         * lib/fwriteerror.h [C++]: Likewise.
13531         * lib/gcd.h [C++]: Likewise.
13532         * lib/linebreak.h [C++]: Likewise.
13533
13534 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
13535
13536         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
13537         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
13538         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
13539         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
13540         Check for functions and headers just once.
13541         Check for declaration of canonicalize_file_name.
13542         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
13543
13544 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
13545
13546         * gnulib-tool (func_import): Fix typo in actioncmd.
13547
13548 2006-11-02  Bruno Haible  <bruno@clisp.org>
13549
13550         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
13551         newline sequence in the Makefile.am snippet as a space, like "make"
13552         does.
13553         Reported by Roger Persson <perrog@gmail.com>.
13554
13555 2006-11-01  Bruno Haible  <bruno@clisp.org>
13556
13557         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
13558         already declared in <string.h>.
13559         * lib/strcase.h (strncasecmp): Don't declare it if yes.
13560
13561 2006-11-01  Bruno Haible  <bruno@clisp.org>
13562
13563         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
13564         * lib/strcase.h: Include <string.h>.
13565         (strcasecmp): Define to rpl_strcasecmp here.
13566
13567 2006-11-01  Bruno Haible  <bruno@clisp.org>
13568
13569         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
13570
13571 2006-11-01  Eric Blake  <ebb9@byu.net>
13572
13573         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
13574
13575         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
13576
13577 2006-10-29  Bruno Haible  <bruno@clisp.org>
13578
13579         Make it compile in C++ mode.
13580         * lib/full-write.c (full_rw): Add a cast.
13581
13582 2006-11-01  Bruno Haible  <bruno@clisp.org>
13583
13584         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
13585         be POSIX compliant.
13586         Reported by Roger Persson <perrog@gmail.com>.
13587
13588 2006-11-01  Eric Blake  <ebb9@byu.net>
13589
13590         * lib/getopt_.h: Fix comments.
13591
13592 2006-10-31  Eric Blake  <ebb9@byu.net>
13593
13594         * modules/tmpdir (Depends-on): Add sys_stat.
13595         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
13596         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
13597         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
13598         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
13599         tempname.
13600
13601 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
13602
13603         Avoid some C++ diagnostics reported by Bruno Haible.
13604         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
13605         xmalloc.
13606         (quotearg_alloc): Use xcharalloc rather than xmalloc.
13607         (struct slotvec): Move to top level.
13608         (quotearg_n_options): Rewrite to avoid xmalloc.
13609         * lib/xalloc.h (xcharalloc): New function.
13610         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
13611         [defined __cplusplus]: Add function template that provides result
13612         type propagation.  This part of the change is from Bruno Haible.
13613
13614 2006-10-29  Bruno Haible  <bruno@clisp.org>
13615
13616         Make it compile in C++ mode.
13617         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
13618         * lib/strnlen1.c (strnlen1): Cast memchr result.
13619         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
13620         * lib/clean-temp.c (string_equals, string_hash): Add casts.
13621         (create_temp_dir): Rename local variable 'template'.
13622         (compile_csharp_using_sscli): Add cast.
13623         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
13624         * lib/findprog.c (find_in_path): Likewise.
13625         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
13626         * lib/wait-process.c (register_slave_subprocess): Likewise.
13627
13628 2006-10-22  Bruno Haible  <bruno@clisp.org>
13629
13630         * modules/tsearch: New file.
13631         * lib/tsearch.h: New file.
13632         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
13633         * m4/tsearch.m4: New file.
13634         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
13635
13636 2006-10-29  Eric Blake  <ebb9@byu.net>
13637
13638         * lib/arcfour.c: Assume config.h.
13639         * lib/arctwo.c: Likewise.
13640         * lib/base64.c: Likewise.
13641         * lib/check-version.c: Likewise.
13642         * lib/crc.c: Likewise.
13643         * lib/des.c: Likewise.
13644         * lib/gc-gnulib.c: Likewise.
13645         * lib/gc-libgcrypt.c: Likewise.
13646         * lib/gc-pbkdf2-sha1.c: Likewise.
13647         * lib/getaddrinfo.c: Likewise.
13648         * lib/getdelim.c: Likewise.
13649         * lib/getline.c: Likewise.
13650         * lib/hmac-md5.c: Likewise.
13651         * lib/hmac-sha1.c: Likewise.
13652         * lib/iconvme.c: Likewise.
13653         * lib/md2.c: Likewise.
13654         * lib/md4.c: Likewise.
13655         * lib/memxor.c: Likewise.
13656         * lib/read-file.c: Likewise.
13657         * lib/readline.c: Likewise.
13658         * lib/rijndael-alg-fst.c: Likewise.
13659         * lib/rijndael-api-fst.c: Likewise.
13660         * lib/xgetdomainname.c: Likewise.
13661
13662 2006-10-28  Eric Blake  <ebb9@byu.net>
13663
13664         * lib/xstrndup.c: Assume config.h.
13665
13666 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
13667
13668         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
13669         stat-macros.h is now for our own macros, whereas stat_h is for
13670         macros in the <sys/stat.h> name space.
13671         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
13672         (STAT_MACROS_H): Remove.
13673         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
13674         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
13675         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
13676         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
13677         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
13678         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
13679         Move these macros to ...
13680         * lib/stat_.h: here.  Don't include stat-macros.h.
13681         * lib/canonicalize.c: Don't include stat-macros.h.
13682         * lib/chown.c: Likewise.
13683         * lib/euidaccess.c: Likewise.
13684         * lib/file-type.c: Likewise.
13685         * lib/filemode.c: Likewise.
13686         * lib/glob.c: Likewise.
13687         * lib/isapipe.c: Likewise.
13688         * lib/lchown.c: Likewise.
13689         * lib/lstat.c: Likewise.
13690         * lib/mkdir-p.c: Likewise.
13691         * lib/rmdir.c: Likewise.
13692         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
13693         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
13694         unless mkdir isn't declared, to speed up 'configure'.
13695         Always create sys/stat.h, since it's unlikely any real sys/stat.h
13696         would define all the S_* symbols.
13697         * modules/canonicalize (Depends-on):
13698         Depend on sys_stat, not stat-macros.
13699         * modules/chown: Likewise.
13700         * modules/euidaccess: Likewise.
13701         * modules/filemode: Likewise.
13702         * modules/file-type: Likewise.
13703         * modules/glob: Likewise.
13704         * modules/isapipe: Likewise.
13705         * modules/lchown: Likewise.
13706         * modules/lstat: Likewise.
13707         * modules/mkancesdirs: Likewise.
13708         * modules/rmdir: Likewise.
13709         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
13710         * modules/modechange: Likewise.
13711         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
13712         (configure.ac): Remove gl_STAT_MACROS.
13713         * modules/sys_stat (Depends-on): Remove stat-macros.
13714
13715 2006-10-27  Bruno Haible  <bruno@clisp.org>
13716
13717         * m4/signed.m4: Remove file.
13718         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
13719         invocation.
13720         * modules/vasnprintf (Files): Remove m4/signed.m4.
13721
13722 2006-10-27  Bruno Haible  <bruno@clisp.org>
13723
13724         Update to GNU gettext 0.16.
13725         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
13726         m4/inttypes-h.m4, m4/signed.m4.
13727         * m4/gettext.m4: Update to GNU gettext 0.16.
13728         * m4/intl.m4: New file, from GNU gettext.
13729         * m4/intldir.m4: New file, from GNU gettext.
13730         * config/srclist.txt: Update
13731
13732 2006-10-27  Eric Blake  <ebb9@byu.net>
13733
13734         * MODULES.html.sh: Document tempname.
13735         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
13736         dependencies.
13737         (Files): Move lib/tempname.c...
13738         * modules/tempname: ...to this new module.
13739         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
13740         (gl_PREREQ_TEMPNAME): Move...
13741         * m4/tempname.m4: ...to this new file.
13742         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
13743         * modules/sys_stat (Depends-on): Add stat-macros.
13744         * lib/stat_.h (includes): Pick up stat macros.
13745         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
13746         if stat macros are broken.
13747         * lib/tempname.c (includes): No need to include "stat-macros.h".
13748         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
13749         (direxists, __path_search) [!_LIBC]: Don't compile these in
13750         gnulib; the tmpdir module covers that.
13751         * lib/tempname.h: New file.
13752
13753 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
13754
13755         * COPYING: Explain how gnulib-tool converts licence headers.
13756         Almost all wording by Eric Blake.
13757
13758 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
13759
13760         * lib/mbchar.h (is_basic_table): Make read-only.
13761         * lib/mbchar.c (is_basic_table): Likewise.
13762         Reported by John Darrington.
13763
13764 2006-10-25  Bruno Haible  <bruno@clisp.org>
13765
13766         * lib/progname.h (set_program_name): Undefine before defining.
13767
13768 2006-10-25  Bruno Haible  <bruno@clisp.org>
13769
13770         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
13771         false for non-gcc C++ compilers.
13772         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
13773
13774 2006-10-24  Bruno Haible  <bruno@clisp.org>
13775
13776         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
13777         iconv implementations like Irix iconv.
13778
13779 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
13780
13781         * modules/vararrays: New file.
13782         * m4/vararrays.m4: New file, taken from diffutils.
13783         * MODULES.html.sh: New module vararrays.
13784
13785 2006-10-24  Karl Berry  <karl@gnu.org>
13786
13787         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
13788         Don't call GNU Unix.
13789
13790 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13791
13792         * users.txt: Add Libtool.
13793
13794         Sync from Libtool:
13795
13796         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
13797
13798         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
13799         to gnulib's policy of including config.h unconditionally.
13800
13801 2006-10-24  Bruno Haible  <bruno@clisp.org>
13802
13803         * modules/wcwidth (Files): Add m4/wint_t.m4.
13804         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
13805         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
13806
13807 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
13808
13809         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
13810         to pacify GCC with some -W flags enabled.  Problem reported by
13811         Bruno Haible.
13812
13813 2006-10-24  Jim Meyering  <jim@meyering.net>
13814
13815         * MODULES.html.sh: Remove uinttostr.  It's not a module.
13816         Reported by Karl Berry.
13817
13818 2006-10-23  Bruno Haible  <bruno@clisp.org>
13819
13820         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
13821
13822 2006-10-24  Bruno Haible  <bruno@clisp.org>
13823
13824         * lib/gl_list.h: Use C comment style, not C++ comment style.
13825
13826 2006-10-23  Eric Blake  <ebb9@byu.net>
13827
13828         * lib/getaddrinfo.c (includes): Add missing include.
13829
13830 2006-10-23  Bruno Haible  <bruno@clisp.org>
13831             Paul Eggert  <eggert@cs.ucla.edu>
13832
13833         Ability to rename obstack_free.
13834         * lib/obstack.h (__obstack_free): New macro. Declare instead of
13835         obstack_free.
13836         (obstack_free): Invoke the __obstack_free macro.
13837         * lib/obstack.c (obstack_free): Use __obstack_free macro.
13838
13839 2006-10-23  Bruno Haible  <bruno@clisp.org>
13840             Paul Eggert  <eggert@cs.ucla.edu>
13841
13842         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
13843         __argc, __argv from the declaration. (They are defined as macros on
13844         mingw.)
13845
13846 2006-10-22  Bruno Haible  <bruno@clisp.org>
13847
13848         * doc/gnulib-intro.texi: New file.
13849         * doc/gnulib.texi: Include it.
13850
13851 2006-10-21  Bruno Haible  <bruno@clisp.org>
13852
13853         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
13854         "Introduction", "Miscellanous Notes", "Particular Modules".
13855
13856 2006-10-21  Bruno Haible  <bruno@clisp.org>
13857
13858         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
13859         Change mostlyclean-local rule to avoid sh syntax error from bash
13860         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
13861
13862 2006-10-23  Jim Meyering  <jim@meyering.net>
13863
13864         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
13865         in place of snprintf.
13866
13867         * modules/inttostr (Files): Add lib/uinttostr.c.
13868         * lib/uinttostr.c (inttostr): New file/function.
13869         * lib/inttostr.h (uinttostr): Declare.
13870         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
13871         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
13872         Add uinttostr.
13873         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
13874
13875 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
13876
13877         * lib/canonicalize.c (ELOOP): Define if not already defined.
13878         Problem reported by Bruno Haible in
13879         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
13880
13881 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
13882
13883         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
13884         Problem reported by Perry Smith and Ville Laurikari.
13885
13886         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
13887         uses.
13888
13889 2006-10-19  Bruno Haible  <bruno@clisp.org>
13890
13891         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
13892         for mingw.
13893
13894 2006-10-19  Bruno Haible  <bruno@clisp.org>
13895
13896         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
13897         Needed for mingw.
13898
13899 2006-10-19  Bruno Haible  <bruno@clisp.org>
13900
13901         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
13902
13903 2006-10-19  Bruno Haible  <bruno@clisp.org>
13904
13905         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
13906         it.
13907
13908 2006-10-19  Bruno Haible  <bruno@clisp.org>
13909
13910         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
13911         invocation.
13912
13913 2006-10-19  Bruno Haible  <bruno@clisp.org>
13914
13915         * gnulib-tool (func_create_testdir): Don't include ftruncate and
13916         mountlist by default.
13917
13918 2006-10-16  Bruno Haible  <bruno@clisp.org>
13919
13920         * lib/c-strstr.c: Include c-strstr.h.
13921
13922 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
13923
13924         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
13925         in a slash.
13926
13927 2006-10-18  Bruno Haible  <bruno@clisp.org>
13928
13929         * lib/lock.h [C++]: Wrap definitions in extern "C".
13930
13931 2006-10-18  Bruno Haible  <bruno@clisp.org>
13932
13933         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
13934         gl_LIBOBJS list.
13935
13936 2006-10-18  Bruno Haible  <bruno@clisp.org>
13937
13938         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
13939
13940 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
13941
13942         * lib/xstrtol.h: Include gettext.h.
13943         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
13944         Problem reported by Eric Blake.
13945         * modules/xstrtol (Depends-on): Add gettext-h.
13946
13947 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
13948
13949         * lib/strftime.c (advance): New macro.
13950         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
13951         incomplete type, so you can't add 0 to it.  Problem and patch
13952         reported by Eelco Dolstra for dietlibc.
13953
13954 2006-10-18  Jim Meyering  <jim@meyering.net>
13955
13956         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
13957         type for a local, and rename it: s/up/user_proc/.
13958
13959 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
13960
13961         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
13962         READ_UTMP_USER_PROCESS.
13963         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
13964
13965 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
13966
13967         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
13968         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
13969
13970 2006-10-17  Eric Blake  <ebb9@byu.net>
13971
13972         * lib/sigprocmask.c (sigprocmask): Fix typo.
13973
13974         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
13975
13976         * modules/clean-temp (Makefile.am): Don't add to make output...
13977         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
13978         config.h.
13979
13980 2006-10-17  Bruno Haible  <bruno@clisp.org>
13981
13982         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
13983         differently if DEFAULT_TEXT_DOMAIN is set.
13984
13985 2006-10-16  Bruno Haible  <bruno@clisp.org>
13986
13987         * lib/clean-temp.c: Include fwriteerror.h.
13988
13989 2006-10-16  Bruno Haible  <bruno@clisp.org>
13990
13991         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
13992
13993 2006-10-16  Bruno Haible  <bruno@clisp.org>
13994
13995         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
13996         * lib/sigprocmask.h: Include <sys/types.h>.
13997         (sigset_t): Use the system's definition if present.
13998
13999 2006-10-17  Eric Blake  <ebb9@byu.net>
14000
14001         * lib/xvasprintf.c (includes): Assume config.h.
14002         * lib/xasprintf.c (includes): Likewise.
14003
14004 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
14005
14006         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
14007         at least as wide as intmax_t.
14008
14009 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
14010
14011         (Imported from Automake.)
14012         * build-aux/gnupload: Update to version 1.1 of directive file.
14013
14014 2006-10-16  Eric Blake  <ebb9@byu.net>
14015
14016         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
14017         match Automake 1.10a.
14018
14019 2006-10-14  Bruno Haible  <bruno@clisp.org>
14020
14021         * modules/sigprocmask: New file.
14022         * lib/sigprocmask.h: New file.
14023         * lib/sigprocmask.c: New file.
14024         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
14025         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
14026         request sigprocmask.o.
14027         (gl_PREREQ_SIGPROCMASK): New macro.
14028         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
14029         (Depends-on): Add sigprocmask.
14030         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
14031         gt_SIGNALBLOCKING. Test for 'raise' only once.
14032         * lib/fatal-signal.c: Include sigprocmask.h.
14033         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
14034         unblock_fatal_signals): Define always.
14035         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
14036         sigprocmask.
14037
14038 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
14039
14040         Sync from Automake.
14041         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
14042         which incorrectly sets the mode of an existing destination
14043         directory.  In some cases the unpatched install-sh could do the
14044         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
14045         system.  We hope this is rare in practice, but it's clearly worth
14046         fixing.  Problem reported by Alex Unleashed in
14047         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
14048         Also, don't bother to check for -m bugs unless we're using -m;
14049         suggested by Stepan Kasal.
14050
14051 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14052
14053         Sync from Automake.
14054         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
14055         `-c' flag, so they appear at the same position as in %FASTDEP%
14056         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
14057         which ignores unknown options only after the first non-option.
14058         Bug report against M4 by Nelson H. F. Beebe.
14059
14060 2006-10-13  Jim Meyering  <jim@meyering.net>
14061
14062         Fix a bug in yesterday's change.
14063         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
14064         p->fts_statp->st_dev would be used uninitialized.
14065         Ensures that we always call fts_stat on the very first entry.
14066         Miklos Szeredi reported that find -xdev stopped working.
14067
14068 2006-10-12  Bruno Haible  <bruno@clisp.org>
14069
14070         * gnulib-tool (func_get_automake_snippet): Append an automatically
14071         computed EXTRA_DIST augmentation.
14072         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
14073         * modules/alloca-opt (Makefile.am): Likewise.
14074         * modules/allocsa (Makefile.am): Likewise.
14075         * modules/arcfour (Makefile.am): Likewise.
14076         * modules/arctwo (Makefile.am): Likewise.
14077         * modules/argmatch (Makefile.am): Likewise.
14078         * modules/argz (Makefile.am): Likewise.
14079         * modules/atexit (Makefile.am): Likewise.
14080         * modules/backupfile (Makefile.am): Likewise.
14081         * modules/byteswap (Makefile.am): Likewise.
14082         * modules/c-strtod (Makefile.am): Likewise.
14083         * modules/c-strtold (Makefile.am): Likewise.
14084         * modules/calloc (Makefile.am): Likewise.
14085         * modules/canon-host (Makefile.am): Likewise.
14086         * modules/canonicalize (Makefile.am): Likewise.
14087         * modules/chdir-long (Makefile.am): Likewise.
14088         * modules/chdir-safer (Makefile.am): Likewise.
14089         * modules/check-version (Makefile.am): Likewise.
14090         * modules/chown (Makefile.am): Likewise.
14091         * modules/cloexec (Makefile.am): Likewise.
14092         * modules/close-stream (Makefile.am): Likewise.
14093         * modules/closeout (Makefile.am): Likewise.
14094         * modules/crc (Makefile.am): Likewise.
14095         * modules/csharpexec (Makefile.am): Likewise.
14096         * modules/cycle-check (Makefile.am): Likewise.
14097         * modules/des (Makefile.am): Likewise.
14098         * modules/dev-ino (Makefile.am): Likewise.
14099         * modules/dirfd (Makefile.am): Likewise.
14100         * modules/dirname (Makefile.am): Likewise.
14101         * modules/dup2 (Makefile.am): Likewise.
14102         * modules/eealloc (Makefile.am): Likewise.
14103         * modules/error (Makefile.am): Likewise.
14104         * modules/euidaccess (Makefile.am): Likewise.
14105         * modules/exclude (Makefile.am): Likewise.
14106         * modules/exitfail (Makefile.am): Likewise.
14107         * modules/fcntl-safer (Makefile.am): Likewise.
14108         * modules/fcntl (Makefile.am): Likewise.
14109         * modules/file-type (Makefile.am): Likewise.
14110         * modules/fileblocks (Makefile.am): Likewise.
14111         * modules/filemode (Makefile.am): Likewise.
14112         * modules/filenamecat (Makefile.am): Likewise.
14113         * modules/fnmatch (Makefile.am): Likewise.
14114         * modules/fopen-safer (Makefile.am): Likewise.
14115         * modules/fpending (Makefile.am): Likewise.
14116         * modules/fprintftime (Makefile.am): Likewise.
14117         * modules/free (Makefile.am): Likewise.
14118         * modules/fsusage (Makefile.am): Likewise.
14119         * modules/ftruncate (Makefile.am): Likewise.
14120         * modules/fts (Makefile.am): Likewise.
14121         * modules/gc-arcfour (Makefile.am): Likewise.
14122         * modules/gc-des (Makefile.am): Likewise.
14123         * modules/gc-hmac-md5 (Makefile.am): Likewise.
14124         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
14125         * modules/gc-md4 (Makefile.am): Likewise.
14126         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
14127         * modules/gc-sha1 (Makefile.am): Likewise.
14128         * modules/gc (Makefile.am): Likewise.
14129         * modules/getaddrinfo (Makefile.am): Likewise.
14130         * modules/getcwd (Makefile.am): Likewise.
14131         * modules/getdelim (Makefile.am): Likewise.
14132         * modules/getdomainname (Makefile.am): Likewise.
14133         * modules/getgroups (Makefile.am): Likewise.
14134         * modules/gethostname (Makefile.am): Likewise.
14135         * modules/gethrxtime (Makefile.am): Likewise.
14136         * modules/getline (Makefile.am): Likewise.
14137         * modules/getloadavg (Makefile.am): Likewise.
14138         * modules/getlogin_r (Makefile.am): Likewise.
14139         * modules/getndelim2 (Makefile.am): Likewise.
14140         * modules/getopt (Makefile.am): Likewise.
14141         * modules/getpagesize (Makefile.am): Likewise.
14142         * modules/getpass-gnu (Makefile.am): Likewise.
14143         * modules/getpass (Makefile.am): Likewise.
14144         * modules/getsubopt (Makefile.am): Likewise.
14145         * modules/gettime (Makefile.am): Likewise.
14146         * modules/gettimeofday (Makefile.am): Likewise.
14147         * modules/getugroups (Makefile.am): Likewise.
14148         * modules/getusershell (Makefile.am): Likewise.
14149         * modules/glob (Makefile.am): Likewise.
14150         * modules/group-member (Makefile.am): Likewise.
14151         * modules/hard-locale (Makefile.am): Likewise.
14152         * modules/hash (Makefile.am): Likewise.
14153         * modules/hmac-md5 (Makefile.am): Likewise.
14154         * modules/hmac-sha1 (Makefile.am): Likewise.
14155         * modules/human (Makefile.am): Likewise.
14156         * modules/idcache (Makefile.am): Likewise.
14157         * modules/imaxabs (Makefile.am): Likewise.
14158         * modules/imaxdiv (Makefile.am): Likewise.
14159         * modules/inet_ntop (Makefile.am): Likewise.
14160         * modules/inet_pton (Makefile.am): Likewise.
14161         * modules/intprops (Makefile.am): Likewise.
14162         * modules/inttostr (Makefile.am): Likewise.
14163         * modules/inttypes (Makefile.am): Likewise.
14164         * modules/isapipe (Makefile.am): Likewise.
14165         * modules/javaversion (Makefile.am): Likewise.
14166         * modules/lchmod (Makefile.am): Likewise.
14167         * modules/lchown (Makefile.am): Likewise.
14168         * modules/localcharset (Makefile.am): Likewise.
14169         * modules/long-options (Makefile.am): Likewise.
14170         * modules/lstat (Makefile.am): Likewise.
14171         * modules/malloc (Makefile.am): Likewise.
14172         * modules/mathl (Makefile.am): Likewise.
14173         * modules/mbchar (Makefile.am): Likewise.
14174         * modules/md2 (Makefile.am): Likewise.
14175         * modules/md4 (Makefile.am): Likewise.
14176         * modules/md5 (Makefile.am): Likewise.
14177         * modules/memcasecmp (Makefile.am): Likewise.
14178         * modules/memchr (Makefile.am): Likewise.
14179         * modules/memcmp (Makefile.am): Likewise.
14180         * modules/memcoll (Makefile.am): Likewise.
14181         * modules/memcpy (Makefile.am): Likewise.
14182         * modules/memmem (Makefile.am): Likewise.
14183         * modules/memmove (Makefile.am): Likewise.
14184         * modules/mempcpy (Makefile.am): Likewise.
14185         * modules/memrchr (Makefile.am): Likewise.
14186         * modules/memset (Makefile.am): Likewise.
14187         * modules/memxor (Makefile.am): Likewise.
14188         * modules/mkancesdirs (Makefile.am): Likewise.
14189         * modules/mkdir-p (Makefile.am): Likewise.
14190         * modules/mkdir (Makefile.am): Likewise.
14191         * modules/mkdtemp (Makefile.am): Likewise.
14192         * modules/mkstemp (Makefile.am): Likewise.
14193         * modules/mktime (Makefile.am): Likewise.
14194         * modules/modechange (Makefile.am): Likewise.
14195         * modules/mountlist (Makefile.am): Likewise.
14196         * modules/nanosleep (Makefile.am): Likewise.
14197         * modules/obstack (Makefile.am): Likewise.
14198         * modules/openat (Makefile.am): Likewise.
14199         * modules/pagealign_alloc (Makefile.am): Likewise.
14200         * modules/pathmax (Makefile.am): Likewise.
14201         * modules/physmem (Makefile.am): Likewise.
14202         * modules/poll (Makefile.am): Likewise.
14203         * modules/posixtm (Makefile.am): Likewise.
14204         * modules/posixver (Makefile.am): Likewise.
14205         * modules/putenv (Makefile.am): Likewise.
14206         * modules/quote (Makefile.am): Likewise.
14207         * modules/quotearg (Makefile.am): Likewise.
14208         * modules/raise (Makefile.am): Likewise.
14209         * modules/read-file (Makefile.am): Likewise.
14210         * modules/readline (Makefile.am): Likewise.
14211         * modules/readlink (Makefile.am): Likewise.
14212         * modules/readtokens (Makefile.am): Likewise.
14213         * modules/readutmp (Makefile.am): Likewise.
14214         * modules/realloc (Makefile.am): Likewise.
14215         * modules/regex (Makefile.am): Likewise.
14216         * modules/rename-dest-slash (Makefile.am): Likewise.
14217         * modules/rename (Makefile.am): Likewise.
14218         * modules/rijndael (Makefile.am): Likewise.
14219         * modules/rmdir (Makefile.am): Likewise.
14220         * modules/rpmatch (Makefile.am): Likewise.
14221         * modules/safe-read (Makefile.am): Likewise.
14222         * modules/safe-write (Makefile.am): Likewise.
14223         * modules/same-inode (Makefile.am): Likewise.
14224         * modules/same (Makefile.am): Likewise.
14225         * modules/save-cwd (Makefile.am): Likewise.
14226         * modules/savedir (Makefile.am): Likewise.
14227         * modules/setenv (Makefile.am): Likewise.
14228         * modules/settime (Makefile.am): Likewise.
14229         * modules/sha1 (Makefile.am): Likewise.
14230         * modules/sig2str (Makefile.am): Likewise.
14231         * modules/snprintf (Makefile.am): Likewise.
14232         * modules/stat-macros (Makefile.am): Likewise.
14233         * modules/stat-time (Makefile.am): Likewise.
14234         * modules/stdbool (Makefile.am): Likewise.
14235         * modules/stdint (Makefile.am): Likewise.
14236         * modules/stdlib-safer (Makefile.am): Likewise.
14237         * modules/stpcpy (Makefile.am): Likewise.
14238         * modules/stpncpy (Makefile.am): Likewise.
14239         * modules/strcase (Makefile.am): Likewise.
14240         * modules/strcasestr (Makefile.am): Likewise.
14241         * modules/strchrnul (Makefile.am): Likewise.
14242         * modules/strcspn (Makefile.am): Likewise.
14243         * modules/strdup (Makefile.am): Likewise.
14244         * modules/strerror (Makefile.am): Likewise.
14245         * modules/strftime (Makefile.am): Likewise.
14246         * modules/strndup (Makefile.am): Likewise.
14247         * modules/strnlen (Makefile.am): Likewise.
14248         * modules/strpbrk (Makefile.am): Likewise.
14249         * modules/strsep (Makefile.am): Likewise.
14250         * modules/strstr (Makefile.am): Likewise.
14251         * modules/strtod (Makefile.am): Likewise.
14252         * modules/strtoimax (Makefile.am): Likewise.
14253         * modules/strtok_r (Makefile.am): Likewise.
14254         * modules/strtol (Makefile.am): Likewise.
14255         * modules/strtoll (Makefile.am): Likewise.
14256         * modules/strtoul (Makefile.am): Likewise.
14257         * modules/strtoull (Makefile.am): Likewise.
14258         * modules/strtoumax (Makefile.am): Likewise.
14259         * modules/strverscmp (Makefile.am): Likewise.
14260         * modules/sys_socket (Makefile.am): Likewise.
14261         * modules/sys_stat (Makefile.am): Likewise.
14262         * modules/sysexits (Makefile.am): Likewise.
14263         * modules/time_r (Makefile.am): Likewise.
14264         * modules/timegm (Makefile.am): Likewise.
14265         * modules/timespec (Makefile.am): Likewise.
14266         * modules/tmpfile-safer (Makefile.am): Likewise.
14267         * modules/trim (Makefile.am): Likewise.
14268         * modules/unistd-safer (Makefile.am): Likewise.
14269         * modules/unlinkdir (Makefile.am): Likewise.
14270         * modules/unlocked-io (Makefile.am): Likewise.
14271         * modules/userspec (Makefile.am): Likewise.
14272         * modules/utime (Makefile.am): Likewise.
14273         * modules/utimecmp (Makefile.am): Likewise.
14274         * modules/utimens (Makefile.am): Likewise.
14275         * modules/vasnprintf (Makefile.am): Likewise.
14276         * modules/vasprintf (Makefile.am): Likewise.
14277         * modules/vsnprintf (Makefile.am): Likewise.
14278         * modules/xalloc (Makefile.am): Likewise.
14279         * modules/xgetcwd (Makefile.am): Likewise.
14280         * modules/xnanosleep (Makefile.am): Likewise.
14281         * modules/xreadlink (Makefile.am): Likewise.
14282         * modules/xstrtod (Makefile.am): Likewise.
14283         * modules/xstrtol (Makefile.am): Likewise.
14284         * modules/xstrtold (Makefile.am): Likewise.
14285         * modules/yesno (Makefile.am): Likewise.
14286         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
14287
14288 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
14289
14290         * modules/error (Makefile.am): Distribute files through
14291         EXTRA_DIST, not lib_SOURCES.
14292
14293 2006-10-12  Eric Blake  <ebb9@byu.net>
14294
14295         * modules/error (Makefile.am): Distribute files in /lib.
14296         * modules/obstack (Makefile.am): Likewise.
14297
14298 2006-10-12  Bruno Haible  <bruno@clisp.org>
14299
14300         * modules/acl (Makefile.am): Distribute all files in lib/ through
14301         EXTRA_DIST.
14302         * modules/arcfour (Makefile.am): Likewise.
14303         * modules/arctwo (Makefile.am): Likewise.
14304         * modules/argmatch (Makefile.am): Likewise.
14305         * modules/argz (Makefile.am): Likewise.
14306         * modules/atexit (Makefile.am): Likewise.
14307         * modules/backupfile (Makefile.am): Likewise.
14308         * modules/c-strtod (Makefile.am): Likewise.
14309         * modules/c-strtold (Makefile.am): Likewise.
14310         * modules/calloc (Makefile.am): Likewise.
14311         * modules/canon-host (Makefile.am): Likewise.
14312         * modules/canonicalize (Makefile.am): Likewise.
14313         * modules/chdir-long (Makefile.am): Likewise.
14314         * modules/chdir-safer (Makefile.am): Likewise.
14315         * modules/check-version (Makefile.am): Likewise.
14316         * modules/chown (Makefile.am): Likewise.
14317         * modules/cloexec (Makefile.am): Likewise.
14318         * modules/close-stream (Makefile.am): Likewise.
14319         * modules/closeout (Makefile.am): Likewise.
14320         * modules/crc (Makefile.am): Likewise.
14321         * modules/cycle-check (Makefile.am): Likewise.
14322         * modules/des (Makefile.am): Likewise.
14323         * modules/dirfd (Makefile.am): Likewise.
14324         * modules/dirname (Makefile.am): Likewise.
14325         * modules/dup2 (Makefile.am): Likewise.
14326         * modules/euidaccess (Makefile.am): Likewise.
14327         * modules/exclude (Makefile.am): Likewise.
14328         * modules/exitfail (Makefile.am): Likewise.
14329         * modules/fcntl-safer (Makefile.am): Likewise.
14330         * modules/file-type (Makefile.am): Likewise.
14331         * modules/fileblocks (Makefile.am): Likewise.
14332         * modules/filemode (Makefile.am): Likewise.
14333         * modules/filenamecat (Makefile.am): Likewise.
14334         * modules/fnmatch (Makefile.am): Likewise.
14335         * modules/fopen-safer (Makefile.am): Likewise.
14336         * modules/fpending (Makefile.am): Likewise.
14337         * modules/fprintftime (Makefile.am): Likewise.
14338         * modules/free (Makefile.am): Likewise.
14339         * modules/fsusage (Makefile.am): Likewise.
14340         * modules/ftruncate (Makefile.am): Likewise.
14341         * modules/fts (Makefile.am): Likewise.
14342         * modules/gc (Makefile.am): Likewise.
14343         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
14344         * modules/getaddrinfo (Makefile.am): Likewise.
14345         * modules/getcwd (Makefile.am): Likewise.
14346         * modules/getdelim (Makefile.am): Likewise.
14347         * modules/getdomainname (Makefile.am): Likewise.
14348         * modules/getgroups (Makefile.am): Likewise.
14349         * modules/gethostname (Makefile.am): Likewise.
14350         * modules/gethrxtime (Makefile.am): Likewise.
14351         * modules/getline (Makefile.am): Likewise.
14352         * modules/getloadavg (Makefile.am): Likewise.
14353         * modules/getlogin_r (Makefile.am): Likewise.
14354         * modules/getopt (Makefile.am): Likewise.
14355         * modules/getpass (Makefile.am): Likewise.
14356         * modules/getpass-gnu (Makefile.am): Likewise.
14357         * modules/getsubopt (Makefile.am): Likewise.
14358         * modules/gettime (Makefile.am): Likewise.
14359         * modules/gettimeofday (Makefile.am): Likewise.
14360         * modules/getugroups (Makefile.am): Likewise.
14361         * modules/getusershell (Makefile.am): Likewise.
14362         * modules/glob (Makefile.am): Likewise.
14363         * modules/group-member (Makefile.am): Likewise.
14364         * modules/hard-locale (Makefile.am): Likewise.
14365         * modules/hash (Makefile.am): Likewise.
14366         * modules/hmac-md5 (Makefile.am): Likewise.
14367         * modules/hmac-sha1 (Makefile.am): Likewise.
14368         * modules/human (Makefile.am): Likewise.
14369         * modules/idcache (Makefile.am): Likewise.
14370         * modules/imaxabs (Makefile.am): Likewise.
14371         * modules/imaxdiv (Makefile.am): Likewise.
14372         * modules/inet_ntop (Makefile.am): Likewise.
14373         * modules/inet_pton (Makefile.am): Likewise.
14374         * modules/inttostr (Makefile.am): Likewise.
14375         * modules/isapipe (Makefile.am): Likewise.
14376         * modules/lchown (Makefile.am): Likewise.
14377         * modules/long-options (Makefile.am): Likewise.
14378         * modules/lstat (Makefile.am): Likewise.
14379         * modules/malloc (Makefile.am): Likewise.
14380         * modules/mathl (Makefile.am): Likewise.
14381         * modules/mbchar (Makefile.am): Likewise.
14382         * modules/md2 (Makefile.am): Likewise.
14383         * modules/md4 (Makefile.am): Likewise.
14384         * modules/md5 (Makefile.am): Likewise.
14385         * modules/memcasecmp (Makefile.am): Likewise.
14386         * modules/memchr (Makefile.am): Likewise.
14387         * modules/memcmp (Makefile.am): Likewise.
14388         * modules/memcoll (Makefile.am): Likewise.
14389         * modules/memcpy (Makefile.am): Likewise.
14390         * modules/memmem (Makefile.am): Likewise.
14391         * modules/memmove (Makefile.am): Likewise.
14392         * modules/mempcpy (Makefile.am): Likewise.
14393         * modules/memrchr (Makefile.am): Likewise.
14394         * modules/memset (Makefile.am): Likewise.
14395         * modules/memxor (Makefile.am): Likewise.
14396         * modules/mkancesdirs (Makefile.am): Likewise.
14397         * modules/mkdir (Makefile.am): Likewise.
14398         * modules/mkdir-p (Makefile.am): Likewise.
14399         * modules/mkdtemp (Makefile.am): Likewise.
14400         * modules/mkstemp (Makefile.am): Likewise.
14401         * modules/mktime (Makefile.am): Likewise.
14402         * modules/modechange (Makefile.am): Likewise.
14403         * modules/mountlist (Makefile.am): Likewise.
14404         * modules/nanosleep (Makefile.am): Likewise.
14405         * modules/openat (Makefile.am): Likewise.
14406         * modules/pagealign_alloc (Makefile.am): Likewise.
14407         * modules/physmem (Makefile.am): Likewise.
14408         * modules/poll (Makefile.am): Likewise.
14409         * modules/posixtm (Makefile.am): Likewise.
14410         * modules/posixver (Makefile.am): Likewise.
14411         * modules/putenv (Makefile.am): Likewise.
14412         * modules/quote (Makefile.am): Likewise.
14413         * modules/quotearg (Makefile.am): Likewise.
14414         * modules/raise (Makefile.am): Likewise.
14415         * modules/read-file (Makefile.am): Likewise.
14416         * modules/readline (Makefile.am): Likewise.
14417         * modules/readlink (Makefile.am): Likewise.
14418         * modules/readtokens (Makefile.am): Likewise.
14419         * modules/readutmp (Makefile.am): Likewise.
14420         * modules/realloc (Makefile.am): Likewise.
14421         * modules/regex (Makefile.am): Likewise.
14422         * modules/rename (Makefile.am): Likewise.
14423         * modules/rename-dest-slash (Makefile.am): Likewise.
14424         * modules/rijndael (Makefile.am): Likewise.
14425         * modules/rmdir (Makefile.am): Likewise.
14426         * modules/rpmatch (Makefile.am): Likewise.
14427         * modules/safe-read (Makefile.am): Likewise.
14428         * modules/safe-write (Makefile.am): Likewise.
14429         * modules/same (Makefile.am): Likewise.
14430         * modules/save-cwd (Makefile.am): Likewise.
14431         * modules/savedir (Makefile.am): Likewise.
14432         * modules/setenv (Makefile.am): Likewise.
14433         * modules/settime (Makefile.am): Likewise.
14434         * modules/sha1 (Makefile.am): Likewise.
14435         * modules/sig2str (Makefile.am): Likewise.
14436         * modules/snprintf (Makefile.am): Likewise.
14437         * modules/stdlib-safer (Makefile.am): Likewise.
14438         * modules/stpcpy (Makefile.am): Likewise.
14439         * modules/stpncpy (Makefile.am): Likewise.
14440         * modules/strcase (Makefile.am): Likewise.
14441         * modules/strcasestr (Makefile.am): Likewise.
14442         * modules/strchrnul (Makefile.am): Likewise.
14443         * modules/strcspn (Makefile.am): Likewise.
14444         * modules/strdup (Makefile.am): Likewise.
14445         * modules/strerror (Makefile.am): Likewise.
14446         * modules/strftime (Makefile.am): Likewise.
14447         * modules/strndup (Makefile.am): Likewise.
14448         * modules/strnlen (Makefile.am): Likewise.
14449         * modules/strpbrk (Makefile.am): Likewise.
14450         * modules/strsep (Makefile.am): Likewise.
14451         * modules/strstr (Makefile.am): Likewise.
14452         * modules/strtod (Makefile.am): Likewise.
14453         * modules/strtoimax (Makefile.am): Likewise.
14454         * modules/strtok_r (Makefile.am): Likewise.
14455         * modules/strtol (Makefile.am): Likewise.
14456         * modules/strtoll (Makefile.am): Likewise.
14457         * modules/strtoul (Makefile.am): Likewise.
14458         * modules/strtoull (Makefile.am): Likewise.
14459         * modules/strtoumax (Makefile.am): Likewise.
14460         * modules/strverscmp (Makefile.am): Likewise.
14461         * modules/time_r (Makefile.am): Likewise.
14462         * modules/timegm (Makefile.am): Likewise.
14463         * modules/tmpfile-safer (Makefile.am): Likewise.
14464         * modules/unistd-safer (Makefile.am): Likewise.
14465         * modules/unlinkdir (Makefile.am): Likewise.
14466         * modules/userspec (Makefile.am): Likewise.
14467         * modules/utime (Makefile.am): Likewise.
14468         * modules/utimecmp (Makefile.am): Likewise.
14469         * modules/utimens (Makefile.am): Likewise.
14470         * modules/vasnprintf (Makefile.am): Likewise.
14471         * modules/vasprintf (Makefile.am): Likewise.
14472         * modules/vsnprintf (Makefile.am): Likewise.
14473         * modules/xalloc (Makefile.am): Likewise.
14474         * modules/xgetcwd (Makefile.am): Likewise.
14475         * modules/xnanosleep (Makefile.am): Likewise.
14476         * modules/xreadlink (Makefile.am): Likewise.
14477         * modules/xstrtod (Makefile.am): Likewise.
14478         * modules/xstrtol (Makefile.am): Likewise.
14479         * modules/xstrtold (Makefile.am): Likewise.
14480         * modules/yesno (Makefile.am): Likewise.
14481
14482 2006-10-12  Jim Meyering  <jim@meyering.net>
14483
14484         * m4/getloadavg.m4: Revert the change below.
14485
14486         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
14487         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
14488         fail with a symlink, which is what coreutils' ./bootstrap now
14489         creates by default.
14490
14491 2006-10-12  Bruno Haible  <bruno@clisp.org>
14492
14493         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
14494         mingw.
14495         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
14496         MSVC and mingw explicitly.
14497
14498 2006-10-11  Simon Josefsson  <jas@extundo.com>
14499             Bruno Haible  <bruno@clisp.org>
14500
14501         Add support for multiple gnulib-tool invocations in the scope of a
14502         single configure.ac file.
14503         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
14504         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
14505         with the same contents as the _LIBADD variable.
14506         (func_emit_initmacro_start, func_emit_initmacro_end,
14507         func_emit_initmacro_done): New functions.
14508         (func_import, func_create_testdir): Invoke them. Allow the identifiers
14509         gl_LIBOBJS and gl_LTLIBOBJS.
14510
14511 2006-10-11  Bruno Haible  <bruno@clisp.org>
14512
14513         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
14514         (func_create_testdir): Don't create po/Makefile.am, don't invoke
14515         autoreconf. Instead, invoke autopoint explicitly but move back the
14516         *.m4 files from gnulib.
14517
14518 2006-10-11  Bruno Haible  <bruno@clisp.org>
14519
14520         * gnulib-tool (func_usage): Make module names after --create-testdir
14521         optional.
14522         (func_create_testdir): If no module was specified, use nearly all
14523         modules.
14524
14525 2006-10-12  Jim Meyering  <jim@meyering.net>
14526
14527         Big performance improvement for fts-based tools that use FTS_NOSTAT.
14528         Avoid spurious inode-mismatch problems on non-POSIX file systems.
14529         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
14530         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
14531         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
14532         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
14533         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
14534         (fts_set_stat_required): New function.
14535         (fts_open): Defer the calls to fts_stat, if possible or requested.
14536         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
14537         into fts_stat itself.
14538         (fts_read): Perform any required (deferred) fts_stat call.
14539         (fts_build): Likewise, for the directory we're about to open and read.
14540         In the readdir loop, carefully decide whether each entry will require
14541         an eventual call to fts_stat, using dirent.d_type info if available.
14542         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
14543         a command line argument into this function.  Update all callers.
14544         Map a return value of FTS_DOT to FTS_D for a command line argument.
14545         * modules/fts (Depends-on): Add d-type.  Alphabetize.
14546         Thanks to Miklos Szeredi for his tenacity and for the initial
14547         bug report about "find" failing on a FUSE-based file system.
14548
14549         * lib/fts.c (fts_open): Use consistent indentation.
14550
14551 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
14552
14553         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
14554         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
14555         reported by Jim Meyering.  All uses of cache variables renamed
14556         to match Autoconf's.
14557         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
14558         the other one.
14559
14560         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
14561         Fix misspelling in diagnostic.
14562
14563 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
14564
14565         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
14566         defined.  Problem reported by Matthew Woehlke.
14567
14568         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
14569         Add support for Tandem NonStop R series.
14570         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
14571         Use new macro.
14572
14573         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
14574         (has_trailing_slash): Omit size arg; all callers changed.
14575         Omit 'inline', since it doesn't help performance and we'd
14576         need to configure it.
14577         Don't count //, ///, etc. as having a trailing slash.
14578         As a side effect, this removes a C99ism reported by Matthew Woehlke.
14579         (rpl_rename_dest_slash): On failure, use rename's errno rather
14580         than (in some cases) an incorrect or junk errno.
14581         Simplify code by removing need to compute length; this does
14582         cause it to make two passes instead of one over the file name,
14583         but it's worth it.
14584
14585         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
14586         change, since Autoconf's version may no longer be appropriate now
14587         that we are using CVS Autoconf's version.  Add support for Tandem.
14588
14589 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
14590             Bruno Haible  <bruno@clisp.org>
14591
14592         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
14593         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
14594         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
14595         gl_AC_TYPE_LONG_LONG.
14596
14597         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
14598         instead of HAVE_LONG_LONG.
14599         * lib/printf-args.c (printf_fetchargs): Likewise.
14600         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
14601         * lib/vasnprintf.c (VASNPRINTF): Likewise.
14602         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
14603         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
14604         gl_AC_TYPE_LONG_LONG.
14605
14606 2006-10-11  Bruno Haible  <bruno@clisp.org>
14607
14608         * m4/longlong.m4: Add comments.
14609         * m4/ulonglong.m4: Likewise.
14610
14611 2006-10-10  Bruno Haible  <bruno@clisp.org>
14612
14613         Make it possible to #define stpcpy, strdup to aliases.
14614         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
14615         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
14616
14617 2006-10-10  Bruno Haible  <bruno@clisp.org>
14618
14619         Make it possible to #define gcd to an alias.
14620         * lib/gcd.c: Include config.h.
14621
14622 2006-10-10  Bruno Haible  <bruno@clisp.org>
14623
14624         Make it possible to #define c_isascii to an alias.
14625         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
14626         defined. Undefine the macros before defining them, to avoid gcc
14627         warnings.
14628         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
14629         define NO_C_CTYPE_MACROS early.
14630
14631 2006-10-10  Bruno Haible  <bruno@clisp.org>
14632
14633         Make it possible to #define set_program_name to an alias.
14634         * lib/progname.c: Don't undefine set_program_name; instead, undefine
14635         ENABLE_RELOCATABLE early.
14636
14637 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
14638
14639         Port to Tandem NSK OSS, which has 64-bit signed int but at most
14640         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
14641         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
14642         More generally, don't assume that 64-bit signed int is available
14643         if unsigned int is, and vice versa.
14644         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
14645         unsigned symbols, not on their signed counterparts.
14646         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
14647         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
14648         (UINT64_C, UINTMAX_C):
14649         Likewise.
14650         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
14651         unsigned counterparts.
14652         (Have_long_long, Unsigned): New macros.
14653         (Int): Renamed from INT.
14654         (strtoimax): Use the new macros.
14655         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
14656         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
14657         * modules/inttypes (inttypes.h): Substitute
14658         HAVE_UNSIGNED_LONG_LONG_INT.
14659         * modules/stdint (stdint.h): Likewise.
14660         (Files): Add m4/ulonglong.m4.
14661
14662 2006-10-10  Bruno Haible  <bruno@clisp.org>
14663
14664         Fix a gcc -Wshadow warning.
14665         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
14666         to 'bucket'.
14667         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
14668         gl_linked_indexof_from_to): Likewise.
14669         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
14670         Likewise.
14671         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
14672         Likewise.
14673         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
14674         Reported by Eric Blake.
14675
14676 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
14677
14678         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
14679         for NetBSD.  Problem reported by Bruno Haible.
14680
14681 2006-10-09  Jim Meyering  <jim@meyering.net>
14682
14683         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
14684         Patch from Bruno Haible.
14685
14686 2006-10-09  Jim Meyering  <jim@meyering.net>
14687
14688         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
14689         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
14690         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
14691
14692 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
14693
14694         Don't include <config.h> twice; this doesn't work in some cases,
14695         e.g., when config.h has "#define intmax_t long long int" and
14696         we include <config.h>, <inttypes.h>, <config.h> in that order.
14697         Problem reported by Matthew Woehlke in:
14698         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
14699         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
14700         * lib/fts-cycle.c: Don't include config.h.
14701         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
14702         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
14703         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
14704         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
14705         inttypes.h.
14706         * lib/xstrtoumax.c: Likewise.
14707         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
14708         __strtol and the like, so that this module is more like its siblings.
14709         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
14710         Remove; no longer needed now that we assume gnulib inttypes.h.
14711
14712 2006-10-08  Bruno Haible  <bruno@clisp.org>
14713
14714         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
14715         option.
14716
14717 2006-10-07  Jim Meyering  <jim@meyering.net>
14718
14719         * modules/inttypes (inttypes.h): Revert what seems to have been
14720         an inadvertent part of today's change: use "|", not "/" in the
14721         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
14722
14723 2006-10-07  Bruno Haible  <bruno@clisp.org>
14724
14725         * modules/sublist: New file.
14726
14727 2006-10-07  Bruno Haible  <bruno@clisp.org>
14728
14729         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
14730         * modules/argz (argz.h): Likewise.
14731         * modules/arpa_inet (arpa/inet.h): Likewise.
14732         * modules/byteswap (byteswap.h): Likewise.
14733         * modules/configmake (configmake.h): Likewise.
14734         * modules/fcntl (fcntl.h): Likewise.
14735         * modules/fnmatch (fnmatch.h): Likewise.
14736         * modules/getopt (getopt.h): Likewise.
14737         * modules/glob (glob.h): Likewise.
14738         * modules/inttypes (inttypes.h): Likewise.
14739         * modules/netinet_in (netinet/in.h): Likewise.
14740         * modules/poll (poll.h): Likewise.
14741         * modules/stdbool (stdbool.h): Likewise.
14742         * modules/stdint (stdint.h): Likewise.
14743         * modules/sys_select (sys/select.h): Likewise.
14744         * modules/sys_socket (sys/socket.h): Likewise.
14745         * modules/sys_stat (sys/stat.h): Likewise.
14746         * modules/sysexits (sysexits.h): Likewise.
14747         * modules/unistd (unistd.h): Likewise.
14748         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
14749         Add a "DO NOT EDIT" comment to the generated file.
14750         (func_import): Likewise for gnulib-comp.m4.
14751
14752 2006-10-07  Bruno Haible  <bruno@clisp.org>
14753
14754         * lib/gl_sublist.h: New file.
14755         * lib/gl_sublist.c: New file.
14756
14757 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
14758
14759         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
14760         name (relative to the original working directory) and the file
14761         name component (relative to the temporary working directory).  All
14762         callers changed.
14763         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
14764         * lib/mkdir-p.c (make_dir_parents): Likewise.
14765         * lib/mkdir-p.h (make_dir_parents): Likewise.
14766
14767 2006-10-06  Eric Blake  <ebb9@byu.net>
14768
14769         Define several macros for use by the clean-temp module.
14770         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
14771         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
14772         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
14773
14774         * lib/clean-temp.h (close_stream_temp): New declaration.
14775         * lib/clean-temp.c (includes): Pull in headers according to what
14776         other modules are in use.
14777         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
14778
14779 2006-10-06  Bruno Haible  <bruno@clisp.org>
14780
14781         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
14782         instead of fopen, fwriteerror.
14783
14784 2006-10-06  Bruno Haible  <bruno@clisp.org>
14785
14786         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
14787         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
14788         int.
14789         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
14790         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
14791         Return an error indicator.
14792         Suggested by Eric Blake.
14793
14794 2006-10-06  Bruno Haible  <bruno@clisp.org>
14795
14796         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
14797         Reported by Eric Blake.
14798
14799 2006-10-06  Bruno Haible  <bruno@clisp.org>
14800
14801         * modules/closeout (Description): Mention stderr too.
14802
14803 2006-10-06  Bruno Haible  <bruno@clisp.org>
14804         and Paul Eggert  <eggert@cs.ucla.edu>
14805
14806         * lib/closeout.c (close_stdout): Also close stderr.
14807         * lib/closeout.h: Update comment.
14808
14809 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
14810
14811         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
14812         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
14813         * lib/dirchownmod.c: Include lchown.h.
14814         * lib/lchown.c: Don't include files that lchown.h now includes.
14815         Don't declare chown, since lchown.h now does that.
14816         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
14817         (lchown): Define to rpl_chown if lchown is declared but
14818         does not exist.  Declare using a prototype if lchown is not
14819         declared.  Add a copyright notice.
14820         * lib/mkstemp.h: Include <unistd.h>.
14821         * lib/openat.c: Include lchown.h.
14822
14823         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
14824         we now test for that separately.
14825         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
14826         rather than O_NOFOLLOW, when testing whether it's possible to
14827         avoid a race condition reliably.
14828         * lib/savewd.c (savewd_chdir): Likewise.
14829
14830         Remove macros that are no longer needed now that stdint.h is
14831         reliable.
14832         * lib/fsusage.c (UINTMAX_MAX): Remove.
14833         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
14834         * lib/utimecmp.c (SIZE_MAX): Remove.
14835
14836         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
14837
14838         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
14839         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
14840         O_NOATIME works.
14841
14842 2006-10-05  Bruno Haible  <bruno@clisp.org>
14843
14844         * lib/gl_list.h (gl_sortedlist_search_from_to,
14845         gl_sortedlist_indexof_from_to): New declarations.
14846         (gl_list_implementation): New fields sortedlist_search_from_to,
14847         sortedlist_indexof_from_to.
14848         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
14849         inline functions.
14850         * lib/gl_list.c (gl_sortedlist_search_from_to,
14851         gl_sortedlist_indexof_from_to): New functions.
14852         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
14853         function.
14854         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
14855         (gl_array_sortedlist_search_from_to): New function.
14856         (gl_array_list_implementation): Update.
14857         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
14858         function.
14859         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
14860         (gl_carray_sortedlist_search_from_to): New function.
14861         (gl_carray_list_implementation): Update.
14862         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
14863         gl_linked_sortedlist_indexof_from_to): New functions.
14864         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
14865         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
14866         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
14867         gl_tree_sortedlist_indexof_from_to): New functions.
14868         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
14869         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
14870         Update.
14871         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
14872         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
14873         Update.
14874
14875 2006-10-05  Bruno Haible  <bruno@clisp.org>
14876
14877         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
14878         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
14879         (struct gl_list_implementation): Add fields search_from_to,
14880         indexof_from_to. Remove fields search, indexof.
14881         (gl_list_search): Use the search_from_to method.
14882         (gl_list_search_from, gl_list_search_from_to): New functions.
14883         (gl_list_indexof): Use the indexof_from_to method.
14884         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
14885         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
14886         (gl_list_search_from, gl_list_search_from_to): New functions.
14887         (gl_list_indexof): Use the indexof_from_to method.
14888         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
14889         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
14890         gl_array_indexof. Add start_index, end_index arguments.
14891         (gl_array_search_from_to): Renamed from gl_array_search. Add
14892         start_index, end_index arguments.
14893         (gl_array_remove, gl_array_list_implementation): Update.
14894         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
14895         gl_carray_indexof. Add start_index, end_index arguments.
14896         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
14897         start_index, end_index arguments.
14898         (gl_carray_remove, gl_carray_list_implementation): Update.
14899         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
14900         gl_linked_search. Add start_index, end_index arguments.
14901         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
14902         start_index, end_index arguments.
14903         (gl_linked_remove): Update.
14904         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
14905         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
14906         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
14907         field to 'size_t'.
14908         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
14909         gl_tree_search. Add start_index, end_index arguments.
14910         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
14911         start_index, end_index arguments.
14912         (gl_tree_remove): Update.
14913         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
14914         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
14915         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
14916         function.
14917         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
14918         gl_tree_search. Add start_index, end_index arguments.
14919         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
14920         start_index, end_index arguments.
14921         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
14922         Update.
14923         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
14924
14925 2006-10-05  Bruno Haible  <bruno@clisp.org>
14926
14927         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
14928
14929         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
14930         fwriteerror_temp): New declarations.
14931         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
14932         (descriptors): New variable.
14933         (cleanup): First, close the descriptors.
14934         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
14935         fclose_temp, fwriteerror_temp): New functions.
14936
14937 2006-10-04  Jim Meyering  <jim@meyering.net>
14938
14939         * lib/fts.c (fts_open): Tiny comment change.
14940
14941 2006-10-04  Bruno Haible  <bruno@clisp.org>
14942
14943         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
14944         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
14945         gl_LOCK_BODY.
14946         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
14947         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
14948         gl_LOCK_EARLY_BODY.
14949         (gl_LOCK): Require gl_LOCK_BODY.
14950
14951 2006-10-04  Bruno Haible  <bruno@clisp.org>
14952
14953         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
14954         (gl_oset_search_atleast): New declaration.
14955         (struct gl_oset_implementation): Add field 'search_atleast'.
14956         (gl_oset_search_atleast): New inline function.
14957         * lib/gl_oset.c (gl_oset_search_atleast): New function.
14958         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
14959         (gl_array_oset_implementation): Update.
14960         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
14961         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
14962         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
14963
14964 2006-10-04  Bruno Haible  <bruno@clisp.org>
14965
14966         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
14967
14968 2006-10-03  Bruno Haible  <bruno@clisp.org>
14969
14970         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
14971         from gl_avltreehash_list_implementation.
14972
14973 2006-10-03  Bruno Haible  <bruno@clisp.org>
14974
14975         * lib/gl_oset.c (gl_oset_add): Fix return type.
14976
14977 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
14978
14979         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
14980
14981 2006-10-02  Eric Blake  <ebb9@byu.net>
14982
14983         * modules/strnlen (Depends-on): Add extensions.
14984
14985 2006-10-02  Eric Blake  <ebb9@byu.net>
14986
14987         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
14988         definition in 2.60+.
14989
14990 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
14991
14992         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
14993         checks.
14994
14995 2006-10-02  Bruno Haible  <bruno@clisp.org>
14996
14997         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
14998         to the AUTOMAKE_OPTIONS.
14999         Reported by Jim Meyering.
15000
15001 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
15002
15003         Work around bug in Solaris 10 /proc file system:
15004         /proc/self/fd/NNN/.. isn't the parent directory of
15005         the directory whose file descriptor is NNN.  This needs to
15006         be worked around at run time, not compile time, since a
15007         program might be built on Solaris 8, where things work, and
15008         run on Solaris 10.
15009         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
15010         to use the following interface instead:
15011         (OPENAT_BUFFER_SIZE): New macro.
15012         (openat_proc_name): New function.
15013         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
15014         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
15015         Likewise.
15016         * lib/openat-proc.c: New file.
15017         * modules/openat (Files): Add lib/openat-proc.c.
15018         (Depends-on): Add same-inode, stdbool.
15019         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
15020
15021 2006-09-29  Bruno Haible  <bruno@clisp.org>
15022
15023         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
15024         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
15025         argument. Set stdout_closed before testing for ferror, not after.
15026         (fwriteerror, fwriteerror_no_ebadf): New functions.
15027
15028 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15029
15030         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
15031
15032 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
15033
15034         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
15035         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
15036
15037 2006-09-28  Jim Meyering  <jim@meyering.net>
15038
15039         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
15040         Include <unistd.h>.
15041
15042 2006-09-28  Bruno Haible  <bruno@clisp.org>
15043
15044         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
15045         * modules/linkedhash-list (Depends-on): Likewise.
15046         * modules/rbtreehash-list (Depends-on): Likewise.
15047
15048 2006-09-28  Bruno Haible  <bruno@clisp.org>
15049
15050         * lib/strndup.h: Simplify the redefinition of strndup.
15051         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
15052         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
15053
15054 2006-09-28  Bruno Haible  <bruno@clisp.org>
15055
15056         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
15057         * lib/gl_linkedhash_list.c: Likewise.
15058         * lib/gl_rbtreehash_list.c: Likewise.
15059
15060 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
15061
15062         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
15063         getaddrinfo.
15064
15065         * lib/__fpending.h: Don't include <stdio_ext.h> unless
15066         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
15067         it causes <stdio_ext.h> to cause a compile-time error.
15068         Problem reported by Nelson H. F. Beebe.
15069         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
15070         of HAVE_DECL___PENDING.
15071
15072         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
15073         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
15074         declaration.
15075
15076 2006-09-27  Jim Meyering  <jim@meyering.net>
15077
15078         This file could end up with a definition for a function
15079         named __strndup, rather than rpl_strndup on a system with
15080         incomplete weak_alias support.
15081         * lib/strndup.c (strndup): Rename from __strndup.
15082         Remove #defines that used to map __strndup to strndup.
15083         Don't use K&R prototypes.
15084         Remove LIBC-related code, since this file is not sync'd with glibc.
15085         * lib/strndup.h: Revamp, accordingly.
15086         * m4/strndup.m4: Modernize.
15087
15088 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
15089
15090         * modules/savewd (Depends-on): Add 'raise'.
15091         * lib/savewd.c: Include <signal.h>, for 'raise'.
15092
15093 2006-09-26  Jim Meyering  <jim@meyering.net>
15094
15095         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
15096         when we detect Darwin 8.7.0's acl_get_file bug.
15097         Rearrange to perform the new (below) run-test while $LIBS
15098         contains any acl-related library.  Set USE_ACL at the end.
15099         (gl_ACL_GET_FILE): New function.
15100
15101 2006-09-26  Eric Blake  <ebb9@byu.net>
15102
15103         * lib/verror.c: Include <config.h> unconditionally.
15104
15105 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
15106
15107         * modules/clock-time (Maintainer): Add self.
15108         * modules/getlogin_r (Depends-on): Add extensions.
15109
15110 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15111
15112         * modules/clock-time: New module.
15113         * modules/nanosleep (Depends-on): Add clock-time.
15114         * modules/gethrxtime (Depends-on): Likewise.
15115         * modules/gettime (Depends-on): Likewise.
15116         * modules/settime (Depends-on): Likewise.
15117
15118         * modules/fts-lgpl: Depend on openat.
15119         * modules/mkancesdirs: Depend on savewd.
15120         * modules/mkdir-p: Likewise.
15121
15122 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15123
15124         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
15125
15126         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
15127         `gl_have_arbitrary_file_name_length_limit' to
15128         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
15129         actually works between configure runs.
15130
15131 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15132             Bruno Haible  <bruno@clisp.org>
15133
15134         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
15135
15136 2006-09-25  Jim Meyering  <jim@meyering.net>
15137
15138         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
15139         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
15140
15141 2006-09-25  Eric Blake  <ebb9@byu.net>
15142
15143         * gnulib-tool (func_import, func_create_testdir): Fix typos in
15144         exec's in 2006-09-18 patch when shuffling fds.
15145
15146 2006-09-25  Bruno Haible  <bruno@clisp.org>
15147
15148         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
15149         Reported by Jim Meyering.
15150
15151 2006-09-24  Jim Meyering  <jim@meyering.net>
15152
15153         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
15154         compare a pointer against a literal "0".  That caused failures with
15155         at least HP-UX's hpcc.
15156
15157 2006-09-22  Simon Josefsson  <jas@extundo.com>
15158
15159         * modules/gc-sha1:
15160         * modules/gc-md4:
15161         * modules/gc-hmac-sha1:
15162         * modules/gc-hmac-md5:
15163         * modules/gc-des:
15164         * modules/gc-arcfour: Distribute more files.
15165
15166 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15167
15168         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
15169         (gl_linked_iterator_from_to): Initialize struct completely.
15170         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
15171         (gl_tree_iterator_from_to): Likewise
15172         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
15173         * lib/gl_array_list.c [lint] (gl_array_iterator)
15174         (gl_array_iterator_from_to): Likewise.
15175         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
15176         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
15177         (gl_carray_iterator_from_to): Likewise.
15178
15179         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
15180         * lib/md4.c (md4_process_block): Remove unused variable.
15181         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
15182         parentheses for clarity.
15183
15184 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15185
15186         * modules/bison-i18n (Depends-on): Add gettext.
15187
15188 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15189
15190         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
15191         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
15192         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
15193         also add missing comma that caused broken test.
15194         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
15195         stdlib.h, for `abort'.
15196         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
15197         variables.
15198         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
15199         include unistd.h if present, for `rmdir'.
15200         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
15201         variables.
15202         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
15203         in the process include standard headers for prototypes.
15204         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
15205         gets declared on GNU/Linux.
15206         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
15207         unistd.h, for `rmdir'.
15208         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
15209
15210         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
15211         always true.
15212         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
15213
15214         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
15215
15216 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15217
15218         * gnulib-tool (func_version): Create output all at once.  This
15219         may help avoid triggering unnecessary SIGPIPEs, and at any
15220         rate it doesn't hurt.
15221
15222 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15223             Bruno Haible  <bruno@clisp.org>
15224
15225         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
15226         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
15227         * m4/signed.m4 (bh_C_SIGNED): Likewise.
15228
15229         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
15230         (gl_FUNC_VASPRINTF): Invoke it.
15231
15232 2006-09-22  Bruno Haible  <bruno@clisp.org>
15233
15234         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
15235         getloadavg.c as first argument.
15236
15237 2006-09-22  Bruno Haible  <bruno@clisp.org>
15238
15239         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
15240         at the beginning of the gl_INIT macro.
15241         * modules/getloadavg (configure.ac): Pass $gl_source_base to
15242         gl_GETLOADAVG.
15243
15244 2006-09-22  Bruno Haible  <bruno@clisp.org>
15245
15246         * gnulib-tool (func_create_megatestdir): Don't include the config-h
15247         module.
15248         Suggested by Ralf Wildenhues.
15249
15250 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
15251
15252         Import this patch from libc:
15253
15254         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
15255
15256         * lib/regex_internal.c (re_string_reconstruct): Handle
15257         offset < pstr->valid_raw_len && pstr->offsets_needed case.
15258         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
15259         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
15260         re_string_context_at.
15261
15262         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
15263         now requires it.
15264         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
15265         gl_REGEX now does it for us.
15266         (gl_REGEX): Add test taken from
15267         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
15268
15269         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
15270         Check that large offsets work.  Modernize Autoconf usages.
15271         Prefer "yes" to mean a good thing rather than a bad.
15272         Don't put "#define mkstemp" in config.h, as this might interfere
15273         with standard system headers that "#define mkstemp mkstemp64".
15274
15275         * modules/mkstemp (Depends-on): Add extensions, so that
15276         mkstemp is visible on some platforms.
15277         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
15278         (Include): Change to "mkstemp.h" from <stdlib.h>.
15279         (Files): Add mkstemp.h.
15280
15281         * lib/mkstemp.h: New file, since some standard headers
15282         #define mkstemp.
15283         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
15284         Include "mkstemp.h".
15285         Make the _LIBC code resemble glibc original more,
15286         e.g., use K&R style.
15287         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
15288         (mkstemp): Remove, since mkstemp.h does this for us.
15289         * lib/stdlib--.h: Include mkstemp.h.
15290
15291         Import this patch from libc:
15292
15293         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
15294
15295         * lib/tempname.c (__gen_tempname): Change attempts_min
15296         into a macro.  Use preprocessor to decide how to initialize
15297         attempts [Coverity CID 67].
15298
15299 2006-09-20  Bruno Haible  <bruno@clisp.org>
15300
15301         * lib/mkdtemp.c: Import from libc.
15302         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
15303                 * sysdeps/posix/tempname.c (__gen_tempname): Change
15304                 attempts_min into a macro.  Use preprocessor to decide how to
15305                 initialize attempts [Coverity CID 67].
15306         2001-11-27  Paul Eggert  <eggert@twinsun.com>
15307                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
15308                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
15309
15310 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15311
15312         * gnulib-tool (func_exit): New function, to allow to pass the
15313         exit status portably through the trap.  Use everywhere.
15314         (--help, --version): Signal a write error.
15315         (trap): catch SIGPIPE, for write errors.
15316         Exit at the end of the trap, with the correct exit status.
15317
15318 2006-09-19  Karl Berry  <karl@gnu.org>
15319
15320         * doc/gnulib.texi: note about the license texinfo files.
15321
15322 2006-09-19  Eric Blake  <ebb9@byu.net>
15323
15324         * gnulib-tool: Avoid space-tab.
15325
15326 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
15327
15328         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
15329         that prevented coreutils 6.1 from building.  Problem reported
15330         by Petter Reinholdtsen.
15331
15332 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
15333
15334         * gnulib-tool (avoidlist): Fix typo that broke options like
15335         --avoid=lock that are used by coreutils bootstrap.
15336
15337 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
15338
15339         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
15340         more systematically.
15341
15342 2006-09-18  Jim Meyering  <jim@meyering.net>
15343
15344         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
15345
15346 2006-09-18  Bruno Haible  <bruno@clisp.org>
15347
15348         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
15349
15350 2006-09-18  Bruno Haible  <bruno@clisp.org>
15351
15352         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
15353         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
15354         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
15355         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
15356         * m4/gettext.m4: Require autoconf >= 2.52.
15357         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
15358         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
15359         of gl_cv_header_inttypes_h.
15360
15361 2006-09-18  Bruno Haible  <bruno@clisp.org>
15362
15363         * lib/javaversion.c: Include configmake.h.
15364
15365 2006-09-18  Bruno Haible  <bruno@clisp.org>
15366
15367         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
15368         avoid that the while loops be executed in a subshell.
15369
15370 2006-09-18  Bruno Haible  <bruno@clisp.org>
15371
15372         * MODULES.html.sh (func_module): Break long lines.
15373         Suggested by Bruce Korb <bkorb@gnu.org>.
15374
15375 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15376
15377         Speed up by a factor of 1.12.
15378         * gnulib-tool (nl): New variable.
15379         (func_import): Rewrite include directive extraction to only read each
15380         directive once.
15381
15382 2006-09-17  Bruno Haible  <bruno@clisp.org>
15383
15384         * modules/javaversion (Makefile.am): Remove DEFS setting.
15385         (Depends-on): Add configmake, for PKGDATADIR definition.
15386
15387 2006-09-17  Bruno Haible  <bruno@clisp.org>
15388
15389         * gnulib-tool (func_create_testdir): Rewrite all files at once.
15390
15391 2006-09-17  Bruno Haible  <bruno@clisp.org>
15392
15393         * gnulib-tool (func_append): New function, stolen from libtool.m4.
15394         (func_modules_transitive_closure, func_modules_add_dummy,
15395         func_modules_to_filelist, func_import, func_create_testdir,
15396         func_create_megatestdir, ...): Use it wherever possible.
15397         Suggested by Ralf Wildenhues.
15398
15399 2006-09-16  Karl Berry  <karl@gnu.org>
15400
15401         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
15402         to avoid sectioning errors.
15403         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
15404         [ifinfo]: blank line after @center-ed titles.
15405         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
15406         Spell FSF address consistently with others.
15407         (These changes approved by rms.)
15408
15409 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15410
15411         Speed up by a factor of 1.61.
15412         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
15413         already checked module names again.
15414
15415 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15416
15417         Speed up by a factor of 1.13.
15418         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
15419         for new_files, and the input to func_add_or_update.
15420
15421 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15422
15423         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
15424         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
15425
15426 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
15427
15428         * modules/mkancesdirs (Depends-on): Add fcntl.
15429         * modules/savewd: New file.
15430         * MODULES.html.sh (File system functions): Add savewd.
15431
15432         * modules/configmake (Makefile.am): Add support for the
15433         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
15434
15435 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
15436
15437         * m4/savewd.m4: New file.
15438
15439 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
15440
15441         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
15442         (dirchownmod): New arg FD.  All callers changed.
15443         Use FD rather than opening the directory ourself, as opening is
15444         now the caller's responsibility.
15445         * lib/dirchownmod.h: Likewise.
15446         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
15447         hosts that require <sys/types.h> before <sys/stat.h>.  Include
15448         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
15449         (test_dir): Remove.
15450         (mkancesdirs): Return length of prefix of FILE that has already
15451         been made, or -2 if there is a child doing the work.  Redo
15452         algorithm so that it is O(N) rather than O(N**2).  Optimize away
15453         ".", and treat ".." specially since it might stray back into
15454         already-created areas.  Use a subprocess if necessary.  New arg
15455         WD; all users changed.  MAKE_DIR function should now return 1
15456         if it creates a directory that is not readable.  Return -2 if
15457         a child process is spun off.
15458         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
15459         Adjust signature to match code.
15460         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
15461         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
15462         all users changed.
15463         * lib/savewd.c, lib/savewd.h: New files.
15464
15465 2006-09-15  Jim Meyering  <jim@meyering.net>
15466
15467         * modules/rename-dest-slash: New module.
15468         * MODULES.html.sh (posix_compat): Add it here.
15469
15470         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
15471
15472 2006-09-15  Jim Meyering  <jim@meyering.net>
15473
15474         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
15475         file.
15476
15477         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
15478
15479 2006-09-15  Jim Meyering  <jim@meyering.net>
15480
15481         * lib/rename-dest-slash.c (has_trailing_slash): Use
15482         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
15483         (rpl_rename_dest_slash): Perform the cheaper trailing slash
15484         test before testing whether SRC is a directory.
15485         Suggestions from Bruno Haible.
15486
15487         Avoid a warning about an unused variable.
15488         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
15489         into the #ifdef block where it's used.
15490
15491         * lib/rename-dest-slash.c: New file.
15492
15493 2006-09-14  Bruno Haible  <bruno@clisp.org>
15494
15495         * lib/allocsa.c: Include <config.h> unconditionally.
15496         * lib/asnprintf.c: Likewise.
15497         * lib/asprintf.c: Likewise.
15498         * lib/c-strcasecmp.c: Likewise.
15499         * lib/c-strcasestr.c: Likewise.
15500         * lib/c-strncasecmp.c: Likewise.
15501         * lib/c-strstr.c: Likewise.
15502         * lib/classpath.c: Likewise.
15503         * lib/clean-temp.c: Likewise.
15504         * lib/concatpath.c: Likewise.
15505         * lib/copy-file.c: Likewise.
15506         * lib/csharpcomp.c: Likewise.
15507         * lib/csharpexec.c: Likewise.
15508         * lib/execute.c: Likewise.
15509         * lib/fatal-signal.c: Likewise.
15510         * lib/findprog.c: Likewise.
15511         * lib/fwriteerror.c: Likewise.
15512         * lib/gl_array_list.c: Likewise.
15513         * lib/gl_array_oset.c: Likewise.
15514         * lib/gl_avltree_list.c: Likewise.
15515         * lib/gl_avltree_oset.c: Likewise.
15516         * lib/gl_avltreehash_list.c: Likewise.
15517         * lib/gl_carray_list.c: Likewise.
15518         * lib/gl_linked_list.c: Likewise.
15519         * lib/gl_linkedhash_list.c: Likewise.
15520         * lib/gl_list.c: Likewise.
15521         * lib/gl_oset.c: Likewise.
15522         * lib/gl_rbtree_list.c: Likewise.
15523         * lib/gl_rbtree_oset.c: Likewise.
15524         * lib/gl_rbtreehash_list.c: Likewise.
15525         * lib/imaxabs.c: Likewise.
15526         * lib/imaxdiv.c: Likewise.
15527         * lib/javacomp.c: Likewise.
15528         * lib/javaexec.c: Likewise.
15529         * lib/javaversion.c: Likewise.
15530         * lib/linebreak.c: Likewise.
15531         * lib/localcharset.c: Likewise.
15532         * lib/lock.c: Likewise.
15533         * lib/mbchar.c: Likewise.
15534         * lib/mbswidth.c: Likewise.
15535         * lib/mkdtemp.c: Likewise.
15536         * lib/pipe.c: Likewise.
15537         * lib/printf-args.c: Likewise.
15538         * lib/printf-parse.c: Likewise.
15539         * lib/progname.c: Likewise.
15540         * lib/progreloc.c: Likewise.
15541         * lib/readlink.c: Likewise.
15542         * lib/sh-quote.c: Likewise.
15543         * lib/stpcpy.c: Likewise.
15544         * lib/stpncpy.c: Likewise.
15545         * lib/strcasecmp.c: Likewise.
15546         * lib/strcasestr.c: Likewise.
15547         * lib/strcspn.c: Likewise.
15548         * lib/striconv.c: Likewise.
15549         * lib/strncasecmp.c: Likewise.
15550         * lib/strnlen1.c: Likewise.
15551         * lib/strstr.c: Likewise.
15552         * lib/strtok_r.c: Likewise.
15553         * lib/tls.c: Likewise.
15554         * lib/tmpdir.c: Likewise.
15555         * lib/unicodeio.c: Likewise.
15556         * lib/unsetenv.c: Likewise.
15557         * lib/vasnprintf.c: Likewise.
15558         * lib/vasprintf.c: Likewise.
15559         * lib/wait-process.c: Likewise.
15560         * lib/xallocsa.c: Likewise.
15561         * lib/xsetenv.c: Likewise.
15562         * lib/xstriconv.c: Likewise.
15563
15564 2006-09-13  Simon Josefsson  <jas@extundo.com>
15565
15566         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
15567         that internally, suggested by Ralf Wildenhues
15568         <Ralf.Wildenhues@gmx.de>.
15569
15570 2006-09-13  Simon Josefsson  <jas@extundo.com>
15571
15572         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
15573         @LIBOBJS@.
15574         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15575
15576 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
15577
15578         * lib/_fpending.c: Include <config.h> unconditionally, since we no
15579         longer worry about uses that don't define HAVE_CONFIG_H.
15580         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
15581         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
15582         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
15583         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
15584         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
15585         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
15586         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
15587         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
15588         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
15589         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
15590         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
15591         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
15592         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
15593         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
15594         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
15595         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
15596         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
15597         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
15598         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
15599         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
15600         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
15601         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
15602         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
15603         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
15604         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
15605         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
15606         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
15607         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
15608         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
15609         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
15610         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
15611         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
15612         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
15613         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
15614         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
15615         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
15616         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
15617         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
15618         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
15619         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
15620         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
15621         Likewise.
15622
15623 2006-09-13  Eric Blake  <ebb9@byu.net>
15624
15625         * lib/getopt.c: Fix typo in last commit.
15626
15627 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
15628
15629         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
15630         dgettext.
15631
15632 2006-09-12  Jim Meyering  <jim@meyering.net>
15633
15634         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
15635         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
15636         Reported by Nelson H. F. Beebe.
15637
15638 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
15639
15640         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
15641         program_invocation_name and program_invocation_short_name are
15642         initialized.
15643         * lib/argp-namefrob.h: Move declarations of program_invocation_name
15644         and program_invocation_short_name to argp.h, so they are visible
15645         to user programs.
15646         * lib/argp.h: Likewise
15647
15648 2006-09-10  Bruno Haible  <bruno@clisp.org>
15649
15650         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
15651         m4/inttypes_h.m4, m4/uintmax_t.m4.
15652
15653 2006-09-10  Bruno Haible  <bruno@clisp.org>
15654
15655         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
15656         gl_AC_TYPE_UINTMAX_T.
15657
15658 2006-09-10  Bruno Haible  <bruno@clisp.org>
15659
15660         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
15661
15662 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
15663
15664         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
15665         convention.  Text proposed by Bruno Haible.
15666         (struct argp_option): Document the use of N_() wrappers.
15667
15668         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
15669         '\v', and translate the two parts separately, instead of feeding
15670         the whole string to gettext.  This allows to exclude
15671         '\v' from the strings visible to the translator by writing doc
15672         strings as N_("..") "\v" N_("..").
15673
15674 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
15675
15676         * config/srclist.txt: Undo latest change; the bug was fixed.
15677
15678 2006-09-09  Bruno Haible  <bruno@clisp.org>
15679
15680         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
15681         assignments if building a library without libtool.
15682         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
15683         in func_emit_lib_Makefile_am.
15684         (func_import): When building a static library libfoo.a, arrange to
15685         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
15686         (func_create_testdir): Likewise.
15687         * modules/gc (configure.ac, Makefile.am): If building statically,
15688         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
15689         * modules/iconvme (configure.ac, Makefile.am): Likewise.
15690         * modules/striconv (configure.ac, Makefile.am): Likewise.
15691         Based on a suggestion by Ralf Wildenhues.
15692
15693 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
15694
15695         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
15696         Check for unistd.h too, since Autoconf doesn't assume POSIX.
15697         Also:
15698
15699         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
15700         Add year_2050_test to catch glibc bug 2821
15701         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
15702
15703         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
15704         Prefer #ifdef to #if.
15705
15706         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
15707         Return from 'main' instead of calling 'exit'.
15708
15709 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
15710
15711         * lib/mktime.c (guess_time_tm): Fix bug where mktime
15712         returned the maximum time_t value rather than (time_t) -1.
15713         Problem originally reported by William Bardwell
15714         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
15715
15716         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
15717         Moved to here ...
15718         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
15719         ... from here.
15720
15721 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
15722
15723         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
15724         2821 is fixed.
15725
15726 2006-09-08  Jim Meyering  <jim@meyering.net>
15727
15728         Don't make generated files read-only.  That would bother too many
15729         people.  However, do retain the ability to work when targets are
15730         read-only: remove the destination and temporary files before writing
15731         them (when generated via sed or echo), or by using the -f option for
15732         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
15733         * modules/alloca-opt, modules/argz, modules/arpa_inet:
15734         * modules/byteswap, modules/configmake, modules/fcntl:
15735         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
15736         * modules/localcharset, modules/netinet_in, modules/poll:
15737         * modules/stdbool, modules/stdint, modules/sys_select:
15738         * modules/sys_socket, modules/sys_stat, modules/sysexits:
15739
15740 2006-09-08  Jim Meyering  <jim@meyering.net>
15741
15742         Avoid new build failure on FreeBSD 6.0.
15743         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
15744         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
15745         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
15746
15747 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15748
15749         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
15750
15751 2006-09-07  Jim Meyering  <jim@meyering.net>
15752
15753         Fix global typo in last change: use chmod u-w, not chmod u-x.
15754         Spotted by Paul Eggert and Bruce Korb.
15755         * modules/alloca-opt, modules/argz, modules/arpa_inet:
15756         * modules/byteswap, modules/configmake, modules/fcntl:
15757         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
15758         * modules/localcharset, modules/netinet_in, modules/poll:
15759         * modules/stdbool, modules/stdint, modules/sys_select:
15760         * modules/sys_socket, modules/sys_stat, modules/sysexits:
15761
15762 2006-09-06  Jim Meyering  <jim@meyering.net>
15763
15764         Make generated files be read-only.
15765         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
15766         Ensure that each generated file is now read-only.
15767         * modules/argz: Likewise.
15768         * modules/arpa_inet: Likewise.
15769         * modules/byteswap: Likewise.
15770         * modules/configmake: Likewise.
15771         * modules/fcntl: Likewise.
15772         * modules/fnmatch: Likewise.
15773         * modules/getopt: Likewise.
15774         * modules/glob: Likewise.
15775         * modules/inttypes: Likewise.
15776         * modules/netinet_in: Likewise.
15777         * modules/poll: Likewise.
15778         * modules/stdbool: Likewise.
15779         * modules/stdint: Likewise.
15780         * modules/sys_select: Likewise.
15781         * modules/sys_socket: Likewise.
15782         * modules/sys_stat: Likewise.
15783         * modules/sysexits: Likewise.
15784         * modules/localcharset: Same as above, but continue using temporary
15785         file named "t-$@" (why different?) rather than the "$@-t" used
15786         everywhere else.
15787
15788         * modules/sysexits (Makefile.am): Replace literal occurrences
15789         of "sysexit.h" more readable, and more consistent, "$@".
15790
15791 2006-09-06  Bruno Haible  <bruno@clisp.org>
15792
15793         * modules/striconv: New file.
15794         * modules/xstriconv: New file.
15795         * MODULES.html.sh (Internationalization functions): Add striconv,
15796         xstriconv.
15797
15798 2006-09-06  Bruno Haible  <bruno@clisp.org>
15799
15800         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
15801         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
15802         not using libtool correctly.
15803
15804 2006-09-06  Bruno Haible  <bruno@clisp.org>
15805
15806         * lib/striconv.h: New file.
15807         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
15808         iconvstring.c.
15809         * lib/xstriconv.h: New file.
15810         * lib/xstriconv.c: New file.
15811
15812 2006-09-06  Bruno Haible  <bruno@clisp.org>
15813
15814         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
15815         lib_..._LDFLAGS.
15816
15817 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15818
15819         * lib/argz_.h: Sync from Libtool.
15820
15821         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
15822                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15823
15824         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
15825
15826 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
15827
15828         * modules/trim: New file.
15829
15830 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
15831
15832         * lib/trim.h: New file.
15833         * lib/trim.c: New file.
15834
15835 2006-09-05  Bruno Haible  <bruno@clisp.org>
15836
15837         * MODULES.html.sh (String handling): Add trim.
15838
15839 2006-09-04  Karl Berry  <karl@gnu.org>
15840
15841         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
15842         until next release.
15843
15844 2006-09-03  Bruno Haible  <bruno@clisp.org>
15845
15846         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
15847         correctly.
15848
15849 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15850
15851         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
15852         not gl_GETLOADAVG.  Omit unneeded semicolons.
15853         Problems reported by Ralf Wildenhues in
15854         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
15855         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
15856         at the end, which is the usual gnulib style.
15857
15858         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
15859         of doing all the work ourselves.
15860         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
15861         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
15862
15863 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15864
15865         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
15866         Problem reported by Ralf Wildenhues in
15867         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
15868
15869         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
15870         HAVE_STRUCT_STATFS_F_FSTYPENAME.
15871
15872 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15873
15874         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
15875         yesterday's patch by changing test -n to test -z.
15876
15877 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
15878
15879         * modules/getloadavg (Files): Add m4/getloadavg.m4.
15880         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
15881         the former is now obsolescent.
15882
15883         * modules/chdir-long (Depends-on): Add fcntl.
15884
15885 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
15886
15887         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
15888         obsolescent, and programs should use gnulib instead.
15889         * m4/getloadavg.m4: New file, with contents taken from Autoconf
15890         but with prefixes changed.
15891
15892 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
15893
15894         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
15895         or stdbool.h, because they might not exist while configuring.
15896
15897         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
15898         Don't include unistd.h or limits.h; not needed, since chdir-long.h
15899         does that for us.
15900         (O_DIRECTORY): Remove.
15901
15902 2006-08-31  Eric Blake  <ebb9@byu.net>
15903
15904         * gnulib-tool: Don't let emacs change spaces to TAB.
15905
15906 2006-08-31  Bruno Haible  <bruno@clisp.org>
15907
15908         * gnulib-tool: When calling func_import more than once, do it in a
15909         subshell.
15910         Reported by Eric Blake <ebb9@byu.net>.
15911
15912 2006-08-31  Bruno Haible  <bruno@clisp.org>
15913
15914         * gnulib-tool (nl): Remove variable.
15915         (sed_transform_lib_file): Use more robust test for config-h module.
15916         (func_import): Fix typo in 2006-08-25 patch.
15917
15918 2006-08-31  Bruno Haible  <bruno@clisp.org>
15919
15920         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
15921         specified, augment Makefile.am variables instead of assigning them.
15922
15923 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
15924
15925         Work around a bug in both the Linux and SunOS 64-bit kernels:
15926         nanosleep mishandles sleeps for longer than 2**31 seconds.
15927         Problem reported by Frank v Waveren in
15928         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
15929         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
15930         Check for nanosleep bug.
15931         (LIB_NANOSLEEP): Append clock_gettime library if needed.
15932
15933 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
15934
15935         Work around a bug in both the Linux and SunOS 64-bit kernels:
15936         nanosleep mishandles sleeps for longer than 2**31 seconds.
15937         Problem reported by Frank v Waveren in
15938         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
15939         * lib/nanosleep.c (BILLION): New constant.
15940         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
15941         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
15942         implementation.
15943
15944 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
15945
15946         * modules/nanosleep (Depends-on): Add gettime.
15947
15948 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
15949         and Simon Josefsson  <jas@extundo.com>
15950         and Oskar Liljeblad  <oskar@osk.mine.nu>
15951
15952         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
15953         * gnulib-tool (func_import): New license type 'unmodifiable license
15954         text'.
15955         * modules/fdl: Use it.  Longer description.
15956         * module/gpl, module/lgpl: New files.
15957
15958 2006-08-30  Jim Meyering  <jim@meyering.net>
15959
15960         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
15961         shadowing the parameter.
15962
15963 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15964
15965         Sync from Libtool:
15966
15967         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15968
15969         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
15970         sharing with gnulib.  Report by Eric Blake.
15971
15972 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
15973
15974         * modules/isapipe: New file.
15975         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
15976
15977 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
15978
15979         * modules/configmake (Makefile.am): Add a comment, and omit
15980         the CONFIGMAKE_ prefix from generated macro names.  Suggested
15981         by Bruno Haible.
15982
15983 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
15984
15985         * m4/isapipe.m4: New file.
15986
15987 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
15988
15989         * lib/isapipe.c, lib/isapipe.h: New files.
15990
15991 2006-08-29  Jim Meyering  <jim@meyering.net>
15992
15993         * modules/configmake (Makefile.am): Make configmake.h depend on
15994         Makefile.  Otherwise, a stale configmake.h could hang around.
15995
15996 2006-08-29  Eric Blake  <ebb9@byu.net>
15997
15998         * lib/error.c (error_at_line, print_errno_message): Match libc, after
15999         resolution of upstream bug 3044.
16000
16001 2006-08-29  Bruno Haible  <bruno@clisp.org>
16002
16003         * modules/localcharset (Depends-on): Add configmake.
16004         (Makefile.am): Remove setting of LIBDIR through DEFS.
16005
16006 2006-08-29  Bruno Haible  <bruno@clisp.org>
16007
16008         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
16009         defined.
16010
16011 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
16012
16013         * modules/fcntl: New file.
16014         * modules/chdir-safer (Depends-on): Add fcntl.
16015         * modules/fts: Likewise.
16016         * modules/mkdir-p: Likewise.
16017
16018         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
16019         This undoes the most recent change, since we're now addressing the
16020         problem in a different way.
16021
16022         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
16023         into output, since the output might be called Makefile.am even
16024         if $makefile_name is something different.
16025         (func_import): Use $makefile_am rather than
16026         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
16027         empty.
16028
16029         * modules/inttypes (Files): Add m4/inttypes-h.m4.
16030
16031 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
16032
16033         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
16034         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
16035         recent change to stdint.m4, since we're now addressing the problem in a
16036         different way.
16037
16038 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
16039
16040         * m4/fcntl_h.m4: New file.
16041
16042 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
16043
16044         * lib/fcntl_.h: New file.
16045         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
16046         the fcntl module.
16047         * lib/dirchownmod.c: Likewise.
16048         * lib/fts.c: Likewise.
16049
16050         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
16051         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
16052         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
16053         just before including <inttypes.h>, to avoid circular inclusion.
16054
16055 2006-08-28  Jim Meyering  <jim@meyering.net>
16056
16057         * doc/visibility.texi: Actually read and correct the grammar of the
16058         sentence affected by yesterday's change.
16059
16060 2006-08-28  Eric Blake  <ebb9@byu.net>
16061
16062         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
16063         needs wrapper.
16064
16065 2006-08-28  Eric Blake  <ebb9@byu.net>
16066
16067         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
16068
16069 2006-08-28  Eric Blake  <ebb9@byu.net>
16070
16071         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
16072
16073 2006-08-28  Bruno Haible  <bruno@clisp.org>
16074
16075         * modules/c-strstr: New file, from GNU gettext.
16076         * MODULES.html.sh (String handling): Add c-strstr.
16077
16078 2006-08-28  Bruno Haible  <bruno@clisp.org>
16079
16080         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
16081         macros.
16082         Reported by Eric Blake.
16083
16084 2006-08-28  Bruno Haible  <bruno@clisp.org>
16085
16086         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
16087         (VASNPRINTF): Return a string of length > INT_MAX without failing.
16088         * lib/vasprintf.c: Include errno.h, limits.h.
16089         (EOVERFLOW): New fallback definition.
16090         (vasprintf): Test here whether the string length is > INT_MAX.
16091         * lib/vsnprintf.c: Include errno.h, limits.h.
16092         (EOVERFLOW): New fallback definition.
16093         (vsnprintf): Fix bug when generated string was too long for the buffer.
16094         Test here whether the string length is > INT_MAX.
16095
16096 2006-08-28  Bruno Haible  <bruno@clisp.org>
16097
16098         * lib/inttypes_.h (SCNX*): Remove definitions.
16099         Reported by Eric Blake.
16100
16101 2006-08-28  Bruno Haible  <bruno@clisp.org>
16102
16103         * lib/c-strstr.h: New file, from GNU gettext.
16104         * lib/c-strstr.c: New file, from GNU gettext.
16105
16106 2006-08-28  Bruno Haible  <bruno@clisp.org>
16107
16108         * gnulib-tool: Reorder some statements.
16109
16110 2006-08-28  Bruno Haible  <bruno@clisp.org>
16111
16112         * gnulib-tool: New option --makefile-name.
16113         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
16114         $makefile_name.
16115         (func_import): Write $makefile_name to the cache file, and read it from
16116         there unless explicitly specified. Use $makefile_name as file name
16117         instead of Makefile.am. Adjust the recommendations accordingly.
16118
16119 2006-08-28  Bruno Haible  <bruno@clisp.org>
16120
16121         * gnulib-tool (func_verify_module): Check against misapplying patch.
16122
16123 2006-08-28  Bruno Haible  <bruno@clisp.org>
16124
16125         * gnulib-tool (func_relativize, func_relconcat): New functions.
16126         Give an error if --local-dir is given with --update.
16127         Remove trailing slashes from $local_gnulib_dir.
16128         (func_import): Store the relativized $local_gnulib_dir in
16129         gnulib-cache.m4, and read it from there if not specified explicitly.
16130
16131 2006-08-28  Bruno Haible  <bruno@clisp.org>
16132
16133         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
16134         is the current directory. Respect also $local_gnulib_dir.
16135
16136 2006-08-28  Bruno Haible  <bruno@clisp.org>
16137             Simon Josefsson  <jas@extundo.com>
16138
16139         BeOS portability.
16140         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
16141
16142 2006-08-27  Jim Meyering  <jim@meyering.net>
16143
16144         * doc/visibility.texi: Remove duplicate word: "pointer".
16145
16146 2006-08-26  Bruno Haible  <bruno@clisp.org>
16147
16148         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
16149         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
16150         (Makefile.am): Create inttypes.h from inttypes_.h.
16151         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
16152
16153         * modules/imaxabs: New file.
16154
16155         * modules/imaxdiv: New file.
16156
16157 2006-08-26  Bruno Haible  <bruno@clisp.org>
16158
16159         * m4/inttypes.m4: New file.
16160         * m4/_inttypes_h.m4: Remove file.
16161         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
16162         PRI_MACROS_BROKEN.
16163         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
16164
16165         * m4/imaxabs.m4: New file.
16166
16167         * m4/imaxdiv.m4: New file.
16168
16169 2006-08-26  Bruno Haible  <bruno@clisp.org>
16170
16171         * lib/inttypes_.h: New file.
16172         * lib/inttypes.h: Remove file.
16173         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
16174
16175         * lib/imaxabs.c: New file.
16176
16177         * lib/imaxdiv.c: New file.
16178
16179 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
16180
16181         New config-h module, so that "make" output needn't be cluttered
16182         by -DHAVE_CONFIG_H.
16183         * MODULES.html.sh (Support for building libraries and executables):
16184         Add config-h.
16185         * modules/config-h: New file.
16186         * gnulib-tool (nl, sed_transform_lib_file): New vars.
16187         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
16188         the config-h module is used.
16189
16190         New configmake module, so that "make" output needn't be cluttered
16191         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
16192         * MODULES.html.sh (Support for building libraries and executables):
16193         Add configmake.
16194         * modules/configmake: New file.
16195
16196 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
16197
16198         * m4/config-h.m4: New file.
16199
16200 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
16201
16202         * config/srclist.txt: Add elisp-comp.
16203
16204 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
16205
16206         * MODULES.html.sh (Support for building libraries and executables):
16207         Add elisp-comp.
16208         * build-aux/elisp-comp: New file.
16209         * modules/elisp-comp: New file.
16210
16211 2006-08-24  Bruno Haible  <bruno@clisp.org>
16212
16213         * gnulib-tool (func_create_testdir): Use non-default values of
16214         sourcebase and m4base.
16215
16216 2006-08-24  Bruno Haible  <bruno@clisp.org>
16217
16218         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
16219         HTML structure.
16220
16221 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
16222
16223         * modules/openat (Depends-on): Add lchown.
16224
16225 2006-08-23  Bruno Haible  <bruno@clisp.org>
16226
16227         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
16228         of gl_LOCK_EARLY instead of gl_LOCK.
16229
16230 2006-08-23  Bruno Haible  <bruno@clisp.org>
16231
16232         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
16233         on OSF/1 to no.
16234         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
16235
16236 2006-08-23  Bruno Haible  <bruno@clisp.org>
16237
16238         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
16239         as unusable.
16240
16241         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
16242         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
16243         (gl_LOCK): New macro.
16244
16245 2006-08-22  Simon Josefsson  <jas@extundo.com>
16246
16247         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
16248         to md5 module.
16249
16250 2006-08-22  Simon Josefsson  <jas@extundo.com>
16251
16252         * MODULES.html.sh: Add "Support for maintaining and release
16253         projects".
16254
16255         * build-aux/gnupload: New file, from coreutils.
16256
16257 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
16258
16259         Avoid the need for AC_LIBSOURCES in m4 macros.
16260         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
16261         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
16262         * modules/check-version (EXTRA_DIST): Add check-version.h.
16263         * modules/crc (EXTRA_DIST): Add crc.h.
16264         * modules/des (EXTRA_DIST): Add des.h.
16265         * modules/gc (EXTRA_DIST): Add gc.h.
16266         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
16267         * modules/getline (EXTRA_DIST): Add getline.h.
16268         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
16269         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
16270         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
16271         * modules/md2 (EXTRA_DIST): Add md2.h.
16272         * modules/md4 (EXTRA_DIST): Add md4.h.
16273         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
16274         * modules/read-file (EXTRA_DIST): Add read-file.h.
16275         * modules/readline (EXTRA_DIST): Add readline.h.
16276         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
16277         rijndael-api-fst.h.
16278
16279 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
16280
16281         * m4/rijndael.m4 (gl_ARCFOUR):
16282         * m4/arctwo.m4 (gl_ARCTWO):
16283         * m4/check-version.m4 (gl_CHECK_VERSION):
16284         * m4/crc.m4 (gl_CRC):
16285         * m4/des.m4 (gl_DES):
16286         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
16287         * m4/gc.m4 (gl_GC):
16288         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
16289         * m4/getline.m4 (gl_FUNC_GETLINE):
16290         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
16291         * m4/hmac-md5.m4 (gl_HMAC_MD5):
16292         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
16293         * m4/md2.m4 (gl_MD2):
16294         * m4/md4.m4 (gl_MD4):
16295         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
16296         * m4/read-file.m4 (gl_FUNC_READ_FILE):
16297         * m4/readline.m4 (gl_FUNC_READLINE):
16298         * m4/rijndael.m4 (gl_RIJNDAEL):
16299         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
16300         to get the necessary .h files and whatnot.
16301
16302 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
16303
16304         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
16305         gnulib rather than the other way around.
16306         * config/srclistvars.sh (COREUTILS): Remove.
16307
16308 2006-08-22  Jim Meyering  <jim@meyering.net>
16309
16310         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
16311
16312         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
16313
16314 2006-08-22  Eric Blake  <ebb9@byu.net>
16315
16316         * modules/regexprops-generic: New file.
16317         * MODULES.html.sh (Support for building documentation): List it.
16318
16319 2006-08-22  Eric Blake  <ebb9@byu.net>
16320
16321         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
16322         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
16323         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
16324         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
16325
16326 2006-08-22  Bruno Haible  <bruno@clisp.org>
16327
16328         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
16329         and lib_LTLIBRARIES like the other lib_* variables.
16330
16331 2006-08-22  Bruno Haible  <bruno@clisp.org>
16332
16333         * build-aux/x-to-1.in: New file, from GNU gettext.
16334
16335 2006-08-22  Bruno Haible  <bruno@clisp.org>
16336
16337         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
16338         <utmpx.h> exists.
16339
16340 2006-08-22  Bruno Haible  <bruno@clisp.org>
16341
16342         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
16343         <utmpx.h> exists.
16344
16345 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
16346
16347         BeOS portability.
16348         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
16349         exist.
16350         Problem reported by Bruno Haible.
16351
16352 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
16353
16354         Avoid the need for AC_LIBSOURCES in m4 macros.
16355         * modules/acl (EXTRA_DIST): Add acl.h.
16356         * modules/argmatch (Files): Add m4/argmatch.m4.
16357         (configure.ac): Add gl_ARGMATCH.
16358         (EXTRA_DIST): Renamed from lib_SOURCES, for
16359         consistency with the other modules.  Remove argmatch.c.
16360         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
16361         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
16362         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
16363         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
16364         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
16365         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
16366         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
16367         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
16368         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
16369         * modules/closeout (EXTRA_DIST): Add closeout.h.
16370         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
16371         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
16372         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
16373         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
16374         dirname.h; remove basename.c and stripslash.c.
16375         * modules/exclude (EXTRA_DIST): Add exclude.h.
16376         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
16377         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
16378         * modules/file-type (EXTRA_DIST): Add file-type.h.
16379         * modules/filemode (EXTRA_DIST): Add filemode.h.
16380         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
16381         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
16382         * modules/fpending (EXTRA_DIST): Add __fpending.h.
16383         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
16384         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
16385         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
16386         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
16387         * modules/getdate (EXTRA_DIST): Add getdate.c.
16388         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
16389         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
16390         * modules/getpass (EXTRA_DIST): Add getpass.h.
16391         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
16392         * modules/group-member (EXTRA_DIST): Add group-member.h.
16393         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
16394         * modules/hash (EXTRA_DIST): Add hash.h.
16395         * modules/human (EXTRA_DIST): Add human.h.
16396         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
16397         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
16398         * modules/lchown (EXTRA_DIST): Add lchown.h.
16399         * modules/long-options (EXTRA_DIST): Add long-options.h.
16400         * modules/lstat (EXTRA_DIST): Add lstat.h.
16401         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
16402         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
16403         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
16404         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
16405         * modules/memxor (EXTRA_DIST): Add memxor.h.
16406         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
16407         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
16408         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
16409         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
16410         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
16411         * modules/physmem (EXTRA_DIST): Add physmem.h.
16412         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
16413         * modules/posixver (EXTRA_DIST): Add posixver.h.
16414         * modules/quote (EXTRA_DIST): Add quote.h.
16415         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
16416         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
16417         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
16418         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
16419         regex_internal.h regexec.c.
16420         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
16421         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
16422         * modules/same (EXTRA_DIST): Add same.h.
16423         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
16424         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
16425         * modules/savedir (EXTRA_DIST): Add savedir.h.
16426         * modules/sha1 (EXTRA_DIST): Add sha1.h.
16427         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
16428         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
16429         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
16430         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
16431         * modules/strdup (EXTRA_DIST): Add strdup.h.
16432         * modules/strftime (EXTRA_DIST): Add strftime.h.
16433         * modules/strndup (EXTRA_DIST): Add strndup.h.
16434         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
16435         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
16436         * modules/time_r (EXTRA_DIST): Add time_r.h.
16437         * modules/timespec (EXTRA_DIST): Add timespec.h.
16438         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
16439         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
16440         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
16441         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
16442         * modules/userspec (EXTRA_DIST): Add userspec.h.
16443         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
16444         * modules/utimens (EXTRA_DIST): Add utimens.h.
16445         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
16446         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
16447         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
16448         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
16449         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
16450         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
16451         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
16452         * modules/yesno (EXTRA_DIST): Add yesno.h.
16453
16454 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
16455
16456         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
16457
16458         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
16459         * m4/dev-ino.m4, same-inode.m4: Remove.
16460
16461         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
16462         * m4/acl.m4 (AC_FUNC_ACL):
16463         * m4/backupfile.m4 (gl_BACKUPFILE):
16464         * m4/c-strtod.m4 (gl_C99_STRTOLD):
16465         * m4/canon-host.m4 (gl_CANON_HOST):
16466         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
16467         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
16468         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
16469         * m4/cloexec.m4 (gl_CLOEXEC):
16470         * m4/close-stream.m4 (gl_CLOSE_STREAM):
16471         * m4/closeout.m4 (gl_CLOSEOUT):
16472         * m4/dirfd.m4 (gl_FUNC_DIRFD):
16473         * m4/dirname.m4 (gl_DIRNAME):
16474         * m4/exclude.m4 (gl_EXCLUDE):
16475         * m4/exitfail.m4 (gl_EXITFAIL):
16476         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
16477         * m4/file-type.m4 (gl_FILE_TYPE):
16478         * m4/filemode.m4 (gl_FILEMODE):
16479         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
16480         * m4/fpending.m4 (gl_FUNC_FPENDING):
16481         * m4/fprintftime.m4 (gl_FPRINTFTIME):
16482         * m4/fts.m4 (gl_FUNC_FTS):
16483         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
16484         * m4/getdate.m4 (gl_GETDATE):
16485         * m4/gethrxtime.m4 (gl_GETHRXTIME):
16486         * m4/getpagesize.m4 (gl_GETPAGESIZE):
16487         * m4/getpass.m4 (gl_FUNC_GETPASS):
16488         * m4/gettime.m4 (gl_GETTIME):
16489         * m4/getugroups.m4 (gl_GETUGROUPS):
16490         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
16491         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
16492         * m4/hard-locale.m4 (gl_HARD_LOCALE):
16493         * m4/hash.m4 (gl_HASH):
16494         * m4/idcache.m4 (gl_IDCACHE):
16495         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
16496         * m4/lchown.m4 (gl_FUNC_LCHOWN):
16497         * m4/long-options.m4 (gl_LONG_OPTIONS):
16498         * m4/lstat.m4 (gl_FUNC_LSTAT):
16499         * m4/md5.m4 (gl_MD5):
16500         * m4/memcasecmp.m4 (gl_MEMCASECMP):
16501         * m4/memcoll.m4 (gl_MEMCOLL):
16502         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
16503         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
16504         * m4/memxor.m4 (gl_MEMXOR):
16505         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
16506         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
16507         * m4/modechange.m4 (gl_MODECHANGE):
16508         * m4/mountlist.m4 (gl_MOUNTLIST):
16509         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
16510         * m4/openat.m4 (gl_FUNC_OPENAT):
16511         * m4/pathmax.m4 (gl_PATHMAX):
16512         * m4/physmem.m4 (gl_PHYSMEM):
16513         * m4/posixtm.m4 (gl_POSIXTM):
16514         * m4/posixver.m4 (gl_POSIXVER):
16515         * m4/quote.m4 (gl_QUOTE):
16516         * m4/quotearg.m4 (gl_QUOTEARG):
16517         * m4/readtokens.m4 (gl_READTOKENS):
16518         * m4/readutmp.m4 (gl_READUTMP):
16519         * m4/regex.m4 (gl_REGEX):
16520         * m4/safe-read.m4 (gl_SAFE_READ):
16521         * m4/safe-write.m4 (gl_SAFE_WRITE):
16522         * m4/same.m4 (gl_SAME):
16523         * m4/save-cwd.m4 (gl_SAVE_CWD):
16524         * m4/savedir.m4 (gl_SAVEDIR):
16525         * m4/settime.m4 (gl_SETTIME):
16526         * m4/sha1.m4 (gl_SHA1):
16527         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
16528         * m4/stat-macros.m4 (gl_STAT_MACROS):
16529         * m4/stat-time.m4 (gl_STAT_TIME):
16530         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
16531         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
16532         * m4/strdup.m4 (gl_FUNC_STRDUP):
16533         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
16534         * m4/strndup.m4 (gl_FUNC_STRNDUP):
16535         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
16536         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
16537         * m4/time_r.m4 (gl_TIME_R):
16538         * m4/timespec.m4 (gl_TIMESPEC):
16539         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
16540         * m4/unlinkdir.m4 (gl_UNLINKDIR):
16541         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
16542         * m4/userspec.m4 (gl_USERSPEC):
16543         * m4/utimecmp.m4 (gl_UTIMECMP):
16544         * m4/utimens.m4 (gl_UTIMENS):
16545         * m4/xalloc.m4 (gl_XALLOC):
16546         * m4/xgetcwd.m4 (gl_XGETCWD):
16547         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
16548         * m4/xreadlink.m4 (gl_XREADLINK):
16549         * m4/xstrtod.m4 (gl_XSTRTOD):
16550         * m4/yesno.m4 (gl_YESNO):
16551         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
16552         to get the necessary .h files and whatnot.
16553
16554 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
16555             Bruno Haible  <bruno@clisp.org>
16556
16557         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
16558         /bin/sh understanding of '!' conditional negation.
16559
16560 2006-08-21  Jim Meyering  <jim@meyering.net>
16561
16562         * modules/openat (Depends-on): Really alphabetize.
16563
16564         * modules/acl (Depends-on): Add error and quote.
16565
16566         * check-module (find_included_lib_files): Add at-func.c to the
16567         ok-to-include-more-than-once white list.
16568
16569         * modules/openat (Depends-on): Add lstat.  Alphabetize.
16570
16571 2006-08-21  Bruno Haible  <bruno@clisp.org>
16572
16573         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
16574         Emit a pkgdata_DATA variable only if some snippets add contents to it.
16575         Reported by Martin Lambers <marlam@marlam.de>.
16576
16577 2006-08-21  Bruno Haible  <bruno@clisp.org>
16578
16579         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
16580         specify an installation location, don't emit a noinst_LIBRARIES or
16581         noinst_LTLIBRARIES assignment.
16582
16583 2006-08-21  Bruno Haible  <bruno@clisp.org>
16584
16585         BeOS portability.
16586         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
16587         BeOS has mbrtowc() but no <wctype.h>.
16588
16589 2006-08-21  Bruno Haible  <bruno@clisp.org>
16590
16591         BeOS portability.
16592         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
16593         exist.
16594
16595 2006-08-21  Bruno Haible  <bruno@clisp.org>
16596
16597         BeOS portability.
16598         * lib/mbchar.h: Include <wctype.h> only if it exists.
16599
16600 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
16601
16602         Remove files that are no longer needed by their respective modules.
16603         * m4/obstack.m4: Remove.
16604         * m4/strerror_r.m4: Remove.
16605         * m4/uint32_t.m4: Remove.
16606         * m4/uintptr_t.m4: Remove.
16607         * m4/ullong_max.m4: Remove.
16608         * m4/xstrtoimax.m4: Remove.
16609         * m4/xstrtoumax.m4: Remove.
16610
16611         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
16612         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
16613         dependencies now capture this.
16614
16615         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
16616         Do not use AC_LIBSOURCES, since gnulib modules now do this.
16617         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
16618         * m4/human.m4 (gl_HUMAN): Likewise.
16619         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
16620         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
16621
16622         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
16623
16624         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
16625         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
16626         stdint.
16627         * m4/human.m4 (gl_HUMAN): Likewise.
16628         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
16629         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
16630         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
16631         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
16632         * m4/xstrtol (gl_XSTRTOL): Likewise.
16633
16634         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
16635         AC_TYPE_LONG_LONG_INT.
16636         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
16637         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
16638         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
16639         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
16640
16641         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
16642         on stdbool.
16643
16644         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
16645         (gl_PREREQ_XSTRTOUL): Remove.
16646
16647         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
16648
16649         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
16650         mode.
16651
16652 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
16653
16654         Add and change modules to make it easier for coreutils to use
16655         gnulib-tool.
16656         * modules/backupfile (Files): Remove m4/d-ino.m4.
16657         (Depends-on): Add d-ino.
16658         * modules/cycle-check (Depends-on): Add stdint.
16659         (lib_SOURCES): Add cycle-check.h.
16660         * modules/d-ino: New module.
16661         * modules/d-type: New module.
16662         * modules/error (Files): Remove m4/strerror_r.m4.
16663         * modules/filemode (Files): Add m4/st_dm_mode.m4.
16664         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
16665         m4/inttypes_h.m4, m4/uintmax_t.m4.
16666         (Depends-on): Add stdint.
16667         (lib_SOURCES): Add fsusage.h.
16668         * modules/getcwd (Files): Remove d-ino.m4.
16669         (Depends-on): Add d-ino.
16670         * modules/getndelim2 (Depends-on): Add stdint.
16671         * modules/glob (Files): Remove m4/d-type.m4.
16672         (Depends-on): Add d-type.
16673         * modules/host-os: New module.
16674         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
16675         m4/inttypes_h.m4, m4/uintmax_t.m4.
16676         * Depends-on: Add stdint.
16677         (lib_SOURCES): Add human.h.
16678         * modules/inttostr (Files): Remove m4/intmax_t.m4,
16679         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
16680         m4/uintmax_t.m4, m4/ulonglong.m4.
16681         (Depends-on): Add stdint.
16682         (EXTRA_DIST): Add inttostr.h.
16683         * modules/lchmod: New module.
16684         * modules/link-follow: New module.
16685         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
16686         (Depends-on): Add lchmod.
16687         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
16688         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
16689         (Depends-on): Add stdint.
16690         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
16691         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
16692         (Depends-on): Add stdint.
16693         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
16694         * modules/perl: New module.
16695         * modules/regex (Depends-on): Add stdint.
16696         * modules/rmdir-errno: New module.
16697         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
16698         m4/intmax_t.m4.
16699         (Depends-on): Add stdint.
16700         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
16701         m4/uintmax_t.m4.
16702         (Depends-on): Add stdint.
16703         * modules/unlink-busy: New module.
16704         * modules/utimecmp (Depends-on): Add stdint.
16705         * modules/uptime: New module.
16706         * modules/winsz-ioctl: New module.
16707         * modules/winsz-termios: New module.
16708         * modules/xnanosleep (Depends-on): Add nanosleep.
16709         * modules/ullong_max: Remove.
16710         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
16711         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
16712         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
16713         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
16714         (Depends-on): Add inttypes.
16715         (lib_SOURCES): Add xstrtol.h.
16716         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
16717         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
16718         * MODULES.html.sh: Move 'assert' into the assert section.
16719         Move 'dummy' into the linking section.
16720         Remove ullong_max.
16721         Add section for compatibility checks for POSIX:2001 functions,
16722         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
16723         winsz-ioctl, and winsz-termios into it.
16724         Add lchmod.
16725         Add top-level Misc section and put host-os, perl, and uptime
16726         into it.
16727
16728 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
16729
16730         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
16731         now assume the stdint module.  Do not include inttypes.h.
16732         * lib/fsusage.h: Likewise.
16733         * lib/getndelim2.c: Likewise.
16734         * lib/human.h: Likewise.
16735         * lib/inttostr.h: Likewise.
16736         * lib/obstack.c: Likewise.
16737         * lib/regex_internal.h: Likewise.
16738         * lib/tempname.c: Likewise.
16739         * lib/utimecmp.c: Likewise.
16740         * lib/xstrtol.h: Likewise.
16741
16742         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
16743
16744         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
16745         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
16746         * lib/xtime.h: Likewise.
16747
16748 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
16749
16750         * modules/openat (Files): Add lib/fchmodat.c.
16751         Fixes problem reported by Jay Youngman.
16752
16753 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
16754
16755         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
16756         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
16757
16758 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
16759             Bruno Haible  <bruno@clisp.org>
16760
16761         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
16762         and is a script that invokes bison. Tighten the code. Add comments.
16763
16764 2006-08-18  Jim Meyering  <jim@meyering.net>
16765
16766         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
16767         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
16768         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
16769         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
16770
16771 2006-08-18  Bruno Haible  <bruno@clisp.org>
16772
16773         * modules/bison-i18n: New file.
16774         * MODULES.html.sh (Internationalization functions): Add it.
16775
16776 2006-08-18  Bruno Haible  <bruno@clisp.org>
16777
16778         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
16779         sys/statvfs.h. When getmntinfo was found, check its declaration and
16780         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
16781
16782 2006-08-18  Bruno Haible  <bruno@clisp.org>
16783
16784         * m4/bison-i18n.m4: New file, from bison.
16785
16786 2006-08-18  Bruno Haible  <bruno@clisp.org>
16787
16788         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
16789         (ME_DUMMY): Treat "kernfs" as a dummy.
16790         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
16791
16792 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
16793
16794         Update from coreutils.
16795
16796         2006-08-15  Jim Meyering  <jim@meyering.net>
16797
16798         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
16799
16800         2006-01-17  Jim Meyering  <jim@meyering.net>
16801
16802         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
16803
16804         2006-01-11  Jim Meyering  <jim@meyering.net>
16805
16806         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
16807         Check for the lchmod function.
16808
16809 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
16810
16811         Update from coreutils.
16812
16813         * lib/__fpending.h: Add copyright notice.
16814         * lib/fprintftime.h: Likewise.
16815         * lib/savedir.c: Use (C) in copyright notice.
16816         * lib/savedir.h: Likewise.
16817
16818         2006-08-15  Jim Meyering  <jim@meyering.net>
16819
16820         * lib/at-func.c: New file, with the logic of all emulated at-functions.
16821         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
16822         in support of the EXPECTED_ERRNO macro.
16823         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
16824         definitions.  Instead, define the appropriate symbols and include
16825         "at-func.c".
16826         * lib/mkdirat.c (mkdirat): Likewise.
16827         * lib/fchmodat.c (fchmodat): Likewise.
16828         (ENOSYS): Remove definition.
16829         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
16830         it.  Don't include "unistd--.h" -- it wasn't ever used.
16831
16832         2006-01-17  Jim Meyering  <jim@meyering.net>
16833
16834         Rewrite fts.c not to change the current working directory,
16835         by using openat, fstatat, fdopendir, etc..
16836
16837         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
16838         (HAVE_OPENAT_SUPPORT): Define.
16839         [_LIBC] (fchdir): Don't undef or define; no longer used.
16840         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
16841         Now, this `function' always succeeds, and consumes its file descriptor
16842         parameter -- so callers must not close such FDs.  Update callers.
16843         (diropen_fd, opendirat, cwd_advance_fd): New functions.
16844         (diropen): Add parameter, SP.  Adjust all callers.
16845         Implement using diropen_fd, rather than open.
16846         (fts_open): Initialize new member, fts_cwd_fd.
16847         Remove fts_rft-setting code.
16848         (fts_close): Close fts_cwd_fd, if necessary.
16849         (__opendir2): Define in terms of opendir or opendirat,
16850         depending on whether the FST_NOCHDIR flag is set.
16851         (fts_build): Since fts_safe_changedir consumes its FD, and since
16852         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
16853         and close the dup'd file descriptor upon failure.
16854         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
16855         (fts_safe_changedir): Tweak semantics to reflect that this function
16856         now calls cwd_advance_fd and hence consumes its FD argument.
16857         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
16858         [struct FTS] (fts_rft): Remove now-unused member.
16859         [struct FTS] (fts_cycle.state): Improve comment.
16860
16861         * lib/openat.c (openat_needs_fchdir): New function.
16862         * lib/openat.h (openat_needs_fchdir): Declare it.
16863
16864 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
16865
16866         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
16867         Problem and fix reported by Pádraig Brady in
16868         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
16869
16870 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
16871
16872         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
16873
16874 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
16875
16876         * lib/memcoll.c (memcoll): Optimize for the common case where the
16877         arguments are bytewise equal.
16878
16879 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
16880
16881         * doc/regexprops-generic.texi: Add a copyright notice.
16882
16883 2006-08-15  Bruno Haible  <bruno@clisp.org>
16884
16885         * modules/tmpdir (License): Change to LGPL.
16886
16887 2006-08-15  Bruno Haible  <bruno@clisp.org>
16888
16889         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
16890         module.
16891
16892 2006-08-14  Simon Josefsson  <jas@extundo.com>
16893
16894         * config/srclist.txt: Add gnupload.
16895
16896 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
16897
16898         Change copyright notice from LGPL 2 to GPL 2, since that's the
16899         standard form used in the gnulib repository.
16900         * tests/test-lock.c: Likewise.
16901         * tests/test-stdint.c: Likewise.
16902         * tests/test-tls.c: Likewise.
16903
16904         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
16905         prelude-manager.  User shorter URLs for GNU projects, without '?'.
16906         Add copyright notice.
16907
16908         * check-module: Add copyright notice.  Output a copyright
16909         notice if "--version" is specified.
16910         * modules/COPYING: New file.
16911         * tests/test-getaddrinfo.c: Add copyright notice.
16912         * tests/test-verify.c: Likewise.
16913
16914 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
16915
16916         Change copyright notice from LGPL 2 to GPL 2, since that's the
16917         standard form used in the gnulib repository.
16918         * lib/lock.c: LGPL -> GPL.
16919         * lib/lock.h: Likewise.
16920         * lib/strnlen1.c: Likewise.
16921         * lib/strnlen1.h: Likewise.
16922         * lib/tls.c: Likewise.
16923         * lib/tls.h: Likewise.
16924         * lib/tmpdir.c: Likewise.
16925
16926         * lib/TODO: Remove; this belongs only in coreutils.
16927
16928 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
16929
16930         Add copyright notices to long-enough files that lack them, since
16931         otherwise the files aren't clearly free.  Use the same notice that
16932         getdate.texi already uses.
16933         * doc/alloca-opt.texi: Add copyright notice.
16934         * doc/alloca.texi: Likewise.
16935         * doc/ctime.texi: Likewise.
16936         * doc/functions.texi: Likewise.
16937         * doc/gcd.texi: Likewise.
16938         * doc/gnulib-tool.texi: Likewise.
16939         * doc/inet_ntoa.texi: Likewise.
16940         * doc/visibility.texi: Likewise.
16941
16942         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
16943         * doc/quote.texi: Add copyright notice.
16944
16945         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
16946         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
16947         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
16948         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
16949         is now obsolete, and give a pointer to the Sun list.
16950         Add copyright notice.
16951
16952 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
16953
16954         * config/srclistvars.sh: Add copyright notice.
16955
16956 2006-08-14  Eric Blake  <ebb9@byu.net>
16957
16958         Import the following change from libc:
16959
16960         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
16961
16962         Upstream bug 2997.
16963         * lib/misc/error.c: Add space between program name and message if file
16964         name is missing.
16965
16966 2006-08-12  Karl Berry  <karl@gnu.org>
16967
16968         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
16969         remove, these originate in gnulib now.
16970
16971 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16972
16973         * doc/Makefile (standards.info standards.html standards.dvi):
16974         Also depend on make-stds.texi.
16975
16976 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
16977
16978         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
16979         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
16980
16981         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
16982         in wchar_t.  Problem reported by Eric Blake.
16983
16984         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
16985         LEN is smaller than SIZE.  Suggested by Bruno Haible.
16986         Also, help the compiler to keep LEN in a register.
16987
16988 2006-08-11  Eric Blake  <ebb9@byu.net>
16989
16990         * users.txt: Sort.  Add tar.
16991
16992 2006-08-11  Bruno Haible  <bruno@clisp.org>
16993
16994         * users.txt: New file.
16995
16996 2006-08-11  Bruno Haible  <bruno@clisp.org>
16997
16998         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
16999         before <wchar.h>. Needed for OSF/1 and BSD/OS.
17000
17001 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
17002
17003         * modules/snprintf (Depends-on): Remove minmax.
17004         (Maintainer): Add self and Bruno.
17005
17006 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
17007
17008         * lib/.cppi-disable: Add snprintf.h, socket_.h.
17009         * lib/snprintf.c: Include <errno.h> and <limits.h>.
17010         (EOVERFLOW): Define if the system does not.
17011         Do not include "minmax.h"; it wasn't used.
17012         (snprintf): Don't assume size_t promotes to an unsigned type.
17013         Fix bug when generated string was too long for the buffer: the
17014         buffer's contents are supposed to be the initial prefix of the
17015         output.  Don't assume vasnprintf returns EOVERFLOW if the size
17016         exceeds INT_MAX; do the check ourselves.
17017
17018         Import the following changes from libc:
17019
17020         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
17021
17022         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
17023         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
17024         set wc to the byte which couldn't be converted.
17025         (re_string_reconstruct): Don't clear valid_raw_len before calling
17026         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
17027         tip_context using re_string_context_at.
17028
17029         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
17030
17031         * lib/posix/regex.h: g++ still cannot handled [restrict].
17032
17033         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
17034
17035         * lib/posix/regex.h: Remove special handling for VMS.
17036
17037 2006-08-10  Jim Meyering  <jim@meyering.net>
17038
17039         * modules/same-inode: New module.
17040         * modules/dev-ino: New module.
17041         * modules/cycle-check: Depend on these modules, rather than simply
17042         including their .h files.
17043         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
17044         required via m4/cycle-check.m4.
17045         * modules/same: Depend on new same-inode module, rather than
17046         including same-inode.h.
17047         * modules/chdir-safer: New file.
17048
17049         * modules/chown (Depends-on): Add stat-macros.
17050
17051 2006-08-10  Jim Meyering  <jim@meyering.net>
17052
17053         * m4/cycle-check.m4: New file.
17054         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
17055         * m4/dev-ino.m4, m4/same-inode.m4: New files.
17056
17057 2006-08-10  Eric Blake  <ebb9@byu.net>
17058
17059         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
17060         in from original proposal.
17061
17062 2006-08-10  Eric Blake  <ebb9@byu.net>
17063         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17064
17065         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
17066         namespace.
17067
17068 2006-08-10  Bruno Haible  <bruno@clisp.org>
17069
17070         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
17071         as well.
17072
17073 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17074
17075         Sync from coreutils.
17076
17077         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
17078
17079         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
17080         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
17081
17082 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17083
17084         * modules/restrict: Remove; no longer needed now that we assume
17085         Autoconf 2.59 or later.
17086         * MODULES.html.sh: Remove 'restrict'.
17087         * modules/argp (Depends-on): Remove 'restrict'.
17088         * modules/base64 (Depends-on): Likewise.
17089         * modules/gc (Depends-on): Likewise.
17090         * modules/getaddrinfo (Depends-on): Likewise.
17091         * modules/glob (Depends-on): Likewise.
17092         * modules/inet_ntop (Depends-on): Likewise.
17093         * modules/inet_pton (Depends-on): Likewise.
17094         * modules/memxor (Depends-on): Likewise.
17095         * modules/regex (Depends-on): Likewise.
17096         * modules/strtok_r (Depends-on): Likewise.
17097         * modules/time_r (Depends-on): Likewise.
17098
17099 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17100
17101         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
17102         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
17103         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
17104         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
17105         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
17106         * m4/memxor.m4 (gl_MEMXOR): Likewise.
17107         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
17108         gl_C_RESTRICT replaced by AC_C_RESTRICT.
17109
17110         Merge from coreutils.
17111         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
17112         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
17113         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
17114         * m4/time_r.m4 (gl_TIME_R): Likewise.
17115
17116 2006-08-09  Karl Berry  <karl@gnu.org>
17117
17118         * config/srclist.txt: no more gettext-tools, per Bruno.
17119
17120 2006-08-08  Eric Blake  <ebb9@byu.net>
17121
17122         * modules/verror: New module.
17123         * MODULES.html.sh: Document it.
17124
17125 2006-08-08  Eric Blake  <ebb9@byu.net>
17126
17127         * lib/verror.h, lib/verror.c: New files.
17128
17129 2006-08-08  Eric Blake  <ebb9@byu.net>
17130
17131         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
17132         verror_at_line output complies with GNU Coding Standards even when
17133         file is NULL.
17134
17135 2006-08-07  Bruno Haible  <bruno@clisp.org>
17136
17137         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
17138         versions of AIX.
17139         Reported by Ralf Wildenhues.
17140
17141 2006-08-07  Bruno Haible  <bruno@clisp.org>
17142
17143         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
17144         in an AC_DEFUN. Needed so that the autoconf snippets can use
17145         AC_REQUIRE.
17146
17147 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17148
17149         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
17150         Initialize pkgdata_DATA.
17151         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
17152         overriding it.
17153
17154 2006-08-06  Eric Blake  <ebb9@byu.net>
17155
17156         * lib/error.h: Fold in some upstream changes from glibc.
17157         * lib/error.c: Likewise.
17158
17159 2006-08-04  Bruno Haible  <bruno@clisp.org>
17160
17161         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
17162         Make the mostlyclean-local rule depend on mostlyclean-generic.
17163         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
17164
17165 2006-07-31  Bruno Haible  <bruno@clisp.org>
17166
17167         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
17168         <stdlib.h>, <string.h>.
17169
17170 2006-07-30  Bruno Haible  <bruno@clisp.org>
17171
17172         * modules/readlink (License): Change to LGPL.
17173
17174 2006-07-30  Bruno Haible  <bruno@clisp.org>
17175
17176         * modules/javaversion (Makefile.am): Distribute javaversion.java and
17177         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
17178         set PKGDATADIR to point to it.
17179
17180 2006-07-30  Bruno Haible  <bruno@clisp.org>
17181
17182         * modules/csharpexec (configure.ac): Comment out macro invocation.
17183         * modules/javaexec (configure.ac): Likewise.
17184         * modules/javacomp-script (configure.ac): Likewise.
17185
17186         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
17187
17188 2006-07-30  Bruno Haible  <bruno@clisp.org>
17189
17190         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
17191         linked-list.
17192
17193 2006-07-30  Bruno Haible  <bruno@clisp.org>
17194
17195         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
17196
17197 2006-07-30  Bruno Haible  <bruno@clisp.org>
17198
17199         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
17200         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
17201         get removed.
17202
17203 2006-07-29  Bruno Haible  <bruno@clisp.org>
17204
17205         Make it possible for gnulib-tool to work with locally modified or
17206         augmented gnulib repositories.
17207         * gnulib-tool (func_usage): Document --local-dir option.
17208         (local_gnulib_dir): New variable.
17209         Handle --local-dir option.
17210         (func_lookup_file): New function.
17211         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
17212         (func_get_description, func_get_filelist, func_get_description,
17213         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
17214         func_get_automake_snippet, func_get_include_directive,
17215         func_get_license, func_get_maintainer): Use func_lookup_file.
17216         (func_import, func_create_testdir): Use func_lookup_file.
17217
17218 2006-07-29  Bruno Haible  <bruno@clisp.org>
17219
17220         * modules/setenv (Depends-on): Add unistd.
17221
17222 2006-07-29  Bruno Haible  <bruno@clisp.org>
17223
17224         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
17225
17226 2006-07-29  Bruno Haible  <bruno@clisp.org>
17227
17228         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
17229
17230 2006-07-29  Bruno Haible  <bruno@clisp.org>
17231
17232         * gnulib-tool (import, update): If there is no Makefile.am, look at
17233         aclocal.m4, instead of bailing out.
17234
17235 2006-07-29  Bruno Haible  <bruno@clisp.org>
17236
17237         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
17238         Categorize the options by when they are useful.
17239
17240 2006-07-29  Bruno Haible  <bruno@clisp.org>
17241
17242         * gnulib-tool (func_usage): Document option --no-libtool.
17243         Handle option --no-libtool.
17244         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
17245         for changed semantics of $libtool variable.
17246         (func_import): Likewise. If libtool is not used, show this through
17247         an option --no-libtool.
17248         (func_create_testdir): Update.
17249
17250 2006-07-29  Bruno Haible  <bruno@clisp.org>
17251
17252         * gnulib-tool (func_import): Extend error message about missing
17253         --doc-base.
17254
17255 2006-07-29  Bruno Haible  <bruno@clisp.org>
17256
17257         * gnulib-tool (func_import): Don't create the $docbase directory if
17258         there is no file to store there.
17259
17260 2006-07-29  Bruno Haible  <bruno@clisp.org>
17261
17262         * gnulib-tool (autoconf_minversion): If a --dir option is given and
17263         relevant, look for configure.ac there, not in the current directory.
17264         Also use a simple search for AC_PREREQ, not "autoconf --trace".
17265
17266 2006-07-29  Bruno Haible  <bruno@clisp.org>
17267
17268         * gnulib-tool (SORT): New variable.
17269         (func_usage): Undocument --assume-autoconf option.
17270         Remove --assume-autoconf option handling.
17271         (autoconf_minversion): Determine from the contents of configure.ac.
17272         (func_import): Remove autoconf_minversion handling.
17273         Suggested by Eric Blake.
17274
17275 2006-07-29  Bruno Haible  <bruno@clisp.org>
17276
17277         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
17278
17279 2006-07-29  Bruno Haible  <bruno@clisp.org>
17280
17281         * config/srclist.txt (*setenv.[ch]): Remove rules.
17282
17283 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17284
17285         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
17286
17287 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17288
17289         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
17290         arpa/inet.h.
17291
17292 2006-07-28  Simon Josefsson  <jas@extundo.com>
17293
17294         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
17295         * modules/inet_pton (Depends-on): Likewise.
17296
17297 2006-07-28  Simon Josefsson  <jas@extundo.com>
17298
17299         * m4/netinet_in_h.m4: New file.
17300
17301 2006-07-28  Simon Josefsson  <jas@extundo.com>
17302
17303         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
17304         #include's.
17305
17306 2006-07-28  Simon Josefsson  <jas@extundo.com>
17307
17308         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
17309         #include's.
17310
17311 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
17312
17313         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
17314         setgid on directories only if they set these bits.
17315         * lib/modechange.h: Remove obsolete comment about masks.
17316
17317 2006-07-28  Eric Blake  <ebb9@byu.net>
17318
17319         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
17320         macro expansion.
17321
17322 2006-07-28  Bruno Haible  <bruno@clisp.org>
17323
17324         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
17325
17326 2006-07-28  Bruno Haible  <bruno@clisp.org>
17327
17328         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
17329
17330 2006-07-28  Bruno Haible  <bruno@clisp.org>
17331
17332         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
17333         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
17334         Define fallbacks.
17335         Avoids link error on FreeBSD 4.x.
17336         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
17337
17338         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
17339         encoding.
17340         * lib/mbswidth.c (iswcntrl): Likewise.
17341
17342 2006-07-27  Bruno Haible  <bruno@clisp.org>
17343
17344         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
17345         test.
17346
17347 2006-07-27  Bruno Haible  <bruno@clisp.org>
17348
17349         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
17350         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
17351         defined.
17352
17353 2006-07-26  Eric Blake  <ebb9@byu.net>
17354
17355         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
17356
17357 2006-07-26  Eric Blake  <ebb9@byu.net>
17358
17359         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
17360         like mingw that lack mkstemp.
17361         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
17362         avoid compilation warning on mingw.
17363
17364 2006-07-26  Bruno Haible  <bruno@clisp.org>
17365
17366         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
17367         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
17368         INT_FAST*_MIN, INTPTR_MIN.
17369
17370 2006-07-25  Bruno Haible  <bruno@clisp.org>
17371
17372         * modules/version-etc (Depends-on): Add stdarg.
17373
17374 2006-07-25  Bruno Haible  <bruno@clisp.org>
17375
17376         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
17377         complex commands.
17378
17379 2006-07-25  Bruno Haible  <bruno@clisp.org>
17380
17381         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
17382         defined in <stdarg.h> or config.h.
17383
17384 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
17385
17386         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
17387         (gl_STDIO_SAFER): Remove.
17388
17389 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
17390
17391         * MODULES.html.sh (File stream based Input/Output):
17392         Add fopen-safer, tmpfile-safer; remove stdio-safer.
17393         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
17394         * modules/fopen-safer, modules/tmpfile-safer: New files.
17395         * modules/stdio-safer: Remove.
17396
17397 2006-07-24  Bruno Haible  <bruno@clisp.org>
17398
17399         * modules/tmpdir: New file.
17400         * MODULES.html.sh (File system functions): Add it.
17401
17402 2006-07-24  Bruno Haible  <bruno@clisp.org>
17403
17404         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
17405         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
17406
17407 2006-07-24  Bruno Haible  <bruno@clisp.org>
17408
17409         * modules/clean-temp: New file.
17410
17411 2006-07-24  Bruno Haible  <bruno@clisp.org>
17412
17413         * m4/tmpdir.m4: New file, from GNU gettext.
17414
17415 2006-07-24  Bruno Haible  <bruno@clisp.org>
17416
17417         * lib/tmpdir.h: New file, from GNU gettext.
17418         * lib/tmpdir.c: New file, from GNU gettext.
17419
17420 2006-07-24  Bruno Haible  <bruno@clisp.org>
17421
17422         * lib/clean-temp.h: New file, from GNU gettext.
17423         * lib/clean-temp.c: New file, from GNU gettext.
17424
17425 2006-07-23  Eric Blake  <ebb9@byu.net>
17426
17427         * modules/stdio-safer (Files): Add tmpfile-safer.c.
17428         (Depends-on): Add binary-io.
17429
17430 2006-07-23  Eric Blake  <ebb9@byu.net>
17431
17432         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
17433
17434 2006-07-23  Eric Blake  <ebb9@byu.net>
17435
17436         * lib/tmpfile-safer.c: New file.
17437         * lib/stdio-safer.h (fopen_safer): Add prototype.
17438         * lib/stdio--.h (tmpfile): Make safer.
17439
17440 2006-07-23  Bruno Haible  <bruno@clisp.org>
17441
17442         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
17443         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
17444         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
17445         gl_linked_remove_at): Use it.
17446
17447 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17448         and Simon Josefsson <jas@extundo.com>
17449
17450         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
17451
17452         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
17453
17454 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
17455
17456         * modules/close-stream: New file.
17457         * modules/closeout (Description): Make it clear that it exits
17458         with a diagnostic on error.
17459         (Depends-on): Add close-stream.  Remove fpending, stdbool.
17460         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
17461
17462 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
17463
17464         * m4/close-stream.m4: New file.
17465
17466 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
17467
17468         * lib/close-stream.c, lib/close-stream.h: New files.
17469
17470 2006-07-22  Bruno Haible  <bruno@clisp.org>
17471
17472         Merge from GNU gettext 0.15.
17473
17474         2006-05-01  Bruno Haible  <bruno@clisp.org>
17475
17476                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
17477
17478         2006-07-22  Bruno Haible  <bruno@clisp.org>
17479
17480                 * modules/javaversion: New file.
17481                 * MODULES.html.sh (Java): Add javaversion.
17482
17483         2006-03-12  Bruno Haible  <bruno@clisp.org>
17484
17485                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
17486
17487         2005-12-04  Bruno Haible  <bruno@clisp.org>
17488
17489                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
17490                 (untested).
17491
17492         2006-06-21  Bruno Haible  <bruno@clisp.org>
17493
17494                 Avoid warnings from recent versions of mcs.
17495                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
17496                 -o, -L, -r any more. Use options documented since mcs-1.0
17497                 instead. Similarly for -g.
17498
17499         2005-12-04  Bruno Haible  <bruno@clisp.org>
17500
17501                 * build-aux/csharpcomp.sh.in: Suffix for resources is
17502                 .resources, not .resource.
17503
17504         2005-07-09  Bruno Haible  <bruno@clisp.org>
17505
17506                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
17507                 add a .dll suffix.
17508                 Reported by Mark Junker <mjscod@gmx.de>.
17509
17510         2006-07-22  Bruno Haible  <bruno@clisp.org>
17511
17512                 * modules/gettext: Upgrade to gettext-0.15.
17513                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
17514                 m4/visibility.m4.
17515                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
17516
17517 2006-07-22  Bruno Haible  <bruno@clisp.org>
17518
17519         Merge from GNU gettext 0.15.
17520
17521         2006-03-25  Bruno Haible  <bruno@clisp.org>
17522
17523                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
17524
17525         2006-07-21  Bruno Haible  <bruno@clisp.org>
17526
17527                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
17528                 "1.1".
17529
17530         2006-05-09  Bruno Haible  <bruno@clisp.org>
17531
17532                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
17533                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
17534                 for the conftestver execution.
17535
17536         2006-05-01  Bruno Haible  <bruno@clisp.org>
17537
17538                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
17539                 optional target-version argument. Verify that the compiler
17540                 groks source of the specified source-version, or add -source
17541                 option as necessary. Verify that the compiler produces
17542                 bytecode in the specified target-version, or add -target and
17543                 -source options as necessary. Make the result of the test
17544                 available as variable CONF_JAVAC. Also log error output in
17545                 config.log.
17546
17547         2006-03-11  Bruno Haible  <bruno@clisp.org>
17548
17549                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
17550
17551         2006-05-09  Bruno Haible  <bruno@clisp.org>
17552
17553                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
17554                 CLASSPATH_SEPARATOR to a semicolon.
17555
17556         2006-03-12  Bruno Haible  <bruno@clisp.org>
17557
17558                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
17559                 available as variable CONF_JAVA, for subsequent autoconf
17560                 tests. Also log error output in config.log.
17561
17562         2006-07-19  Bruno Haible  <bruno@clisp.org>
17563
17564                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
17565                 that getline works on glibc2 systems. Needed to avoid trouble
17566                 in relocatable.c.
17567                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
17568
17569         2005-12-04  Bruno Haible  <bruno@clisp.org>
17570
17571                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
17572                 launcher (untested).
17573
17574         2005-12-04  Bruno Haible  <bruno@clisp.org>
17575
17576                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
17577
17578         2006-07-22  Bruno Haible  <bruno@clisp.org>
17579
17580                 * gettext.m4: Update from GNU gettext-0.15.
17581                 * nls.m4: Likewise.
17582                 * po.m4: Likewise.
17583                 * inttypes-pri.m4: Likewise.
17584                 * inttypes-h.m4: Renamed from inttypes.m4.
17585                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
17586
17587 2006-07-22  Bruno Haible  <bruno@clisp.org>
17588
17589         Merge from GNU gettext 0.15.
17590
17591         2005-07-05  Bruno Haible  <bruno@clisp.org>
17592
17593                 * printf-args.c (printf_fetchargs): Work around broken
17594                 definition of wint_t on mingw.
17595
17596         2005-02-12  Bruno Haible  <bruno@clisp.org>
17597
17598                 * xallocsa.h: Add extern "C" for C++.
17599
17600         2006-05-17  Bruno Haible  <bruno@clisp.org>
17601
17602                 Cygwin portability.
17603                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
17604
17605         2006-04-30  Bruno Haible  <bruno@clisp.org>
17606
17607                 * progreloc.c: Include <mach-o/dyld.h> if available.
17608                 (find_executable): Use _NSGetExecutablePath when possible.
17609
17610         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
17611
17612                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
17613                 function.
17614
17615         2005-12-29  Bruno Haible  <bruno@clisp.org>
17616
17617                 * progreloc.c (set_program_name_and_installdir): Fix
17618                 compilation error.
17619
17620         2005-12-04  Bruno Haible  <bruno@clisp.org>
17621
17622                 Cygwin portability.
17623                 * progreloc.c: Include <windows.h> also on Cygwin.
17624                 (find_executable): Add support for Cygwin.
17625                 (set_program_name_and_installdir): Handle also platforms with
17626                 nonempty EXEEXT.
17627
17628         2006-07-11  Bruno Haible  <bruno@clisp.org>
17629
17630                 * javacomp.c: Fix a comment.
17631                 Reported by Jim Meyering.
17632
17633         2006-04-30  Bruno Haible  <bruno@clisp.org>
17634
17635                 * javacomp.h (compile_java_class): Add source_version,
17636                 target_version arguments.
17637                 * javacomp.c: Rewritten to choose only a compiler that
17638                 respects the specified source_version and target_version.
17639
17640         2006-06-27  Bruno Haible  <bruno@clisp.org>
17641
17642                 Assume correct S_ISDIR macro.
17643                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
17644
17645         2006-07-22  Bruno Haible  <bruno@clisp.org>
17646
17647                 * javaversion.h: New file, from GNU gettext.
17648                 * javaversion.c: New file, from GNU gettext.
17649                 * javaversion.java: New file, from GNU gettext.
17650                 * javaversion.class: New file, from GNU gettext.
17651
17652         2006-05-17  Bruno Haible  <bruno@clisp.org>
17653
17654                 Cygwin portability.
17655                 * javaexec.c (execute_java_class): Test for jview program
17656                 also on Cygwin.
17657
17658         2006-04-09  Bruno Haible  <bruno@clisp.org>
17659
17660                 * fatal-signal.c: Don't include string.h.
17661                 (at_fatal_signal): Use a copying loop instead of memcpy.
17662
17663         2005-12-04  Bruno Haible  <bruno@clisp.org>
17664
17665                 * csharpexec.c: Add support for 'clix' launcher (untested).
17666                 (execute_csharp_using_sscli): New function.
17667                 (execute_csharp_program): Call it.
17668
17669         2006-06-21  Bruno Haible  <bruno@clisp.org>
17670
17671                 Avoid warnings from recent versions of mcs.
17672                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
17673                 -o, -L, -r any more. Use options documented since mcs-1.0
17674                 instead. Similarly for -g.
17675
17676         2005-07-09  Bruno Haible  <bruno@clisp.org>
17677
17678                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
17679                 add a .dll suffix.
17680                 Reported by Mark Junker <mjscod@gmx.de>.
17681
17682         2006-06-17  Bruno Haible  <bruno@clisp.org>
17683
17684                 * config.charset: Update for NetBSD 3.0.
17685
17686         2006-05-17  Bruno Haible  <bruno@clisp.org>
17687
17688                 Cygwin portability.
17689                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
17690
17691         2006-05-16  Bruno Haible  <bruno@clisp.org>
17692
17693                 * localcharset.c [CYGWIN]: Include <windows.h>.
17694                 (get_charset_aliases): For Cygwin, return the same CPxxx
17695                 aliases list as under WIN32.
17696                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
17697                 the environment variables. Fall back to GetACP().
17698
17699         2006-04-05  Bruno Haible  <bruno@clisp.org>
17700
17701                 * config.charset: Update Juan Manuel Guerrero's address.
17702
17703         2005-02-12  Bruno Haible  <bruno@clisp.org>
17704
17705                 * allocsa.h: Add extern "C" for C++.
17706
17707         2005-02-10  Bruno Haible  <bruno@clisp.org>
17708
17709                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
17710                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
17711
17712         2006-07-22  Bruno Haible  <bruno@clisp.org>
17713
17714                 * gettext.h: Update to GNU gettext-0.15.
17715
17716 2006-07-22  Bruno Haible  <bruno@clisp.org>
17717
17718         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
17719         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
17720         lib-prefix.m4, longdouble.m4, ssize_t.m4.
17721
17722 2006-07-21  Eric Blake  <ebb9@byu.net>
17723
17724         * modules/stdlib-safer: New file.
17725         * MODULES.html.sh (File stream based Input/Output): Add
17726         stdlib-safer.
17727
17728 2006-07-21  Eric Blake  <ebb9@byu.net>
17729
17730         * lib/stdlib-safer.h: New file from coreutils, required by
17731         stdlib--.h.
17732
17733 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
17734
17735         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
17736
17737 2006-07-20  Bruno Haible  <bruno@clisp.org>
17738
17739         * gnulib-tool: Recognize new option --assume-autoconf.
17740         (autoconf_minversion): New variable.
17741         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
17742
17743 2006-07-20  Bruno Haible  <bruno@clisp.org>
17744
17745         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
17746
17747 2006-07-19  Derek R. Price  <derek@ximbiot.com>
17748
17749         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
17750         Reindent and repaginate.
17751
17752 2006-07-19  Derek Price  <derek@ximbiot.com>
17753
17754         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
17755         Correct grammar.
17756
17757 2006-07-17  Bruno Haible  <bruno@clisp.org>
17758
17759         * modules/list: New file.
17760         * modules/array-list: New file.
17761         * modules/carray-list, modules/carray-list-tests: New files.
17762         * modules/linked-list, modules/linked-list-tests: New files.
17763         * modules/avltree-list, modules/avltree-list-tests: New files.
17764         * modules/rbtree-list, modules/rbtree-list-tests: New files.
17765         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
17766         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
17767         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
17768         * modules/oset: New file.
17769         * modules/array-oset: New file.
17770         * modules/avltree-oset, modules/avltree-oset-tests: New files.
17771         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
17772         * tests/test-carray_list.c: New file.
17773         * tests/test-linked_list.c: New file.
17774         * tests/test-avltree_list.c: New file.
17775         * tests/test-rbtree_list.c: New file.
17776         * tests/test-linkedhash_list.c: New file.
17777         * tests/test-avltreehash_list.c: New file.
17778         * tests/test-rbtreehash_list.c: New file.
17779         * tests/test-avltree_oset.c: New file.
17780         * tests/test-rbtree_oset.c: New file.
17781         * MODULES.html.sh (Container data structures): New section.
17782
17783 2006-07-17  Bruno Haible  <bruno@clisp.org>
17784
17785         * m4/gl_list.m4: New file.
17786
17787 2006-07-17  Bruno Haible  <bruno@clisp.org>
17788
17789         * lib/gl_list.h: New file.
17790         * lib/gl_list.c: New file.
17791         * lib/gl_array_list.h: New file.
17792         * lib/gl_array_list.c: New file.
17793         * lib/gl_carray_list.h: New file.
17794         * lib/gl_carray_list.c: New file.
17795         * lib/gl_linked_list.h: New file.
17796         * lib/gl_linked_list.c: New file.
17797         * lib/gl_anylinked_list1.h: New file.
17798         * lib/gl_anylinked_list2.h: New file.
17799         * lib/gl_avltree_list.h: New file.
17800         * lib/gl_avltree_list.c: New file.
17801         * lib/gl_anyavltree_list1.h: New file.
17802         * lib/gl_anyavltree_list2.h: New file.
17803         * lib/gl_rbtree_list.h: New file.
17804         * lib/gl_rbtree_list.c: New file.
17805         * lib/gl_anyrbtree_list1.h: New file.
17806         * lib/gl_anyrbtree_list2.h: New file.
17807         * lib/gl_anytree_list1.h: New file.
17808         * lib/gl_anytree_list2.h: New file.
17809         * lib/gl_linkedhash_list.h: New file.
17810         * lib/gl_linkedhash_list.c: New file.
17811         * lib/gl_anyhash_list1.h: New file.
17812         * lib/gl_anyhash_list2.h: New file.
17813         * lib/gl_avltreehash_list.h: New file.
17814         * lib/gl_avltreehash_list.c: New file.
17815         * lib/gl_rbtreehash_list.h: New file.
17816         * lib/gl_rbtreehash_list.c: New file.
17817         * lib/gl_anytreehash_list1.h: New file.
17818         * lib/gl_anytreehash_list2.h: New file.
17819
17820         * lib/gl_oset.h: New file.
17821         * lib/gl_oset.c: New file.
17822         * lib/gl_array_oset.h: New file.
17823         * lib/gl_array_oset.c: New file.
17824         * lib/gl_avltree_oset.h: New file.
17825         * lib/gl_avltree_oset.c: New file.
17826         * lib/gl_rbtree_oset.h: New file.
17827         * lib/gl_rbtree_oset.c: New file.
17828         * lib/gl_anytree_oset.h: New file.
17829
17830 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
17831
17832         * m4/mkancesdirs.m4: New file.
17833         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
17834         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
17835         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
17836         it.
17837
17838 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
17839
17840         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
17841         * lib/mkancesdirs.h: New files.
17842         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
17843         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
17844         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
17845         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
17846         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
17847         callers changed.  Revamp internals significantly, by not
17848         attempting to create directories that are temporarily more
17849         permissive than the final results.  Do not attempt to use
17850         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
17851         This removes some race conditions, fixes some bugs, and simplifies
17852         things.  Use new dirchownmod function to do owner and mode changes.
17853         * lib/mkdir-p.h: Likewise.
17854         * lib/modechange.c (octal_to_mode): New function.
17855         (struct mode_change): New member mentioned.
17856         (make_node_op_equals): New arg mentioned.  All callers changed.
17857         (mode_compile): Keep track of which mode bits the user has explicitly
17858         mentioned.
17859         (mode_adjust): New arg DIR, so that we implement the X op correctly.
17860         New arg PMODE_BITS, to keep track of which mode bits the user
17861         mentioned; it treats S_ISUID and S_ISGID speciall.
17862         All callers changed.
17863         * lib/modechange.h: Likewise.
17864
17865 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
17866
17867         * MODULES.html.sh: Add mkancestors.
17868         * modules/mkancesdirs: New module.
17869         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
17870         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
17871         The chdir-safer and afs files are now orphans; I'll remove them
17872         unless someone speaks up.
17873         Add lib/dirchownmod.c, lib/dirchownmod.h.
17874         (Depends-on): Remove alloca, chown, save-cwd, dirname.
17875         Add lchown, mkancesdirs.
17876         (Maintainer): Add self.
17877
17878 2006-07-15  Karl Berry  <karl@gnu.org>
17879
17880         * gnulib-tool: help message wording/arrangement.
17881
17882 2006-07-14  Simon Josefsson  <jas@extundo.com>
17883
17884         * doc/gnulib.texi (Libtool and Windows): New section.
17885
17886 2006-07-12  Simon Josefsson  <jas@extundo.com>
17887
17888         * modules/gendocs (License): Fix license, approved by Karl.
17889
17890 2006-07-12  Eric Blake  <ebb9@byu.net>
17891
17892         * MODULES.html.sh: Add gendocs.
17893
17894 2006-07-11  Eric Blake  <ebb9@byu.net>
17895
17896         * modules/fdl: New module, to install doc/fdl.texi.
17897         * MODULES.html.sh: Add new section for documentation modules.
17898         * gnulib-tool: Avoid space-tab.
17899         (--doc-base): New option, to manage files from doc.
17900
17901 2006-07-11  Eric Blake  <ebb9@byu.net>
17902
17903         * m4/absolute-header.m4: Fix comments to match recent change.
17904
17905 2006-07-11  Eric Blake  <ebb9@byu.net>
17906
17907         * gnulib-tool: List --doc-base before --tests-base.
17908
17909 2006-07-11  Derek R. Price  <derek@ximbiot.com>
17910
17911         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
17912
17913 2006-07-11  Bruno Haible  <bruno@clisp.org>
17914
17915         * README: Mention where to put documentation.
17916
17917 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17918
17919         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
17920
17921 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
17922
17923         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
17924         to stdint.m4.
17925
17926 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
17927
17928         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
17929         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
17930         "no/such/file/stdint.h" when there is no such file, so that
17931         the resulting C code can be parsed by dodgy compilers.
17932         Problems reported by Bob Proulx.
17933
17934 2006-07-10  Derek R. Price  <derek@ximbiot.com>
17935
17936         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
17937         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
17938         macros into the GNU _D_EXACT_NAMLEN.
17939         * lib/savedir.c:  Likewise.
17940         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
17941
17942 2006-07-10  Derek R. Price  <derek@ximbiot.com>
17943         and Paul Eggert  <eggert@cs.ucla.edu>
17944
17945         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
17946         * m4/savedir.m4:
17947         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
17948         macros into the GNU _D_EXACT_NAMLEN.
17949
17950 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
17951
17952         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
17953         around the absolute name, to work around a problem with the HP-UX
17954         11.23 native C compiler, reported by Bob Proulx.
17955
17956 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
17957
17958         * doc/maintain.texi, make-stds.texi: Sync from
17959         <http://savannah.gnu.org/projects/gnustandards>.
17960
17961 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
17962
17963         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
17964
17965 2006-07-09  Jim Meyering  <jim@meyering.net>
17966
17967         * m4/glob.m4: Remove a doubled word in a comment.
17968
17969 2006-07-09  Jim Meyering  <jim@meyering.net>
17970
17971         * lib/argp-pv.c: Remove a doubled word in a comment.
17972         * lib/check-version.c (check_version): Likewise.
17973         * lib/javacomp.c (compile_java_class): Likewise.
17974
17975 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
17976
17977         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
17978         for the benefit of people using Autoconf 2.60.  If you want to
17979         support older Autoconf versions you can copy m4/onceonly_2_57.m4
17980         (or m4/onceonly.m4, if pre-2.57) manually.
17981
17982 2006-07-08  Jim Meyering  <jim@meyering.net>
17983
17984         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
17985         comment.
17986         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
17987         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
17988         comment.
17989
17990 2006-07-08  Jim Meyering  <jim@meyering.net>
17991
17992         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
17993
17994 2006-07-07  Simon Josefsson  <jas@extundo.com>
17995
17996         * tests/test-crc.c: Change expected crc value, the test vector
17997         were probably computed using the old broken crc.c?
17998
17999 2006-07-06  Simon Josefsson  <jas@extundo.com>
18000
18001         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
18002         now the canonical place for the M4 file).
18003
18004         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
18005         from the sys_socket dependency now.
18006
18007         * modules/inet_pton (Files): Ditto.
18008
18009         * modules/inet_ntop (Files): Ditto.
18010
18011 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
18012
18013         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
18014         not gl_PREREQ_GETUSERSHELL.
18015
18016 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18017
18018         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
18019         with only one argument, for Autoconf 2.60.
18020         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
18021         expand to nothing, so add a shell command to avoid syntax error.
18022         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
18023
18024 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18025
18026         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
18027
18028 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
18029
18030         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
18031         no longer needed.  Check for isblank decl.
18032         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
18033         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
18034         of existence.
18035
18036 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
18037
18038         * lib/getloadavg.c: Use __VMS, not VMS.
18039         * lib/getopt.c: Likewise.
18040         * lib/getpagesize.h: Likewise.
18041         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
18042         and probably does not work.
18043
18044 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
18045
18046         * lib/.cppi-disable: Add wcwidth.
18047         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
18048         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
18049         (ISGRAPH): Remove.  All uses changed to isgraph.
18050         (FOLD) [!defined _LIBC]: Remove special case.
18051         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
18052         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
18053         HAVE_ISBLANK.
18054         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
18055         case.
18056
18057 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
18058
18059         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
18060         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
18061         brackets.  Other minor changes to suppress some compiler
18062         warnings.
18063
18064 2006-07-06  Derek R. Price  <derek@ximbiot.com>
18065         and Paul Eggert  <eggert@cs.ucla.edu>
18066
18067         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
18068         of invoking obsolescent AC_HEADER_DIRENT macro.
18069         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
18070         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
18071         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
18072         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
18073         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
18074         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
18075         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
18076         * m4/readdir.m4: Remove; no longer needed.
18077
18078 2006-07-06  Derek R. Price  <derek@ximbiot.com>
18079         and Paul Eggert  <eggert@cs.ucla.edu>
18080
18081         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
18082         Don't worry about this obsolete case any more.
18083         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
18084         directories.
18085         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
18086         worry about this obsolete case any more.
18087         * lib/fts.c: Likewise.
18088         * lib/getcwd.c: Likewise.
18089         * lib/glob.h: Likewise.
18090         * lib/savedir.c: Likewise.
18091
18092 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
18093
18094         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
18095         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
18096         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
18097         needed.
18098         All uses removed.
18099         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
18100         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
18101         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
18102         needed.
18103         * m4/getdate.m4 (gl_GETDATE): Likewise.
18104         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
18105         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
18106         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
18107         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
18108         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
18109         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
18110         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
18111         needed.
18112
18113 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
18114
18115         * lib/memcasecmp.c: Include <limits.h>.
18116         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
18117         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
18118         Don't assume isdigit succeeds only on '0' through '9'.
18119
18120 2006-07-05  Eric Blake  <ebb9@byu.net>
18121
18122         * modules/getaddrinfo (Depends-on): Add snprintf.
18123
18124 2006-07-05  Eric Blake  <ebb9@byu.net>
18125
18126         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
18127         to avoid 'header present but could not be compiled' on cygwin.
18128
18129 2006-07-05  Eric Blake  <ebb9@byu.net>
18130
18131         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
18132         missing from netdb.h.
18133         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
18134
18135 2006-07-05  Derek R. Price  <derek@ximbiot.com>
18136
18137         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
18138         no longer needed.
18139         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
18140         * m4/getdate.m4 (gl_GETDATE): Likewise.
18141         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
18142         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
18143         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
18144         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
18145         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
18146
18147 2006-07-05  Derek R. Price  <derek@ximbiot.com>
18148
18149         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
18150         All uses of is_space replaced by isspace.
18151         * lib/exit.h: Don't talk about STDC_HEADERS.
18152         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
18153         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
18154         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
18155         replaced by isprint etc.
18156         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
18157         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
18158         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
18159         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
18160         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
18161         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
18162
18163 2006-07-05  Bruno Haible  <bruno@clisp.org>
18164
18165         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
18166         the function exists, before testing against AIX.
18167         Reported by Martin Lambers <marlam@marlam.de>.
18168
18169 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
18170
18171         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
18172         From Mark D. Baushke.
18173
18174 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
18175
18176         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
18177         to the absolute name, not just one, to bypass Sun C 5.8's
18178         "warning: #include of /usr/include/... may be non-portable".
18179
18180 2006-07-04  Eric Blake  <ebb9@byu.net>
18181
18182         * modules/dirname-tests: New test module.
18183         * tests/test-dirname.c: New file, replacing dirname.c
18184         TEST_DIRNAME section that was recently deleted.
18185
18186 2006-07-04  Bruno Haible  <bruno@clisp.org>
18187
18188         Assume ANSI C header files and <ctype.h> functions.
18189         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
18190         (mbsnwidth): Use isprint, iscntrl instead.
18191
18192 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
18193
18194         Merge from coreutils.
18195         * MODULES.html.sh: Add xstrtold.
18196         * modules/xstrtold: New file.
18197         * modules/cycle-check (Files): Add lib/same-inode.h.
18198         * modules/dirname (Files): Add m4/double-slash-root.m4.
18199         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
18200         * modules/mkdir-p (Files): Add lib/same-inode.h.
18201         * modules/same (Files): Add lib/same-inode.h.
18202
18203 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
18204
18205         * m4/absolute-header.m4: Renamed from full-header-path.m4.
18206         This is to keep the terminology clean; POSIX talks about
18207         "absolute pathnames", not "full pathnames", but the GNU
18208         Coding Standards say to use "path" for something else;
18209         so use "absolute" to keep both sides happy.
18210         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
18211         Set gl_absolute_header, not gl_full_header_path.
18212         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
18213         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
18214         All uses changed.
18215
18216         Merge from coreutils.
18217
18218         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
18219
18220         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
18221         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
18222         want to require the building of c-strtod.o.
18223         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
18224         needs -lm directly.
18225         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
18226
18227         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
18228
18229         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
18230         --as-needed option if available.  Problem reported by Albert Chin in
18231         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
18232         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
18233         cc merely issues a bunch of annoying warnings for --as-needed
18234         (this problem was reported by Bob Proulx).  Also, try linking with
18235         -lm to detect a bug in binutils 2.16 (this problem was reported
18236         by Ralf Wildenhues).
18237
18238         2006-06-18  Jim Meyering  <jim@meyering.net>
18239
18240         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
18241         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
18242         macro.
18243         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
18244         also check for glibc-2.4's abort-inducing bug.
18245
18246         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
18247         Low-probability clean-up should be to use rmdir to get rid of
18248         the just-created directory, not unlink.
18249
18250         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
18251         configure fail, and request a bug report to inform us about it.
18252         Add a comment that, barring reports to the contrary, in 2007 we'll
18253         assume ftruncate is universally available.
18254
18255         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
18256
18257         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
18258
18259         2006-03-12  Jim Meyering  <jim@meyering.net>
18260
18261         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
18262         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
18263         * m4/same.m4 (gl_SAME): Likewise.
18264         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
18265
18266         2006-03-11  Eric Blake  <ebb9@byu.net>
18267
18268         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
18269         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
18270         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
18271         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
18272
18273 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
18274
18275         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
18276         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
18277         reported by Mark D. Baushke, one in
18278         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
18279
18280         Merge from coreutils.
18281
18282         * lib/.cppi-disable: Add stdint_.h.
18283         * lib/.cvsignore: Add stdint.h.
18284
18285         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
18286
18287         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
18288         both double and long double versions.
18289         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
18290         * lib/xstrtold.c: New file.
18291         * lib/xstrtod.h (xstrtold): New decl.
18292
18293         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
18294
18295         * lib/filemode.c (setst): Remove.
18296         (strmode): Rewrite to avoid setst.  This makes the code shorter,
18297         (arguably) clearer, and the generated code is a bit smaller on my
18298         Debian GNU/Linux stable x86 host.
18299
18300         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
18301
18302         * lib/filemode.c: Include "filemode.h" first, to test the interface.
18303         Assume that filemode.h includes sys/types.h and sys/stat.h.
18304         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
18305         (ftypelet): Reorder to put common cases first, for efficiency.
18306         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
18307         to do 'M'.
18308         (strmode): Renamed from mode_string, and now stores 12 bytes instead
18309         of 10, for compatibility with FreeBSD.  All callers changed.
18310         (filemodestring): Now stores 12 bytes instead of 10, and sets file
18311         types that can't be deduced solely from st_mode.  First arg is now a
18312         const pointer.
18313         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
18314         (strmode): Renamed from mode_string.
18315         (filemodestring): New decl.
18316         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
18317         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
18318         needed.
18319         (S_ISPORT, S_ISWHT): New macros, if not already defined.
18320
18321         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
18322
18323         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
18324         fsusage.h now does that.  Include fsusage.h first, to test interface.
18325         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
18326         at most one method (the old code could have generated decls that
18327         didn't conform to C89, not that this was ever exercised).
18328         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
18329
18330         2006-03-19  Jim Meyering  <jim@meyering.net>
18331
18332         Work even in a chroot where d_ino values for entries in "/"
18333         don't match the stat.st_ino values for the same names.
18334         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
18335         number, iterate through all entries again, using lstat instead.
18336         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
18337         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
18338
18339         * lib/getcwd.c (__getcwd): Clarify a comment.
18340         Use memcpy in place of a call to strcpy.
18341
18342         2006-03-12  Jim Meyering  <jim@meyering.net>
18343
18344         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
18345         matches that of the current directory (which we're about to chdir ".."
18346         out of), then save the dev-ino of the parent, instead.
18347
18348         * lib/same-inode.h (SAME_INODE): New file/macro.
18349         * lib/chdir-safer.c (SAME_INODE): Remove definition.
18350         Include "same-inode.h", instead.
18351         * lib/same.c: Likewise.
18352         * lib/cycle-check.h: Include "same-inode.h".
18353         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
18354         * lib/cycle-check.c (SAME_INODE): Remove definition.
18355         * lib/root-dev-ino.h: Include "same-inode.h".
18356
18357         2006-03-11  Eric Blake  <ebb9@byu.net>
18358
18359         * lib/same.c (same_name): s/base_name/last_component/
18360         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
18361         * lib/filenamecat.c (file_name_concat): Likewise.
18362
18363         2006-03-11  Eric Blake  <ebb9@byu.net>,
18364                     Paul Eggert  <eggert@cs.ucla.edu>
18365
18366         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
18367         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
18368         drive prefix.
18369         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
18370         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
18371         (last_component): New method.
18372         * lib/dirname.c (dir_len): Determine when drive letters need a
18373         subsequent slash.  Preserve // when it is special.
18374         (dir_name): Don't append dot when drive letter is absolute.
18375         [TEST_DIRNAME]: Move into a full-blown gnulib test.
18376         * lib/basename.c (base_name): New semantics - malloc the result.
18377         Preserve // when it is special.  Preserve relative files that look
18378         like drive letters.
18379         (base_len): Preserve // when it is special.
18380         (last_component): New method, similar to old base_name semantics.
18381         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
18382         base_name.  Strip redundant slashes from ///.
18383
18384 2006-07-03  Jim Meyering  <jim@meyering.net>
18385
18386         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
18387         macro is used before the first cycle_check call.
18388
18389 2006-07-03  Eric Blake  <ebb9@byu.net>
18390
18391         * modules/dirname (Depends-on): Add xstrndup.
18392
18393 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
18394
18395         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
18396         test cases, so that config.log is a bit easier to follow.
18397
18398 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
18399
18400         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
18401         both are 64 bits, since this seems to be the tradition, and this
18402         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
18403         we ever run into a host that prefers long long to long in this
18404         case, we'll need another configure-time test.  Problem reported by
18405         Jim Meyering.
18406
18407 2006-07-02  Eric Blake  <ebb9@byu.net>
18408
18409         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
18410
18411 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
18412
18413         * modules/inttypes (Depends-on): No longer depends on stdint.
18414         * modules/stdint (Description): Say more about assumptions.
18415         Say that the fast types might differ.  Say macros are used.
18416         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
18417         (Makefile.am): Revise list of substituted symbols to match
18418         new stdint.m4.
18419         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
18420         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
18421         * tests/test-stdint.c (verify_same_types)
18422         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
18423         the code conforms to C99/C89.
18424         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
18425         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
18426
18427 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
18428
18429         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
18430         but fix a bug, by requiring at least 64 bits.
18431         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
18432         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
18433         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
18434         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
18435
18436         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
18437         changes.  Make 2.59 a prerequisite.  Check and substitute for
18438         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
18439         inttypes.h.  Do not use special include files; just use the
18440         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
18441         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
18442         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
18443         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
18444         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
18445         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
18446         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
18447         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
18448         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
18449         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
18450         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
18451         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
18452         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
18453         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
18454         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
18455         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
18456         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
18457         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
18458         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
18459         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
18460         WINT_MAX.  Check for C99 conformance more strictly, by detecting
18461         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
18462         not check for things that C99 does not require, e.g., int8_t.  If
18463         a test isn't needed unless <stdint.h> isn't working, and is
18464         unlikely to be needed for any other reason, then don't do it
18465         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
18466         size_t, since we assume C89 freestanding at least.  Do not check
18467         for sig_atomic_t, wchar_t, or wint_t, since the code now does
18468         the right thing even if the types are not defined.  Instead use:
18469         (gl_STDINT_TYPE_PROPERTIES): New macro.
18470         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
18471         testing whether <sys/types.h> clashes, as Autoconf does this for
18472         us now.  All uses removed.
18473         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
18474         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
18475         (gl_CHECK_TYPE_SAME):
18476         Remove; no longer needed.
18477         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
18478         exists, since we'll return 0 anyway in that case.
18479         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
18480
18481 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
18482
18483         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
18484         possible collision with system files.
18485         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
18486         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
18487         WCHAR_MIN and WCHAR_MAX in this case.
18488         (<stddef.h>): Do not include; no longer needed.
18489         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
18490         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
18491         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
18492         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
18493         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
18494         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
18495         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
18496         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
18497         !defined(__c99))]: Include in this case too, since it's harmless
18498         now.
18499         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
18500         dangerous to do so.
18501         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
18502         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
18503         (_STDINT_MIN, _STDINT_MAX): New macros.
18504         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
18505         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
18506         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
18507         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
18508         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
18509         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
18510         macros, not typedefs; this simplifies things quite a bit.
18511         Use long int for all types narrower than int64_t.
18512         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
18513         Define in terms of long long int or int64_t or long int,
18514         not int64_t or int32_t.  This saves some compile-time testing.
18515         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
18516         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
18517         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
18518         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
18519         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
18520         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
18521         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
18522         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
18523         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
18524         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
18525         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
18526         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
18527         undef any previous version and define our own version, for
18528         simplicity and consistency with the new macros for types.
18529         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
18530         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
18531         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
18532         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
18533         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
18534         @WINT_T_SUFFIX@ to keep things simple here.
18535         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
18536         Simplify by assuming typical 8/16/32/64 host, since we're
18537         already doing that elsewhere anyway.
18538         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
18539         and assume long long int is 64 bits if available.  This
18540         speeds up 'configure'.
18541
18542 2006-07-01  Eric Blake  <ebb9@byu.net>
18543
18544         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
18545         Reported by Andreas Buening.
18546
18547 2006-07-01  Eric Blake  <ebb9@byu.net>
18548
18549         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
18550
18551 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
18552
18553         * lib/getaddrinfo.c: fixed typo
18554
18555 2006-06-29  Jim Meyering  <jim@meyering.net>
18556
18557         * modules/strftime (Maintainer): Add my name, since with the
18558         FPRINTFTIME changes strftime.c has forked from glibc.
18559
18560 2006-06-29  Eric Blake  <ebb9@byu.net>
18561
18562         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
18563
18564 2006-06-29  Eric Blake  <ebb9@byu.net>
18565
18566         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
18567
18568 2006-06-29  Eric Blake  <ebb9@byu.net>
18569
18570         * lib/stat_.h: New file.
18571
18572 2006-06-29  Eric Blake  <ebb9@byu.net>
18573
18574         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
18575         unused static function.
18576
18577 2006-06-29  Eric Blake  <ebb9@byu.net>
18578
18579         * doc/functions.texi (Function Portability): Document missing lstat
18580         on mingw.
18581
18582 2006-06-29  Eric Blake  <ebb9@byu.net>
18583
18584         * MODULES.html.sh: Add sys_stat.
18585         * modules/sys_stat: New module.
18586         * modules/mkstemp (Depends-on): Add sys_stat.
18587
18588 2006-06-29  Derek R. Price  <derek@ximbiot.com>
18589
18590         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
18591
18592 2006-06-29  Derek R. Price  <derek@ximbiot.com>
18593
18594         * m4/c-bs-a.m4: Removed.
18595
18596 2006-06-29  Derek R. Price  <derek@ximbiot.com>
18597
18598         * lib/strftime.c: Assume strftime() exists.
18599
18600 2006-06-29  Derek Price  <derek@ximbiot.com>
18601
18602         * modules/c-bs-a: Removed - \a is C89.
18603         * MODULES.html.sh: Remove c-bs-a.
18604
18605 2006-06-29  Bruno Haible  <bruno@clisp.org>
18606
18607         * modules/wcwidth (License): Change to LGPL.
18608
18609 2006-06-28  Simon Josefsson  <jas@extundo.com>
18610
18611         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
18612         on _WIN32.
18613
18614         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
18615         getnameinfo.
18616
18617 2006-06-28  Simon Josefsson  <jas@extundo.com>
18618
18619         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
18620
18621 2006-06-28  Simon Josefsson  <jas@extundo.com>
18622
18623         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
18624         functions there.  It will succeed on Windows XP, but on Windows
18625         2000 and (presumably) earlier, it will fail, and use the internal
18626         re-implementation.
18627         (use_win32_p): New function.
18628         (getaddrinfo): Use strtoul on servname, to support numeric ports.
18629         Support AI_NUMERICSERV to disable getservbyname.
18630         (getnameinfo): New function, only supports
18631         NI_NUMERICHOST|NI_NUMERICSERV for now.
18632
18633         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
18634         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
18635         getnameinfo.
18636
18637 2006-06-28  Eric Blake  <ebb9@byu.net>
18638
18639         * modules/wcwidth: New file.
18640         * modules/mbchar (Depends-on): Add wcwidth.
18641         * modules/mbswidth (Depends-on): Add wcwidth.
18642         * MODULES.html.sh: Add wcwidth.
18643
18644 2006-06-28  Eric Blake  <ebb9@byu.net>
18645
18646         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
18647         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
18648
18649 2006-06-28  Eric Blake  <ebb9@byu.net>
18650
18651         * lib/xvasprintf.h: Fix comments.
18652
18653 2006-06-28  Eric Blake  <ebb9@byu.net>
18654
18655         * lib/mbchar.h (wcwidth): Include wcwidth.h.
18656         * lib/mbswidth.c (wcwidth): Move from here...
18657         * lib/wcwidth.h: ...to this new file.
18658
18659 2006-06-28  Derek R. Price  <derek@ximbiot.com>
18660
18661         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
18662
18663         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
18664         it's obsolete.
18665         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
18666
18667 2006-06-28  Derek R. Price  <derek@ximbiot.com>
18668
18669         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
18670         Autoconf 2.60 says this stuff was obsolete.
18671
18672 2006-06-28  Bruno Haible  <bruno@clisp.org>
18673
18674         * modules/wcwidth (Files): Add m4/wchar_t.m4.
18675
18676 2006-06-28  Bruno Haible  <bruno@clisp.org>
18677
18678         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
18679         gt_TYPE_WCHAR_T.
18680
18681 2006-06-28  Bruno Haible  <bruno@clisp.org>
18682
18683         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
18684         declaration for wcwidth.
18685         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
18686
18687 2006-06-28  Bruno Haible  <bruno@clisp.org>
18688
18689         * lib/mkdtemp.c [MINGW]: Include <io.h>.
18690         (mkdir): Define using _mkdir.
18691
18692 2006-06-28  Bruno Haible  <bruno@clisp.org>
18693
18694         * lib/getaddrinfo.h: Fix POSIX URL.
18695         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
18696         _WIN32.
18697         (use_win32_p): Make static.
18698         (getaddrinfo): Reject service name if it is empty or does not consist
18699         solely of decimal digits, or if its value is > 65535.
18700         (getnameinfo): Remove useless casts.
18701
18702 2006-06-27  Simon Josefsson  <jas@extundo.com>
18703
18704         * modules/sys_select: New file, suggested by Bruno Haible, Paul
18705         Eggert and Martin Lambers.
18706
18707 2006-06-27  Simon Josefsson  <jas@extundo.com>
18708
18709         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
18710         Eggert and Martin Lambers.
18711
18712 2006-06-27  Bruno Haible  <bruno@clisp.org>
18713
18714         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
18715         result to 0, not to empty.
18716         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
18717
18718 2006-06-27  Bruno Haible  <bruno@clisp.org>
18719
18720         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
18721
18722 2006-06-26  Simon Josefsson  <jas@extundo.com>
18723
18724         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
18725         present.
18726
18727 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
18728
18729         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
18730         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
18731         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
18732
18733 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
18734
18735         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
18736
18737 2006-06-26  Bruno Haible  <bruno@clisp.org>
18738
18739         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
18740
18741 2006-06-26  Bruno Haible  <bruno@clisp.org>
18742
18743         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
18744
18745 2006-06-26  Bruno Haible  <bruno@clisp.org>
18746
18747         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
18748         SGI C compiler in pre-C99 mode.
18749         Suggested by Mark D. Baushke and Larry Jones.
18750
18751 2006-06-26  Bruno Haible  <bruno@clisp.org>
18752
18753         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
18754         WCHAR_MAX.
18755         Reported by Mark D. Baushke and Larry Jones.
18756
18757 2006-06-26  Bruno Haible  <bruno@clisp.org>
18758
18759         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
18760         in pre-C99 mode.
18761         Suggested by Mark D. Baushke and Larry Jones.
18762
18763 2006-06-23  Simon Josefsson  <jas@extundo.com>
18764             Bruno Haible  <bruno@clisp.org>
18765
18766         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
18767         Emit mostlyclean-local rule.
18768         (func_emit_tests_Makefile_am): Likewise.
18769         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
18770
18771 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
18772
18773         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
18774
18775 2006-06-23  Bruno Haible  <bruno@clisp.org>
18776
18777         * tests/test-stdint.c: Update to match ISO C 99 Technical
18778         Corrigendum 1.
18779
18780 2006-06-23  Bruno Haible  <bruno@clisp.org>
18781
18782         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
18783
18784 2006-06-23  Bruno Haible  <bruno@clisp.org>
18785
18786         * lib/stdint_.h: Treat IRIX like OpenBSD.
18787
18788 2006-06-23  Bruno Haible  <bruno@clisp.org>
18789
18790         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
18791         ISO C 99 Technical Corrigendum 1.
18792
18793 2006-06-22  Simon Josefsson  <jas@extundo.com>
18794
18795         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
18796         MinGW.
18797
18798 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
18799
18800         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
18801         needed.  Some compiler complained about some of them.  Problem reported
18802         by Larry Jones in
18803         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
18804
18805 2006-06-21  Simon Josefsson  <jas@extundo.com>
18806
18807         * tests/test-getaddrinfo.c: New file.
18808
18809         * modules/getaddrinfo-tests: New file.
18810
18811         * MODULES.html.sh: Add inet_pton.
18812
18813         * modules/inet_pton: New file.
18814
18815 2006-06-21  Simon Josefsson  <jas@extundo.com>
18816
18817         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
18818         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
18819         of using the (limited) gnulib implementation on Windows XP.
18820
18821         * m4/inet_pton.m4: New file.
18822
18823 2006-06-21  Simon Josefsson  <jas@extundo.com>
18824
18825         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
18826         variable.
18827
18828         * lib/socket_.h: Don't define WINVER.
18829
18830         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
18831         slightly modified to work in gnulib.
18832
18833 2006-06-21  Simon Josefsson  <jas@extundo.com>
18834
18835         * doc/gnulib.texi (Windows sockets): Add.
18836
18837 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
18838
18839         * lib/read-file.c (fread_file): Start with buffer allocation of
18840         0 bytes rather than 1 byte; this simplifies the code.
18841         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
18842         code to free buffer and save/restore errno.
18843         (internal_read_file): Remove unused local.
18844
18845 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
18846
18847         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
18848         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
18849         Problem reported by Denis Excoffier in
18850         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
18851
18852 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18853
18854         * modules/sys_socket, modules/socklen: Include sys/types since
18855         FreeBSD 4.x's sys/socket.h needs it.
18856
18857 2006-06-19  Simon Josefsson  <jas@extundo.com>
18858
18859         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
18860
18861 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
18862
18863         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
18864
18865 2006-06-19  Bruno Haible  <bruno@clisp.org>
18866
18867         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
18868         and FULL_PATH_INTTYPES_H in angle brackets.
18869         Reported by Mark D. Baushke <mdb@gnu.org>.
18870
18871 2006-06-17  Eric Blake  <ebb9@byu.net>
18872
18873         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
18874         errno.
18875
18876 2006-06-17  Bruno Haible  <bruno@clisp.org>
18877
18878         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
18879         <sys/inttypes.h>.
18880
18881 2006-06-17  Bruno Haible  <bruno@clisp.org>
18882
18883         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
18884         whether errno is declared. Assume <errno.h> declares errno.
18885
18886 2006-06-17  Bruno Haible  <bruno@clisp.org>
18887
18888         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
18889
18890 2006-06-17  Bruno Haible  <bruno@clisp.org>
18891
18892         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
18893         problem on Solaris 2.5.1.
18894
18895 2006-06-16  Eric Blake  <ebb9@byu.net>
18896
18897         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
18898         * lib/unicodeio.c [!defined errno]: Likewise.
18899         * lib/strtol.c [!defined errno]: Likewise.
18900         * lib/strtod.c [!defined errno]: Likewise.
18901
18902 2006-06-15  Eric Blake  <ebb9@byu.net>
18903
18904         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
18905
18906 2006-06-15  Eric Blake  <ebb9@byu.net>
18907
18908         * config/srclist.txt (ssize_t.m4): Lose sync.
18909
18910 2006-06-15  Bruno Haible  <bruno@clisp.org>
18911
18912         * modules/stdint (Files): Include m4/full-header-path.m4,
18913         m4/size_max.m4, m4/wchar_t.m4.
18914         (Makefile.am): Many more substitutions.
18915         * modules/stdint-tests: New file.
18916         * tests/test-stdint.c: New file.
18917
18918 2006-06-15  Bruno Haible  <bruno@clisp.org>
18919
18920         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
18921         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
18922         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
18923         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
18924         gl_CHECK_TYPE_SAME): New macros.
18925
18926 2006-06-15  Bruno Haible  <bruno@clisp.org>
18927
18928         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
18929
18930 2006-06-15  Bruno Haible  <bruno@clisp.org>
18931
18932         * lib/stdint_.h: Rewritten to be fully auto-configured.
18933         Fixes bug on HP-UX/IA64.
18934
18935 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
18936
18937         * lib/getdate.y (__attribute__): Don't define if already defined.
18938         Problem reported by Larry Jones.
18939         * lib/utimens.c (__attribute__): Likewise.
18940
18941 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
18942
18943         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
18944         reported by Andreas Schwab.
18945
18946 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18947             Bruno Haible  <bruno@clisp.org>
18948
18949         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
18950         check for the declaration of strnlen and a run test that exposes the
18951         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
18952         rpl_strndup.
18953
18954 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18955             Bruno Haible  <bruno@clisp.org>
18956
18957         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
18958
18959 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18960
18961         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
18962         compile test, for Tru64 4.0D.
18963
18964 2006-05-28  Karl Berry  <karl@gnu.org>
18965
18966         * config/srclist.txt (printf-args.c): lose sync.
18967
18968 2006-05-26  Martin Lambers  <marlam@marlam.de>
18969
18970         * lib/getpass.c: Updates the test for the native W32 API, and adds
18971         missing includes, thus fixing compilation warnings.
18972
18973 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
18974
18975         * lib/exclude.c (exclude_fnmatch): New function.
18976         (excluded_file_name): Call exclude_fnmatch.
18977         * lib/exclude.h (excluded_file_name): New prototype
18978
18979 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
18980
18981         * lib/tempname.c (small_open, large_open): New macros.
18982         (__open, __open64) [!_LIBC]: Remove.
18983         (__gen_tempname): Use small_open and large_open instead of __open
18984         and __open64.  This fixes a portability bug on HP-UX 11.11i
18985         reported by Simon Wing-Tang in
18986         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
18987
18988 2006-05-24  Bruno Haible  <bruno@clisp.org>
18989
18990         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
18991         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
18992         Reported by Thorsten Maerz <torte@netztorte.de> via
18993         Aaron Stone <aaron@serendipity.cx>.
18994
18995 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
18996
18997         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
18998         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
18999         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
19000         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
19001         not really conditional on the cache.
19002         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
19003
19004 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
19005
19006         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
19007         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
19008         (my_usleep): Don't mishandle maximum value.
19009
19010 2006-05-19  Jim Meyering  <jim@meyering.net>
19011
19012         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
19013
19014 2006-05-17  Bruno Haible  <bruno@clisp.org>
19015
19016         Cygwin portability.
19017         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
19018
19019 2006-05-17  Bruno Haible  <bruno@clisp.org>
19020
19021         * lib/stdint_.h: Fix recognition of Cygwin.
19022
19023 2006-05-15  Bruno Haible  <bruno@clisp.org>
19024
19025         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
19026         on libtool patch by Ralf Wildenhues.
19027
19028 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
19029
19030         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
19031         test for C99 conformance; (bool) 0.5 is an integer constant
19032         expression, but (bool) -0.5 is not.  Problem reported by Fedor
19033         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
19034
19035 2006-05-11  Simon Josefsson  <jas@extundo.com>
19036
19037         * m4/xvasprintf.m4: Fix obvious typo.
19038
19039 2006-05-11  Jim Meyering  <jim@meyering.net>
19040
19041         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
19042         James Lemley.
19043
19044 2006-05-10  Simon Josefsson  <jas@extundo.com>
19045
19046         * lib/md4.c: Typo fix, update copyright years.
19047         (K1, K2): Don't use L because it turn computations into 64-bit on
19048         64-bit platforms.
19049
19050 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
19051
19052         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
19053         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
19054         unwanted sign propagation, e.g., on hosts with 64-bit int.
19055         There still are some problems with reeelly weird theoretical hosts
19056         (e.g., 33-bit int) but it's not worth worrying about now.
19057         * lib/sha1.c (rol): Likewise.
19058         (K1, K2, K3, K4): Remove unnecessary L suffix.
19059
19060 2006-05-10  Bruno Haible  <bruno@clisp.org>
19061
19062         * lib/des.c: Cast to avoid warnings.
19063
19064 2006-05-09  Bruno Haible  <bruno@clisp.org>
19065
19066         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
19067         (Depends-on): Depend also on xsize, stdarg.
19068         (configure.ac): Add gl_XVASPRINTF.
19069
19070 2006-05-09  Bruno Haible  <bruno@clisp.org>
19071
19072         * m4/xvasprintf.m4: New file.
19073
19074 2006-05-09  Bruno Haible  <bruno@clisp.org>
19075
19076         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
19077         (EOVERFLOW): Define fallback value.
19078         (xstrcat): New function.
19079         (xvasprintf): Recognize the special case of a string concatenation.
19080
19081 2006-05-08  Eric Blake  <ebb9@byu.net>
19082
19083         * gnulib-tool (func_version): Base copyright year on CVS date.
19084         (func_emit_copyright_notice): New function.
19085         (func_emit_lib_Makefile_am): Use it.
19086         (func_emit_tests_Makefile_am): Likewise.
19087         (func_import): Likewise.
19088
19089 2006-05-08  Bruno Haible  <bruno@clisp.org>
19090
19091         * modules/stdarg: New file.
19092         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
19093
19094 2006-05-08  Bruno Haible  <bruno@clisp.org>
19095
19096         * m4/stdarg.m4: New file, from GNU gettext.
19097
19098 2006-05-08  Bruno Haible  <bruno@clisp.org>
19099
19100         * config/srclist.txt (build-aux/config.rpath): different from latest
19101         release.
19102
19103 2006-05-08  Bruno Haible  <bruno@clisp.org>
19104
19105         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
19106
19107 2006-05-05  Jim Meyering  <jim@meyering.net>
19108
19109         * m4/warning.m4: New file, derived from bison's file by the same name.
19110
19111 2006-05-03  Bruno Haible  <bruno@clisp.org>
19112
19113         * lib/stdint_.h: Shorter URL.
19114         * lib/inttypes.h: Likewise.
19115
19116 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
19117
19118         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
19119
19120 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
19121
19122         * lib/verify.h: Document the internals better.  Most of this change
19123         was written by Bruno Haible.
19124
19125 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
19126
19127         * doc/verify.texi: New file, partly based on a proposal by
19128         Bruno Haible.
19129
19130 2006-05-02  Bruno Haible  <bruno@clisp.org>
19131
19132         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
19133         test from here...
19134         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
19135
19136 2006-04-29  Bruno Haible  <bruno@clisp.org>
19137
19138         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
19139         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
19140
19141 2006-04-29  Bruno Haible  <bruno@clisp.org>
19142
19143         * gnulib-tool: Make --update option actually work.
19144
19145 2006-04-29  Bruno Haible  <bruno@clisp.org>
19146
19147         * doc/gcd.texi: New file.
19148         * doc/gnulib.texi: Include it.
19149
19150 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
19151
19152         * lib/getdate.y (get_date): When adding relative date, start with the
19153         initial time, not with the result of the first mktime call.
19154
19155 2006-04-25  Bruno Haible  <bruno@clisp.org>
19156
19157         * gnulib-tool (func_import): Output the include directives in three
19158         blocks, sorted separately.
19159         Reported by Ben Pfaff <blp@cs.stanford.edu>.
19160
19161 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
19162
19163         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
19164         to define main with arguments, for C++.  Reported by Eric Blake.
19165         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
19166         Prefer 'int main ()' to 'int main (void)', for C++.
19167         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
19168         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
19169         for 'main', for C99 and C++.
19170
19171 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
19172
19173         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
19174         Don't assume that exit status -1 is valid.
19175         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
19176         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
19177         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
19178         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
19179         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
19180         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
19181         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
19182         functions can be used without declaring them, or that you can
19183         exit with status -1.
19184         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
19185
19186 2006-04-24  Karl Berry  <karl@gnu.org>
19187
19188         * config/srclist.txt (longdouble.m4): sync lost.
19189
19190 2006-04-24  Eric Blake  <ebb9@byu.net>
19191
19192         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
19193
19194 2006-04-24  Bruno Haible  <bruno@clisp.org>
19195
19196         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
19197         poll() implementation in AIX.
19198         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19199
19200 2006-04-24  Bruno Haible  <bruno@clisp.org>
19201
19202         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
19203         assigned exactly once.
19204
19205 2006-04-23  Claudio Fontana  <claudio@gnu.org>
19206             Bruno Haible  <bruno@clisp.org>
19207
19208         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
19209         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
19210         for AM_CPPFLAGS.
19211
19212 2006-04-23  Bruno Haible  <bruno@clisp.org>
19213
19214         * modules/copy-file: Depend on unistd.
19215         * modules/execute: Likewise.
19216         * modules/fatal-signal: Likewise.
19217         * modules/findprog: Likewise.
19218         * modules/mkdtemp : Likewise.
19219         * modules/pipe: Likewise.
19220         * modules/wait-process: Likewise.
19221
19222 2006-04-23  Bruno Haible  <bruno@clisp.org>
19223
19224         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
19225         condition was already detected.
19226         Reported by Ben Pfaff <blp@cs.stanford.edu>.
19227
19228 2006-04-23  Bruno Haible  <bruno@clisp.org>
19229
19230         * lib/copy-file.c: Include <unistd.h> unconditionally.
19231         * lib/execute.c: Likewise.
19232         * lib/fatal-signal.c: Likewise.
19233         * lib/findprog.c: Likewise.
19234         * lib/mkdtemp.c: Likewise.
19235         * lib/pipe.h: Likewise.
19236         * lib/pipe.c: Likewise.
19237         * lib/wait-process.h: Likewise.
19238
19239 2006-04-23  Bruno Haible  <bruno@clisp.org>
19240
19241         * gnulib-tool (func_usage): Fix --import description. Document
19242         --update.
19243         (func_import): Create temporary file in a temporary directory, if
19244         --dry-run is specified. Silence errors from 'grep' when there are no
19245         m4 files in $m4dir.
19246         (func_create_testdir): Silence errors from 'grep' when there are no
19247         m4 files in $m4dir.
19248         Reported by Karl Berry <karl@freefriends.org>.
19249
19250 2006-04-20  Bruno Haible  <bruno@clisp.org>
19251
19252         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
19253         one argument, so that the code will be portable to Autoconf 2.60.
19254         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
19255         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
19256         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
19257
19258 2006-04-19  Derek Price  <derek@ximbiot.com>
19259             Eric Blake  <ebb9@byu.net>
19260
19261         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
19262         rather than "/full/path.h".  Update comment to match.  Shorten &
19263         generalize m4_translit call via AS_TR_CPP.
19264
19265 2006-04-19  Derek Price  <derek@ximbiot.com>
19266             Eric Blake  <ebb9@byu.net>
19267
19268         * lib/inttypes.h: Correct grammar in comment.
19269
19270 2006-04-18  Derek Price  <derek@ximbiot.com>
19271             Paul Eggert  <eggert@cs.ucla.edu>
19272
19273         * modules/inttypes: New file.
19274         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
19275
19276 2006-04-18  Derek Price  <derek@ximbiot.com>
19277             Paul Eggert  <eggert@cs.ucla.edu>
19278
19279         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
19280         New files.
19281
19282 2006-04-18  Derek Price  <derek@ximbiot.com>
19283             Paul Eggert  <eggert@cs.ucla.edu>
19284
19285         * lib/inttypes.h: New file.
19286         * lib/strtoimax.c: Assume <inttypes.h>.
19287
19288 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
19289
19290         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
19291         isn't mounted.  Problem reported by Kir Kolyshkin.
19292
19293 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
19294
19295         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
19296         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
19297         Derek R. Price.
19298         * lib/regex.h (RE_DUP_MAX): Update comment to match current
19299         implementation.
19300
19301 2006-04-12  Eric Blake  <ebb9@byu.net>
19302
19303         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
19304         is now done automatically by the corresponding Autoconf macro.
19305
19306 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
19307
19308         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
19309         time_r.h.
19310
19311 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
19312
19313         Merge regex changes from libc, removing some of our
19314         POSIX-conformance changes that were rejected and redoing them in a
19315         less-intrusive way.
19316
19317         * lib/regcomp.c (re_compile_internal, init_dfa):
19318         Length arg is now size_t, not Idx.  All uses changed.
19319         (peek_token): Forward decl now says internal_function.
19320         (__re_error_msgid, __re_error_msgid_idx):
19321         Now static rather than extern with attribute_hidden.
19322         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
19323         For some reason libc prefers K&R style defns for external functions.
19324         (regerror) [!defined _LIBC]: Likewise.
19325         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
19326         (seek_collating_symbol_entry, lookup_collation_sequence_value):
19327         (build_range_exp, build_collating_symbol):
19328         Use K&R-style defn.
19329         (re_compile_fastmap): Use '\0' to memset, not 0.
19330         (utf8_sb_map): Make the calculations more obvious.
19331         (init_dfa, parse_bracket_exp, build_charclass_op):
19332         Call calloc and cast result, as glibc does.
19333         (init_word_char, fetch_token, peek_token, peek_token_bracket):
19334         (build_range_exp, build_collating_symbol):
19335         Now internal functions.
19336
19337         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
19338
19339         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
19340         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
19341         Don't depend on VMS; depend on __VMS instead, for POSIX
19342         namespace cleanness.
19343         (regoff_t): Define to ssize_t, not long int.
19344
19345         Remove the REG_ macros named below.  Instead, make the old names
19346         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
19347         __USE_GNU_REGEX.
19348         (REG_BACKSLASH_ESCAPE_IN_LISTS):
19349         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
19350         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
19351         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
19352         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
19353         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
19354         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
19355         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
19356         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
19357         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
19358         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
19359         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
19360         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
19361         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
19362         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
19363         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
19364         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
19365         (REG_NREGS):
19366         Remove.  All uses replaced by the old RE_* names.
19367         (RE_BACKSLASH_ESCAPE_IN_LISTS):
19368         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
19369         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
19370         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
19371         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
19372         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
19373         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
19374         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
19375         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
19376         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
19377         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
19378         Don't bother having these macros be independent of each others'
19379         values, since they no longer exist in the POSIX name space.
19380
19381         Rename the following member names back to their old names,
19382         unless !__USE_GNU_REGEX.  All uses changed back.
19383         (buffer): Renamed from re_buffer.
19384         (allocated): Renamed from re_allocated.
19385         (used): Renamed from re_used.
19386         (syntax): Renamed from re_syntax.
19387         (fastmap): Renamed from re_fastmap.
19388         (translate): Renamed from re_translate.
19389         (can_be_null): Renamed from re_can_be_null.
19390         (regs_allocated): Renamed from re_regs_allocated.
19391         (fastmap_accurate): Renamed from re_fastmap_accurate.
19392         (no_sub): Renamed from re_no_sub.
19393         (not_bol): Renamed from re_not_bol.
19394         (not_eol): Renamed from re_not_eol.
19395         (newline_anchor): Renamed from re_newline_anchor.
19396         (num_regs): Renamed from rm_num_regs.
19397         (start): Renamed from rm_start.
19398         (end): Renamed from rm_end.
19399
19400         (free_state): Move up a bit.
19401
19402         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
19403         #define to be empty.
19404         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
19405         when that is what is intended.
19406         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
19407         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
19408         (MAX): New macro.
19409         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
19410         All uses changed back to re_malloc, etc.  It's now the caller's
19411         responsibility to check for overflow; all callers changed.
19412         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
19413         (re_x2nrealloc): Remove.
19414         (free_state): Remove decl.
19415
19416         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
19417         (re_set_registers, re_exec):
19418         Use K&R-style defn.
19419
19420         2006-01-31  Roland McGrath  <roland@redhat.com>
19421
19422         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
19423         Reported by Mike Frysinger <vapier@gentoo.org>.
19424
19425         2006-01-15  Andreas Jaeger  <aj@suse.de>
19426
19427         [BZ #1950]
19428         * lib/regex_internal.c (re_string_reconstruct): Adjust for
19429         build_wcs_upper_buffer change.
19430         (build_wcs_upper_buffer): Change return type.
19431
19432         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
19433
19434         * lib/regex_internal.h: Include <stdint.h> if available.
19435
19436         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
19437
19438         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
19439
19440         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
19441
19442         * lib/regcomp.c: Adjust for changed secondary hash function.
19443
19444         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
19445
19446         * lib/regex.h: Pretty printing.
19447         Clean up namespace a bit.
19448
19449         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
19450
19451         * lib/regexec.c (update_cur_sifted_state, check_arrival,
19452         check_arrival_add_next_nodes): Avoid using uninitialized variable.
19453
19454         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
19455                     Ulrich Drepper  <drepper@redhat.com>
19456
19457         [BZ #1302]
19458         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
19459         changed.
19460         (bitset_word_t): Renamed from bitset_word.  All uses changed.
19461
19462         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
19463
19464         [BZ #281]
19465         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
19466         * lib/regcomp.c: Remove unnecessary uses of
19467         unsigned RE_TRANSLATE_TYPE.
19468         * lib/regex_internal.h: Likewise.
19469         * lib/regex_internal.c: Likewise.
19470         * lib/regexec.c: Likewise.
19471         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
19472
19473         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
19474
19475         * lib/regexec.c (find_recover_state): Remove unnecessary
19476         initialization.
19477         (transit_state_bkref): Make DFA a const pointer.
19478         (get_subexp): Likewise.
19479         (check_arrival): Likewise.
19480         (update_cur_sifted_state): Likewise.
19481         (re_search_internal): Likewise.
19482         (prune_impossible_nodes): Likewise.
19483         (acquire_init_state_context): Likewise.
19484         (proceed_next_node): Likewise.
19485         (set_regs): Likewise.
19486         (free_fail_stack_return): Likewise.
19487         (check_arrival_expand_ecl): Mark DFA parameter as const.
19488         (check_arrival_expand_ecl_sub): Likewise.
19489         (check_subexp_limits): Likewise.
19490         (sub_epsilon_src_nodes):  Likewise.
19491         (add_epsilon_src_nodes):  Likewise.
19492         (merge_state_array): Likewise.
19493         (update_regs): Likewise.
19494         (build_trtable): Likewise.
19495         (sift_states_backward): Mark MCTX parameter as const.
19496         (build_sifted_states): Likewise.
19497         (update_cur_sifted_state): Likewise.
19498         (sift_states_mkref): Likewise.
19499         (check_arrival_expand_ecl): Mark eclosure as const.
19500         (check_dst_limits_calc_pos_1): Likewise.
19501         * lib/regex_internal.h (re_match_context_t): Make dfa a const
19502         pointer.
19503
19504         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
19505
19506         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
19507         (transit_state_sb): Likewise.
19508         (transit_state_mb): Likewise.
19509         (sift_states_iter_mb): Likewise.
19510         (check_arrival_add_next_nodes): Likewise.
19511         (check_node_accept_bytes): Change first parameter to pointer-to-const.
19512         [_LIBC] (re_search_2_stub): Use mempcpy.
19513
19514         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
19515         mbrtowc for very simple UTF-8 case.
19516
19517         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
19518         a pointer-to-const.
19519         (re_acquire_state_context): Likewise.
19520         * lib/regex_internal.h: Adjust prototypes.
19521
19522         * lib/regex.c: Prevent using C++ compilers.
19523
19524         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
19525         (re_acquire_state_context): Likewise.
19526
19527 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
19528
19529         * modules/regex (Depends-on): Add ssize_t.
19530
19531 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
19532
19533         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
19534         translation table.
19535
19536 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
19537
19538         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
19539
19540 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
19541             Bruno Haible  <bruno@clisp.org>
19542
19543         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
19544         <sys/types.h> and <inttypes.h>.
19545
19546 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19547
19548         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
19549         `__error_t_defined', so argp.h will not typedef the former.
19550
19551 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
19552
19553         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
19554         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
19555         glibc names.  Even if glibc is changed to conform to POSIX, the
19556         traditional names will be available anyway, since regex depends on
19557         the extensions module.  Also, fix a longstanding typo in the
19558         implementation of Spencer ERE test #75 from grep 2.3.  Problems
19559         reported by Emanuele Giaquinta.  Also, change sense of cached
19560         variable, so that the message makes sense.
19561
19562 2006-03-24  Simon Josefsson  <jas@extundo.com>
19563
19564         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
19565         including some doc fixes.
19566         (base64_encode_alloc): Fix +1 bug on allocation failures.
19567
19568 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19569
19570         * lib/base64.c (base64_encode): Do not read past end of array with
19571         unsanitized input on systems with CHAR_BIT > 8.
19572
19573 2006-03-24  Eric Blake  <ebb9@byu.net>
19574
19575         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
19576
19577 2006-03-22  Karl Berry  <karl@gnu.org>
19578
19579         * config/srclist.txt (*setenv.[ch]): get from coreutils.
19580         * config/srclistvars.sh (COREUTILS): new var.
19581
19582 2006-03-17  Jim Meyering  <jim@meyering.net>
19583
19584         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
19585         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
19586
19587 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
19588
19589         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
19590         no longer needs it.  Instead, check that regoff_t is as least
19591         as wide as ptrdiff_t.
19592
19593         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
19594         so that our regex.h stays compatible with the installed regex.
19595         This is helpful for installers who configure --without-included-regex.
19596         Problem reported by Emanuele Giaquinta.
19597
19598 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
19599
19600         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
19601         Typedef to long int, not to off_, as POSIX will likely change
19602         in that direction.
19603
19604 2006-03-15  Eric Blake  <ebb9@byu.net>
19605
19606         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
19607
19608 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
19609
19610         * lib/argp-help.c (validate_uparams): Fix typo
19611         * lib/argp-parse.c (argp_default_options): Consistently begin help
19612         messages with a lowercase letter.
19613
19614 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
19615
19616         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
19617         overrun buffers and shouldn't be used (much as gets shouldn't be
19618         used).
19619         * lib/time_r.c (asctime_r, ctime_r): Likewise.
19620
19621 2006-03-08  Simon Josefsson  <jas@extundo.com>
19622
19623         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
19624         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19625
19626 2006-03-08  Simon Josefsson  <jas@extundo.com>
19627
19628         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
19629         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19630
19631 2006-03-08  Simon Josefsson  <jas@extundo.com>
19632
19633         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
19634         signal that configure disabled the device.
19635
19636 2006-03-08  Simon Josefsson  <jas@extundo.com>
19637
19638         * build-aux/maint.mk: Fix refresh-po, to handle no translated
19639         languages.
19640
19641 2006-03-07  Simon Josefsson  <jas@extundo.com>
19642
19643         * modules/getopt (Depends-on): Add unistd.
19644
19645         * modules/unistd: New file.
19646
19647 2006-03-07  Simon Josefsson  <jas@extundo.com>
19648
19649         * modules/gc-random: New file.
19650
19651 2006-03-07  Simon Josefsson  <jas@extundo.com>
19652
19653         * m4/unistd_h.m4: New file.
19654
19655 2006-03-07  Simon Josefsson  <jas@extundo.com>
19656
19657         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
19658         test to be side-effect free by storing the result in the cache
19659         variable gl_cv_lib_readline, and moving the assignment of
19660         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
19661         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19662
19663 2006-03-07  Simon Josefsson  <jas@extundo.com>
19664
19665         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
19666         error on missing devices (the functions will return an error).
19667
19668         * m4/gc.m4: Move random stuff to gc-random.m4
19669
19670 2006-03-07  Simon Josefsson  <jas@extundo.com>
19671
19672         * lib/unistd_.h: New file.
19673
19674 2006-03-07  Simon Josefsson  <jas@extundo.com>
19675
19676         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
19677
19678 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
19679
19680         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
19681         Problem reported by Juan Manuel Guerrero.
19682
19683 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
19684
19685         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
19686         the unistd module.
19687         * lib/getlogin_r.c: Likewise.
19688         * lib/getlogin_r.h: Likewise.
19689         * lib/glob.c: Likewise.
19690         * lib/pagealign_alloc.c: Likewise.
19691         * lib/unistd_.h: Remove; no longer needed.
19692
19693 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
19694
19695         * MODULES.html.sh (Support for systems lacking POSIX:2001):
19696         Add unistd.
19697         * modules/c-stack (Depends-on): Add unistd.
19698         * modules/getlogin_r: Likewise.
19699         * modules/glob: Likewise.
19700         * modules/pagealign_alloc: Likewise.
19701         * modules/unistd (Files): Remove lib/unistd_.h.
19702         (EXTRA_DIST): Remove.
19703         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
19704         need unistd_.h.
19705         (MOSTLYCLEANFILES): Remove unistd.h-t.
19706
19707 2006-03-03  Simon Josefsson  <jas@extundo.com>
19708
19709         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
19710
19711 2006-03-03  Simon Josefsson  <jas@extundo.com>
19712
19713         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
19714         libidn and bison.
19715
19716 2006-03-03  Simon Josefsson  <jas@extundo.com>
19717
19718         * build-aux/maint.mk: Add indent target.
19719
19720 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
19721
19722         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
19723         our replacement poll.h in any case, to avoid a differing
19724         declaration from a system header.  Seen on AIX.
19725
19726 2006-03-01  Simon Josefsson  <jas@extundo.com>
19727
19728         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
19729         <kasal@ucw.cz>.
19730
19731 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
19732
19733         * modules/gettime (Depends-on): Add extensions module.
19734         * modules/nanosleep (Depends-on): Likewise.
19735         * modules/settime (Depends-on): Likewise.
19736
19737 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
19738
19739         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
19740         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
19741         pedantically.
19742         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
19743         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
19744
19745         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
19746         not "==".  Reported by Ralf Wildenhues.
19747
19748 2006-03-01  Karl Berry  <karl@gnu.org>
19749
19750         * doc/Copyright/request-*: new files, synced from gnuorg.
19751
19752 2006-03-01  Karl Berry  <karl@gnu.org>
19753
19754         * config/srclist.txt (Copyright/*): new entries.
19755
19756 2006-02-28  Simon Josefsson  <jas@extundo.com>
19757
19758         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
19759
19760 2006-02-27  Simon Josefsson  <jas@extundo.com>
19761
19762         * lib/base64.h: Indent #define's.  From Jim Meyering
19763         <jim@meyering.net>.
19764
19765 2006-02-27  Jim Meyering  <jim@meyering.net>
19766
19767         Revert the change of 2006-02-24, so these files can continue
19768         to be sync'd from gettext.
19769         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
19770         of `config.h'.
19771
19772 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
19773
19774         * modules/intprops: New file.
19775         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
19776         Add intprops.
19777         * modules/getloadavg (Files): Remove lib/intprops.h.
19778         (Depends-on): Add intprops.
19779         * modules/human: Likewise.
19780         * modules/inttostr: Likewise.
19781         * modules/openat: Likewise.
19782         * modules/sig2str: Likewise.
19783         * modules/userspec: Likewise.
19784         * modules/utimecmp: Likewise.
19785         * modules/xnanosleep: Likewise.
19786         * modules/xstrtol: Likewise.
19787
19788 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
19789
19790         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
19791         * modules/lock-tests (TESTS): Use $(EXEEXT).
19792         * modules/tls-tests: Likewise.
19793         * modules/argp-tests: Likewise.
19794         (check_PROGRAMS): New var, replacing...
19795         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
19796
19797 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19798
19799         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
19800         `config.h'.
19801
19802 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
19803
19804         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
19805
19806 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19807
19808         Sync from coreutils.
19809         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
19810         gl_CHDIR_SAFER.
19811
19812 2006-02-22  Jim Meyering  <jim@meyering.net>
19813
19814         Sync from coreutils.
19815         * m4/chdir-safer.m4: New file.
19816
19817 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
19818
19819         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
19820         AT_FDCWD exceeds INT_MAX.
19821         * lib/openat.h (AT_FDCWD): Likewise.
19822
19823 2006-02-17  Eric Blake  <address@hidden>
19824
19825         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
19826
19827 2006-02-16  Simon Josefsson  <jas@extundo.com>
19828
19829         * modules/getaddrinfo (Depends-on): Add sys_socket.
19830
19831 2006-02-15  Simon Josefsson  <jas@extundo.com>
19832
19833         * build-aux/maint.mk: Add dsyntax-check rule.
19834
19835 2006-02-15  Eric Blake  <ebb9@byu.net>
19836
19837         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
19838         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
19839         'present but cannot compile' warnings on cygwin.
19840         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
19841         use ws2tcpip.h if sys/socket.h works.
19842         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
19843         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
19844
19845 2006-02-14  Simon Josefsson  <jas@extundo.com>
19846
19847         * modules/maintainer-makefile (Files): Rename.
19848
19849         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
19850         and (the local) Makefile.cfg to maint-cfg.mk.
19851
19852         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
19853         to the latter.
19854
19855         * modules/maintainer-makefile: New module.
19856
19857         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
19858         severaly stripped to make it possible to build it up from scratch
19859         with reliable tests.
19860
19861         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
19862         fixes to permit overriding the default actions when configure and
19863         makefile are not available.
19864
19865 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
19866
19867         Sync from coreutils.
19868         * modules/lstat (Depends-on): Don't depend on xalloc.
19869         (License): Change from GPL to LGPL, since this is now simply a
19870         replacement for a libc function.
19871
19872 2006-02-14  Jim Meyering  <jim@meyering.net>
19873
19874         Sync from coreutils.
19875
19876         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
19877         failure on deficient systems, and simplify gnulib lgpl dependencies.
19878         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
19879         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
19880
19881         * lib/xalloc-die.c: Remove unused definition of N_.
19882
19883 2006-02-14  Jim Meyering  <jim@meyering.net>
19884
19885         Sync from coreutils.
19886         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
19887         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
19888         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
19889         double-quote uses of that variable, to accommodate the rare case in
19890         which getmntent is available in none of the libraries checked.  This
19891         happens at least on FreeBSD 5.0.
19892
19893 2006-02-13  Simon Josefsson  <jas@extundo.com>
19894
19895         * gnulib-tool (Usage): Fix --import, from
19896         karl@freefriends.org (Karl Berry).
19897
19898 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
19899
19900         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
19901
19902 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
19903
19904         * lib/argp-namefrob.h: Restore changes accidentally lost during the
19905         "autoupdate" on 2005-12-12.
19906
19907 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
19908
19909         * modules/closeout (Depends-on): Remove atexit.
19910
19911 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
19912
19913         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
19914         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
19915
19916 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
19917
19918         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
19919         __EXTENSIONS__ if this causes compilation to fail.  Problem
19920         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
19921         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
19922
19923 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
19924
19925         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
19926         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
19927         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
19928         All uses changed.
19929
19930 2006-01-26  Simon Josefsson  <jas@extundo.com>
19931
19932         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
19933         prototype is visible on mingw32.
19934
19935         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
19936         for mingw32.
19937
19938         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
19939         mingw32).
19940
19941 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
19942
19943         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
19944         attempt to open for write; this always fails, at least on POSIX
19945         hosts.  This reinstates the 2006-01-09 change, which was
19946         inadvertently removed.
19947
19948 2006-01-26  Bruno Haible  <bruno@clisp.org>
19949
19950         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
19951         Reported by Paul Eggert.
19952
19953 2006-01-26  Bruno Haible  <bruno@clisp.org>
19954             Paul Eggert  <eggert@cs.ucla.edu>
19955
19956         * lib/stdbool_.h (_Bool)
19957         [(! (defined __cplusplus || defined __BEOS__)
19958           && !defined __GNUC__
19959           && !(defined __HP_cc || defined __xlc__
19960                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
19961                || defined __sgi))]:
19962         #define to signed char in these cases too; this simplifies
19963         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
19964         etc., separately) and makes it more conservative.
19965
19966 2006-01-25  Simon Josefsson  <jas@extundo.com>
19967
19968         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
19969         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
19970         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
19971
19972 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
19973
19974         * lib/argp-namefrob.h: Bugfix. Remove stray #
19975
19976 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
19977
19978         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
19979         so that we test the test.
19980         Check for yet another HP-UX cc bug involving *bool |= bool.
19981
19982 2006-01-25  Karl Berry  <karl@gnu.org>
19983
19984         * config/srclist.txt (vasnprintf.c): sync lost.
19985
19986 2006-01-25  Jim Meyering  <jim@meyering.net>
19987
19988         Sync from the stable (b5) branch of coreutils:
19989
19990         * lib/fts.c (fts_children): Don't let close() clobber errno from
19991         failed fchdir().
19992
19993         * lib/fts.c (fts_stat): When following a symlink-to-directory,
19994         don't necessarily interpret stat-fails+lstat-succeeds as indicating
19995         a dangling symlink.  That can also happen at least for ELOOP.
19996         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
19997         FYI, this bug predates the inclusion of fts.c in coreutils.
19998
19999         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
20000         in their own block, so pre-c99 compilers don't object.
20001
20002         Avoid the double-free (first in fts_read, second in fts_close) that
20003         would occur when an `active' directory is made inaccessible (e.g.,
20004         via chmod a-x) during a traversal.
20005         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
20006         before returning.  Reproduce this failure by
20007         mkdir -p a/b; cd a; chmod a-x . b
20008         Reported by Stavros Passas.
20009
20010 2006-01-25  Jim Meyering  <jim@meyering.net>
20011
20012         * lib/fileblocks.c: Remove more useless parentheses.
20013         * lib/readutmp.h: Likewise.
20014
20015 2006-01-25  Bruno Haible  <bruno@clisp.org>
20016
20017         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
20018         warnings.
20019         Reported by Paul Eggert.
20020
20021 2006-01-25  Bruno Haible  <bruno@clisp.org>
20022
20023         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
20024         rid of a trap command. For Solaris sh.
20025         Reported by Mark D. Baushke <mdb@gnu.org>.
20026
20027 2006-01-24  Simon Josefsson  <jas@extundo.com>
20028
20029         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
20030         Bruno.
20031
20032 2006-01-24  Karl Berry  <karl@gnu.org>
20033
20034         * config/srclist.txt (argp-namefrob.h): sync lost.
20035
20036 2006-01-24  Jim Meyering  <jim@meyering.net>
20037
20038         * modules/openat (Files): Add lib/intprops.h.
20039         From Mark D. Baushke.
20040
20041 2006-01-24  Jim Meyering  <jim@meyering.net>
20042
20043         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
20044         Reported by Mark D. Baushke.
20045
20046 2006-01-24  Jim Meyering  <jim@meyering.net>
20047
20048         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
20049
20050 2006-01-24  Bruno Haible  <bruno@clisp.org>
20051
20052         * modules/strnlen (Maintainer): Change from glibc to all.
20053
20054 2006-01-24  Bruno Haible  <bruno@clisp.org>
20055
20056         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
20057         Patch by Paul Eggert.
20058
20059 2006-01-24  Bruno Haible  <bruno@clisp.org>
20060
20061         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
20062         already has it.
20063         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
20064         2005-11-26.
20065
20066         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
20067         'signed char' to avoid problems with the built-in _Bool type.
20068         Reported by Paul Eggert on 2005-11-26.
20069
20070 2006-01-24  Bruno Haible  <bruno@clisp.org>
20071
20072         * gnulib-tool (func_import): Avoid constructing complicated sed
20073         expressions inside backquote.
20074         Report and solution by Mark D. Baushke <mdb@gnu.org>.
20075
20076 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
20077
20078         These changes imported from libc.
20079         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
20080         test and two separate function calls.
20081         * lib/strndup.c (__strndup): Add libc_hidden_def.
20082
20083 2006-01-23  Simon Josefsson  <jas@extundo.com>
20084
20085         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
20086         Remove the test_*_SOURCES variable: automake infers it by default.
20087         * modules/tls-tests: Likewise.
20088
20089 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
20090
20091         Work around porting bugs reported by Dieter in
20092         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
20093         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
20094         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
20095         Include "getopt.h" first, to check interface.
20096         (getenv): Declare only if defined HAVE_DECL_GETENV &&
20097         !HAVE_DECL_GETENV.
20098         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
20099         (__strndup): Revert to K&R-style function dfns, the glibc style.
20100         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
20101         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
20102         Include strnlen.h first, to get prototype properly.
20103         (strnlen): Renamed from __strnlen.
20104         Remove weak alias.
20105
20106 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
20107
20108         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
20109
20110 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
20111
20112         * config/srclist.txt: Adjust to reflect glibc reorganization.
20113         This affects only comments.
20114
20115 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
20116
20117          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
20118          Reported by Bruce Korb <bkorb@gnu.org>.
20119
20120 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
20121
20122         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
20123         to pacify gcc -Wswitch-default.
20124
20125 2006-01-22  Bruno Haible  <bruno@clisp.org>
20126
20127         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
20128         temporary buffer for sprintf, take into account the precision also
20129         for 'd', 'i', 'u', 'o', 'x', 'X'.
20130
20131 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
20132
20133         * modules/argp-tests: New module
20134         * tests/test-argp.c: New file
20135         * tests/test-argp-2.sh: New file
20136
20137 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
20138
20139         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
20140         (__argp_base_name): Removed
20141         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
20142         typo.
20143         (__argp_base_name): Provide macro definition or extern declaration
20144         depending on the configuration
20145
20146 2006-01-20  Simon Josefsson  <jas@extundo.com>
20147
20148         * modules/inet_ntop (Depends-on): Depend on sys_socket.
20149
20150 2006-01-20  Simon Josefsson  <jas@extundo.com>
20151
20152         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
20153
20154 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
20155
20156         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
20157         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
20158         Suggested by Bruno Haible.
20159
20160 2006-01-20  Karl Berry  <karl@gnu.org>
20161
20162         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
20163         until changes propagate, I guess.
20164
20165 2006-01-19  Simon Josefsson  <jas@extundo.com>
20166
20167         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
20168
20169 2006-01-19  Simon Josefsson  <jas@extundo.com>
20170
20171         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
20172
20173 2006-01-19  Simon Josefsson  <jas@extundo.com>
20174
20175         * gnulib-tool: Set check_PROGRAMS.
20176
20177         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
20178         modules/des-tests, modules/gc-arcfour-tests,
20179         modules/gc-arctwo-tests, modules/gc-des-tests,
20180         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
20181         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
20182         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
20183         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
20184         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
20185         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
20186         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
20187         test_*_SOURCES.
20188
20189 2006-01-18  Simon Josefsson  <jas@extundo.com>
20190
20191         * modules/socklen (Depends-on): Depend on sys_socket.
20192
20193 2006-01-18  Simon Josefsson  <jas@extundo.com>
20194
20195         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
20196         modules/des-tests, modules/gc-arcfour-tests,
20197         modules/gc-arctwo-tests, modules/gc-des-tests,
20198         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
20199         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
20200         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
20201         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
20202         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
20203         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
20204         $(EXEEXT) to automake TESTS variable, for mingw32.
20205
20206 2006-01-17  Simon Josefsson  <jas@extundo.com>
20207
20208         * modules/socklen (Include): Need sys/socket.h.
20209
20210 2006-01-17  Bruno Haible  <bruno@clisp.org>
20211
20212         * modules/ssize_t (Include): Add <sys/types.h>.
20213
20214 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
20215
20216         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
20217         it's not portable and it doesn't work with cross-compiles.
20218         Problem reported by Bruno Haible.  Fix missing-$ typo in
20219         'test "gl_cv_ignore_unused_libraries" ...' that prevented
20220         -zignore from being used with Sun's C compiler.
20221
20222 2006-01-12  Simon Josefsson  <jas@extundo.com>
20223
20224         * lib/base64.c: Fix warning, reported by Bruno Haible
20225         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
20226
20227 2006-01-12  Bruno Haible  <bruno@clisp.org>
20228
20229         * modules/ldd: New file.
20230         * build-aux/ldd.sh.in: New file.
20231         * MODULES.html.sh (Support for building libraries and executables): Add
20232         ldd.
20233
20234 2006-01-12  Bruno Haible  <bruno@clisp.org>
20235
20236         * m4/ldd.m4: New file.
20237
20238 2006-01-12  Bruno Haible  <bruno@clisp.org>
20239
20240         * gnulib-tool (func_import, func_create_testdir): Don't go into an
20241         endless loop while replacing $auxdir with build-aux.
20242
20243 2006-01-11  Simon Josefsson  <jas@extundo.com>
20244
20245         * lib/stdint_.h (SIZE_MAX): Add missing (.
20246
20247 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
20248
20249         Sync from coreutils.
20250         * lib/md5.c: Fix commentary typos.
20251         (alignof, UNALIGNED_P): No need for a GCC-specific version.
20252         * lib/md5.h (__attribute__): Remove; unused.
20253         * lib/sha1.c: Fix commentary to match md5 better.
20254         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
20255         so that we don't need to worry about alignment.  All uses changed.
20256         This merges the 2005-10-28 md5 change into sha1.
20257
20258 2006-01-11  Jim Meyering  <jim@meyering.net>
20259
20260         Sync from coreutils.
20261         * lib/md5.c (OP): Fix spacing.
20262
20263 2006-01-11  Bruno Haible  <bruno@clisp.org>
20264
20265         Ensure automatic ordering between gl_LOCK and gl_ARGP.
20266         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
20267         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
20268
20269 2006-01-11  Bruno Haible  <bruno@clisp.org>
20270
20271         Ensure automatic ordering between gl_LOCK and gl_ARGP.
20272         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
20273         the "early" section as well.
20274
20275 2006-01-11  Bruno Haible  <bruno@clisp.org>
20276
20277         Avoid "ar: no archive members specified" error on MacOS X.
20278         * gnulib-tool (func_modules_add_dummy): New function.
20279         (func_import, func_create_testdir): Invoke it.
20280
20281 2006-01-11  Bruno Haible  <bruno@clisp.org>
20282
20283         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
20284         with $auxdir in AC_CONFIG_FILES statements.
20285
20286 2006-01-11  Bruno Haible  <bruno@clisp.org>
20287
20288         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
20289         Initialize also noinst_HEADERS to empty.
20290
20291 2006-01-11  Bruno Haible  <bruno@clisp.org>
20292
20293         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
20294         variables.
20295         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
20296         autoreconf.
20297
20298 2006-01-11  Bruno Haible  <bruno@clisp.org>
20299
20300         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
20301         overridable by the user.
20302         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20303
20304 2006-01-10  Simon Josefsson  <jas@extundo.com>
20305
20306         * modules/sys_socket: New file.
20307
20308 2006-01-10  Simon Josefsson  <jas@extundo.com>
20309
20310         * m4/sys_socket_h.m4: New file.
20311
20312 2006-01-10  Simon Josefsson  <jas@extundo.com>
20313
20314         * lib/socket_.h: New file.
20315
20316 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
20317
20318         * modules/readutmp (Maintainer): Add myself.
20319
20320 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
20321
20322         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
20323         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
20324         People who are still concerned with buggy memcmp implementations
20325         can invoke gl_FUNC_MEMCMP themselves.
20326
20327 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
20328
20329         * lib/regex_internal.h (BITSET_WORD_BITS):
20330         Work around a bug in 64-bit PGC (before version 6.1-2), where the
20331         preprocessor mishandles large unsigned values as if they were signed.
20332         Problem reported by Claudio Fontana in
20333         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
20334
20335 2006-01-10  Jim Meyering  <jim@meyering.net>
20336
20337         Avoid the double-free (first in fts_read, second in fts_close) that
20338         would occur when an `active' directory is made inaccessible (e.g.,
20339         via chmod a-x) during a traversal.
20340         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
20341         before returning.  Reproduce this failure by
20342         mkdir -p a/b; cd a; chmod a-x . b
20343         Reported by Stavros Passas.
20344
20345         Sync from coreutils.
20346         * lib/sha1.c: Tweak grammar in a comment.
20347
20348 2006-01-10  Jim Meyering  <jim@meyering.net>
20349
20350         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
20351         Patch by Joerg Sonnenberger.
20352
20353 2006-01-10  Bruno Haible  <bruno@clisp.org>
20354
20355         * modules/readutmp: Depend on module free.
20356         * modules/strtok_r: Depend on module restrict.
20357
20358 2006-01-10  Bruno Haible  <bruno@clisp.org>
20359
20360         * modules/gettext (configure.ac): Add an invocation of
20361         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
20362
20363 2006-01-10  Bruno Haible  <bruno@clisp.org>
20364
20365         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
20366         Reported by Werner Lemberg <wl@gnu.org>.
20367
20368 2006-01-10  Bruno Haible  <bruno@clisp.org>
20369
20370         * lib/localcharset.c: Update from GNU gettext.
20371
20372 2006-01-10  Bruno Haible  <bruno@clisp.org>
20373
20374         * lib/argp.h (__const): Remove macro. Use const instead.
20375         * lib/argp-fmtstream.h (__const): Likewise.
20376         * lib/glob_.h (__const): Remove macro.
20377         * lib/glob-libc.h: Use const instead of __const.
20378
20379 2006-01-10  Bruno Haible  <bruno@clisp.org>
20380
20381         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
20382         variable.
20383         Needed to avoid an automake error regarding the 'gettext' module.
20384
20385 2006-01-09  Simon Josefsson  <jas@extundo.com>
20386
20387         * modules/inet_ntop (Depends-on): Add restrict.
20388
20389 2006-01-09  Simon Josefsson  <jas@extundo.com>
20390
20391         * modules/gc-rijndael-tests (License): Put under LGPL.
20392
20393         * modules/gc-des-tests (License): Likewise.
20394
20395         * modules/gc-arcfour-tests (License): Likewise.
20396
20397         * modules/gc-arctwo-tests (License): Likewise.
20398
20399         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
20400
20401         * modules/gc-hmac-sha1-tests (Files): Likewise.
20402
20403         * modules/gc-hmac-md5-tests (License): Likewise.
20404
20405         * modules/gc-sha1-tests (License): Likewise.
20406
20407         * modules/gc-md5-tests (License): Likewise.
20408
20409         * modules/gc-md4-tests (License): Likewise.
20410
20411         * modules/gc-md2-tests (License): Likewise.
20412
20413         * modules/gc-tests (License): Likewise.
20414
20415         * modules/des-tests (License): Likewise.
20416
20417         * modules/md4-tests (License): Likewise.
20418
20419         * modules/md2-tests (License): Likewise.
20420
20421 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
20422
20423         Sync from coreutils:
20424
20425         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
20426         * modules/lib-ignore: New file.
20427         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
20428         chdir-safer.m4, lchmod.m4.
20429         * modules/openat: Add mkdirat.c, openat-priv.h.
20430
20431 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
20432
20433         Sync from coreutils.
20434         * m4/lib-ignore.m4: New file.
20435         * m4/lchmod.m4: New file.
20436
20437 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
20438
20439         Sync from coreutils.
20440         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
20441         for write access: POSIX says that must fail.
20442         * lib/fts.c (diropen): Likewise.
20443         * lib/save-cwd.c (save_cwd): Likewise.
20444         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
20445         well, for minor improvements on hosts that lack O_DIRECTORY.
20446         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
20447         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
20448         Fall back on chown if open failed with EACCES.
20449
20450         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
20451         Report an error at compile-time if only a 1-second nominal clock
20452         resolution is found.
20453
20454         * lib/lchmod.h: New file.
20455         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
20456         (make_dir_parents): Use lchown rather than chown, and
20457         lchmod rather than chmod.
20458
20459         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
20460         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
20461         "proc" reported by n0dalus.
20462
20463         * lib/mountlist.c: Include <limits.h>.
20464         (dev_from_mount_options)
20465         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
20466         New function.  It no longer assumes "dev=" has the System V meaning
20467         on Linux (since it doesn't).  It also parses "dev=" more carefully.
20468         (read_file_system_list)
20469         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
20470         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
20471         dev= in that case.
20472
20473         * lib/posixtm.h (PDS_PRE_2000): New macro.
20474         * lib/posixtm.c (year): Arg is now syntax_bits rather than
20475         allow_century.  All usages changed.  Reject dates outside the range
20476         1969-1999 if PDS_PRE_2000 is used.
20477
20478 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
20479
20480         Sync from coreutils.
20481         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
20482         (Time of day items): Mention the possibility of leap seconds.
20483         Problem reported by Dr. David Alan Gilbert.
20484
20485 2006-01-09  Jim Meyering  <jim@meyering.net>
20486
20487         Sync from coreutils.
20488
20489         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
20490
20491         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
20492
20493         * lib/modechange.c (mode_compile): Reject an invalid mode string
20494         that starts with an octal digit.  From Andreas Gruenbacher.
20495
20496         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
20497         and dup to open_safer and dup_safer, respectively.
20498         (openat_permissive): Fix typo in comment.
20499
20500         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
20501         "gettext.h"; either no longer needed or are guaranteed by openat.h.
20502         (_): Remove; no longer needed.
20503         (openat): Renamed from rpl_openat; no need for rpl_openat
20504         since openat.h renames openat for us.
20505         Replace most of the body with a call to openat_permissive,
20506         to avoid duplicate code.
20507         Port to (probably hypothetical) environments were mode_t is
20508         wider than int.
20509         (openat_permissive): Require mode arg, so that we can check
20510         types better.  Put it just after flags.  Change cwd failure
20511         indicator from pointer-to-bool to pointer-to-errno-value.
20512         All callers changed.
20513         Invoke openat_save_fail and/or openat_restore_fail if
20514         cwd_errno is null, so that openat can call us.
20515         (openat_permissive, fdopendir, fstatat, unlinkat):
20516         Simplify errno handling to avoid some duplicate code,
20517         as it's OK to set errno on success.
20518         * lib/openat.h: Revamp code so that function macros depend on
20519         __OPENAT_PREFIX only, not also on AT_FDCWD.
20520         (openat_ro): Remove.  Caller changed to use openat_permissive.
20521         (openat_permissive): Now a macro, if not a function.
20522         (openat_restore_fail, openat_save_fail): Now always functions,
20523         since mkdirat needs them even if __OPENAT_PREFIX is defined.
20524
20525         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
20526         and openat.c.
20527         * lib/mkdirat.c: Include openat-priv.h.
20528         Remove definitions of macros defined therein.
20529         * lib/openat.c: Likewise.
20530
20531         * lib/mkdirat.c (mkdirat): New file and function.
20532         * lib/openat.h (mkdirat): Declare.
20533
20534         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
20535
20536         * lib/openat.h (openat_permissive): Declare.
20537         (openat_ro): Define.
20538
20539         * lib/openat.c (EXPECTED_ERRNO): New macro.
20540         (openat_permissive): New function -- used in remove.c rewrite.
20541         (all functions): Set errno just before returning, only if there
20542         was an actual failure.
20543         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
20544
20545         Emulate openat-family functions using Linux's procfs, if possible.
20546         Idea and some code based on Ulrich Drepper's glibc changes.
20547
20548         * lib/openat.c: (BUILD_PROC_NAME): New macro.
20549         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
20550         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
20551         before falling back on save_cwd and restore_cwd.
20552         (fdopendir, fstatat, unlinkat): Likewise.
20553
20554         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
20555         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
20556
20557         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
20558         as second argument to va_arg.  Otherwise, some versions of gcc
20559         warn that `if this code is reached, the program will abort'.
20560
20561 2006-01-09  Jim Meyering  <jim@meyering.net>
20562
20563         Sync from coreutils.
20564         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
20565         Require openat-priv.h.
20566
20567 2006-01-09  Bruno Haible  <bruno@clisp.org>
20568
20569         * modules/strnlen (Include): Use strnlen.h.
20570
20571 2006-01-09  Bruno Haible  <bruno@clisp.org>
20572
20573         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
20574
20575 2006-01-09  Bruno Haible  <bruno@clisp.org>
20576
20577         * lib/sysexit_.h (EX_OK): New macro.
20578         Suggested by Martin Lambers <marlam@marlam.de>.
20579
20580 2006-01-09  Bruno Haible  <bruno@clisp.org>
20581
20582         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
20583         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
20584
20585 2006-01-09  Bruno Haible  <bruno@clisp.org>
20586
20587         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
20588         numbers.
20589
20590 2006-01-09  Bruno Haible  <bruno@clisp.org>
20591
20592         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
20593         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
20594         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
20595         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
20596
20597 2006-01-09  Bruno Haible  <bruno@clisp.org>
20598
20599         * build-aux/javacomp.sh.in: New file, moved from lib/.
20600         * modules/javacomp-script (Files): Update.
20601         (configure.ac): Add AC_CONFIG_FILES invocation.
20602         (EXTRA_DIST): Remove variable.
20603
20604         * build-aux/javaexec.sh.in: New file, moved from lib/.
20605         * modules/javaexec (Files): Update.
20606         (configure.ac): Add AC_CONFIG_FILES invocation.
20607         (EXTRA_DIST): Remove javaexec.sh.in.
20608
20609         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
20610         * modules/csharpcomp-script (Files): Update.
20611         (configure.ac): Add AC_CONFIG_FILES invocation.
20612         (EXTRA_DIST): Remove variable.
20613
20614         * build-aux/csharpexec.sh.in: New file, moved from lib/.
20615         * modules/csharpexec (Files): Update.
20616         (configure.ac): Add AC_CONFIG_FILES invocation.
20617         (EXTRA_DIST): Remove csharpexec.sh.in.
20618
20619 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
20620
20621         Sync from coreutils.
20622
20623         Add POSIX ACL support
20624         * lib/acl.h (copy_acl, set_acl): Add declarations.
20625         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
20626         systems other than Linux.
20627         (chmod_or_fchmod): New function: use fchmod when possible,
20628         and chmod otherwise.
20629         (file_has_acl): Add a POSIX ACL implementation, with a
20630         Linux-specific subcase.
20631         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
20632         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
20633         acls are unsupported.
20634         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
20635         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
20636         are unsupported.
20637
20638 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
20639
20640         Sync from coreutils.
20641         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
20642
20643 2006-01-07  Bruno Haible  <bruno@clisp.org>
20644
20645         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
20646         gl_EARLY.
20647
20648 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
20649
20650         * lib/strftime.c (tzname): Don't declare if it is already #defined.
20651         Problem reported for Mingw by Mark Junker.
20652
20653 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
20654
20655         * README: Gnulib normally doesn't generate a tarball.
20656
20657 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
20658
20659         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
20660         long int, not int, for nanosecond counts, so that people who are
20661         used to POSIX struct timespec won't be surprised.  Reported by Jim
20662         Meyering.
20663
20664 2005-12-28  Bruno Haible  <bruno@clisp.org>
20665
20666         * build-aux/config.rpath: Update from GNU gettext.
20667
20668 2005-12-16  Jim Meyering  <jim@meyering.net>
20669
20670         * modules/fprintftime: New module.
20671         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
20672
20673 2005-12-16  Jim Meyering  <jim@meyering.net>
20674
20675         * m4/fprintftime.m4: New file.
20676
20677 2005-12-16  Jim Meyering  <jim@meyering.net>
20678
20679         * lib/fprintftime.c, lib/fprintftime.h: New files.
20680
20681 2005-12-15  Simon Josefsson  <jas@extundo.com>
20682
20683         * modules/socklen (configure.ac): Fix M4 macro name, to align with
20684         new m4/socklen.m4.
20685
20686 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
20687
20688         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
20689         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
20690
20691 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
20692
20693         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
20694         * lib/argp-help.c (fill_in_uparams): Check if the constructed
20695         struct uparams is valid. Fall back to the default values if it is
20696         not.
20697
20698 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
20699
20700         * modules/argp (Files): Add argp-pin.c
20701         (Depends-on): dirname
20702         (lib_SOURCES): Add argp-pin.c
20703
20704 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
20705
20706         * m4/argp.m4:  Check if program_invocation_name and
20707         program_invocation_short_name are declared and define appropriate
20708         macros if they are not.
20709
20710 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
20711
20712         * lib/argp-help.c (__argp_base_name): New function
20713         (__argp_short_program_name): Rewrite using __argp_base_name
20714         * lib/argp-namefrob.h: Define program_invocation_name and
20715         program_invocation_short_name if requested
20716         (__argp_base_name): Add prototype
20717         * lib/argp-parse.c (argp_def): Use gettext wrappers
20718         (argp_default_parser): Use __argp_base_name
20719         * lib/argp-pin.c: New file. Defines program_invocation_name and
20720         program_invocation_short_name on systems that lack them.
20721
20722 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
20723
20724         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
20725         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
20726         porting problem reported by Georg Schwarz in
20727         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
20728
20729 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
20730
20731         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
20732         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
20733         porting problem reported by Georg Schwarz in
20734         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
20735
20736 2005-12-05  Bruno Haible  <bruno@clisp.org>
20737
20738         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
20739         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
20740         Reported by Mark Junker <mjscod@gmx.de>.
20741
20742 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
20743
20744         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
20745         Use implementation from Albert Chin, with some
20746         comments/corrections by Stepan Kasal and myself.
20747
20748 2005-12-02  Bruno Haible  <bruno@clisp.org>
20749
20750         * gnulib-tool (func_import): Accept GPLed build tool modules when
20751         --lgpl is given.
20752         * modules/csharpcomp-script: New file.
20753         * modules/csharpcomp: Depend on it.
20754         * modules/javacomp-script: New file.
20755         * modules/javacomp: Depend on it.
20756         Suggested by Simon Josefsson.
20757
20758 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
20759
20760         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
20761         statement, to work around an HP-UX 10.20 compiler bug reported by
20762         Peter O'Gorman.
20763
20764 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
20765
20766         * modules/savedir (Depends-on): Add openat.
20767
20768 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
20769
20770         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
20771         (uintmax_t) [defined uintmax_t]: Do not declare.
20772         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
20773         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
20774         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
20775         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
20776         sake of portability to weird hosts that C allows (though we don't
20777         know of any practical examples).
20778
20779         * lib/savedir.h (fdsavedir): New decl.
20780         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
20781         contains most of the former guts of savedir.
20782         (savedir): Use savedirstream.
20783         Include "openat.h".
20784
20785 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
20786
20787         * modules/obstack (Files): Add m4/ulonglong.m4.
20788         Problem reported by Davide Angelocola.
20789
20790 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
20791
20792         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
20793         coreutils no longer futzes with rounding modes.
20794
20795 2005-11-14  Jim Meyering  <jim@meyering.net>
20796
20797         * lib/mkstemp-safer.c: Include <config.h>, required for possible
20798         replacement of mkstemp.
20799
20800 2005-11-10  Simon Josefsson  <jas@extundo.com>
20801
20802         * lib/readline.c: Remove EOL.
20803
20804 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
20805
20806         * modules/gethrxtime (Depends-on): Add gettime.
20807
20808 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
20809
20810         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
20811         or gettimeofday; no longer needed.
20812
20813 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
20814
20815         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
20816         time business.
20817         (gethrxtime) [! (HAVE_NANOUPTIME
20818         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
20819         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
20820         our own approximation.
20821
20822 2005-11-08  Eric Blake  <ebb9@byu.net>
20823
20824         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
20825
20826 2005-11-08  Eric Blake  <ebb9@byu.net>
20827
20828         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
20829
20830 2005-11-04  Bruno Haible  <bruno@clisp.org>
20831
20832         * gnulib-tool: Implement --update mode.
20833
20834 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
20835
20836         Fix porting problem reported by Theodoros V. Kalamatianos.
20837         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
20838         Don't assume that futimes failing means we must fail.
20839
20840 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
20841
20842         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
20843         variables to suggest the intended function of the PATH_MAX check.
20844
20845 2005-10-30  Kean Johnston  <jkj@sco.com>
20846
20847         Trivial changes to support SCO systems.
20848         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
20849         as PATH_MAX.
20850         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
20851         where __ptr is null when no I/O is pending.
20852
20853 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
20854
20855         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
20856         leave errno alone.  Problem reported by Dmitry V. Levin.
20857
20858 2005-10-28  Simon Josefsson  <jas@extundo.com>
20859
20860         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
20861         Test more.
20862
20863         * tests/test-gc-md2.c, tests/test-md2.c: New files.
20864
20865         * modules/md2, modules/md2-tests: New files.
20866
20867 2005-10-28  Simon Josefsson  <jas@extundo.com>
20868
20869         * m4/inet_ntop.m4: More tests.
20870
20871         * m4/gc-md2.m4, md2.m4: New file.
20872
20873 2005-10-28  Simon Josefsson  <jas@extundo.com>
20874
20875         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
20876         "restrict" keywords, as per POSIX.  Protect the function
20877         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
20878         Don't use K&R prototypes.  Check the sprintf return values.
20879         Re-define EAFNOSUPPORT if not present.  Indent.
20880
20881         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
20882         suggested by Bruno Haible <bruno@clisp.org>.
20883
20884         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
20885
20886         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
20887
20888         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
20889         libgcrypt).
20890
20891         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
20892
20893         * lib/md2.h, lib/md2.c: New files.
20894
20895 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
20896
20897         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
20898         errno alone.  Problem reported by Frederic Jolliton.
20899
20900 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
20901
20902         * modules/verify (License): Change from GPL to LGPL.  This is a
20903         tiny module and there are apparently near-equivalents that are
20904         under the BSD license.
20905
20906 2005-10-24  Simon Josefsson  <jas@extundo.com>
20907
20908         * modules/sha1: Relicense to LGPL.
20909
20910 2005-10-24  Simon Josefsson  <jas@extundo.com>
20911
20912         * lib/md4.h: Shrink buffer size, now that we changed the type.
20913
20914 2005-10-23  Simon Josefsson  <jas@extundo.com>
20915
20916         * gnulib-tool (func_import): Fix --tests-base.
20917
20918 2005-10-22  Simon Josefsson  <jas@extundo.com>
20919
20920         * modules/arcfour (Depends-on): Need stdint.
20921
20922 2005-10-22  Simon Josefsson  <jas@extundo.com>
20923
20924         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
20925         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
20926
20927 2005-10-22  Simon Josefsson  <jas@extundo.com>
20928
20929         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
20930         suggested by Bruno Haible <bruno@clisp.org>.
20931
20932 2005-10-22  Simon Josefsson  <jas@extundo.com>
20933
20934         * lib/crc.h: Include stddef.h, for size_t.
20935
20936 2005-10-22  Simon Josefsson  <jas@extundo.com>
20937
20938         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
20939         arcfour_context struct (simplify test vector testing in GNU
20940         Shishi).
20941
20942 2005-10-21  Simon Josefsson  <jas@extundo.com>
20943
20944         * modules/des, modules/des-tests: New files.
20945
20946         * modules/gc-des, modules/gc-des-tests: New files.
20947
20948         * tests/test-des.c, tests/test-gc-des.c: New file.
20949
20950 2005-10-21  Simon Josefsson  <jas@extundo.com>
20951
20952         * modules/arctwo, modules/arctwo-tests: New files.
20953
20954         * tests/test-arctwo.c: New file.
20955
20956         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
20957
20958         * tests/test-gc-arctwo.c: New file.
20959
20960 2005-10-21  Simon Josefsson  <jas@extundo.com>
20961
20962         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
20963         Bruno Haible <bruno@clisp.org>.
20964
20965         * m4/gc-des.m4: New file.
20966
20967 2005-10-21  Simon Josefsson  <jas@extundo.com>
20968
20969         * m4/arctwo.m4: New file.
20970
20971         * m4/gc-arctwo.m4: New file.
20972
20973 2005-10-21  Simon Josefsson  <jas@extundo.com>
20974
20975         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
20976         block.
20977
20978 2005-10-21  Simon Josefsson  <jas@extundo.com>
20979
20980         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
20981         <bruno@clisp.org>.
20982
20983         * lib/hmac-sha1.c (hmac_sha1): Likewise.
20984
20985         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
20986         Bruno Haible <bruno@clisp.org>.
20987
20988         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
20989         <bruno@clisp.org>.
20990
20991 2005-10-21  Simon Josefsson  <jas@extundo.com>
20992
20993         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
20994
20995 2005-10-21  Simon Josefsson  <jas@extundo.com>
20996
20997         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
20998
20999 2005-10-21  Simon Josefsson  <jas@extundo.com>
21000
21001         * lib/des.h, lib/des.c: New files.
21002
21003         * lib/gc-gnulib.c: Support DES.c
21004
21005 2005-10-21  Simon Josefsson  <jas@extundo.com>
21006
21007         * lib/arctwo.h, lib/arctwo.c: New files.
21008
21009         * lib/gc-gnulib.c: Support ARCTWO.
21010
21011 2005-10-21  Simon Josefsson  <jas@extundo.com>
21012
21013         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
21014         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21015
21016 2005-10-21  Simon Josefsson  <jas@extundo.com>
21017
21018         * gnulib-tool (func_import, func_create_testdir): Define automake
21019         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
21020         Makefile.am snippet),
21021         suggested by Bruno Haible <bruno@clisp.org>.
21022
21023         * modules/gc (Makefile.am): Use it.
21024
21025 2005-10-21  Bruno Haible  <bruno@clisp.org>
21026
21027         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
21028         patch.
21029
21030 2005-10-19  Simon Josefsson  <jas@extundo.com>
21031
21032         * tests/test-gc-rijndael.c: New file.
21033
21034         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
21035
21036 2005-10-19  Simon Josefsson  <jas@extundo.com>
21037
21038         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
21039         interface too.
21040
21041 2005-10-19  Simon Josefsson  <jas@extundo.com>
21042
21043         * tests/test-gc-arcfour.c: New file.
21044
21045         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
21046
21047 2005-10-19  Simon Josefsson  <jas@extundo.com>
21048
21049         * modules/gc-md4, modules/gc-md4-tests: New file.
21050
21051         * tests/test-gc-md4.c: New file.
21052
21053 2005-10-19  Simon Josefsson  <jas@extundo.com>
21054
21055         * m4/gc-md4.m4: New file.
21056
21057 2005-10-19  Simon Josefsson  <jas@extundo.com>
21058
21059         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
21060         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
21061         <kasal@ucw.cz>.
21062
21063 2005-10-19  Simon Josefsson  <jas@extundo.com>
21064
21065         * m4/gc-arcfour.m4: New file.
21066
21067         * m4/gc-rijndael.m4: New file.
21068
21069 2005-10-19  Simon Josefsson  <jas@extundo.com>
21070
21071         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
21072
21073 2005-10-19  Simon Josefsson  <jas@extundo.com>
21074
21075         * lib/gc-gnulib.c: Support ARCFOUR.
21076
21077 2005-10-19  Simon Josefsson  <jas@extundo.com>
21078
21079         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
21080         support.
21081
21082         * lib/gc.h: Add ECB enum type.
21083
21084         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
21085
21086 2005-10-18  Simon Josefsson  <jas@extundo.com>
21087
21088         * tests/test-md5.c: New file.
21089
21090         * modules/md5-tests: New file.
21091
21092 2005-10-18  Simon Josefsson  <jas@extundo.com>
21093
21094         * tests/test-md4.c: New file.
21095
21096         * modules/md4, modules/md4-tests: New files.
21097
21098 2005-10-18  Simon Josefsson  <jas@extundo.com>
21099
21100         * m4/md4.m4: New file.
21101
21102 2005-10-18  Simon Josefsson  <jas@extundo.com>
21103
21104         * lib/md4.h, lib/md4.c: New files, based on md5.?.
21105
21106 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
21107
21108         * gnulib-tool (func_create_testdir): Omit the second check whether
21109         BUILT_SOURCES in nonempty.
21110
21111 2005-10-17  Simon Josefsson  <jas@extundo.com>
21112
21113         * tests/test-rijndael.c: New file.
21114
21115 2005-10-17  Simon Josefsson  <jas@extundo.com>
21116
21117         * modules/sha1: Depend on stdint instead of md5.
21118
21119         * modules/md5: Depend on stdint, remove uint32_t.
21120
21121 2005-10-17  Simon Josefsson  <jas@extundo.com>
21122
21123         * modules/gc-sha1-tests: New file.
21124
21125         * tests/test-gc-sha1.c: New file.
21126
21127 2005-10-17  Simon Josefsson  <jas@extundo.com>
21128
21129         * m4/md5.m4: Remove call to uint32_t.m4.
21130
21131 2005-10-17  Simon Josefsson  <jas@extundo.com>
21132
21133         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
21134
21135         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
21136         md5.h.
21137
21138         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
21139
21140         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
21141
21142 2005-10-17  Simon Josefsson  <jas@extundo.com>
21143
21144         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
21145
21146 2005-10-17  Simon Josefsson  <jas@extundo.com>
21147
21148         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
21149
21150 2005-10-17  Simon Josefsson  <jas@extundo.com>
21151
21152         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
21153
21154         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
21155
21156 2005-10-17  Bruno Haible  <bruno@clisp.org>
21157
21158         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
21159         that it can also be used in a test.
21160
21161 2005-10-16  Bruno Haible  <bruno@clisp.org>
21162
21163         * gnulib-tool (func_emit_tests_Makefile_am): Also define
21164         TESTS_ENVIRONMENT, so that individual tests can augment it.
21165
21166         * gnulib-tool (func_create_testdir): Use an intermediate target for
21167         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
21168         macros, like $(ALLOCA_H), which cannot be passed through the command
21169         line.
21170
21171 2005-10-15  Simon Josefsson  <jas@extundo.com>
21172
21173         * modules/rijndael-tests: New file.
21174
21175         * modules/rijndael: New file.
21176
21177 2005-10-15  Simon Josefsson  <jas@extundo.com>
21178
21179         * m4/rijndael.m4: New file.
21180
21181 2005-10-15  Simon Josefsson  <jas@extundo.com>
21182
21183         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
21184
21185         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
21186
21187 2005-10-14  Simon Josefsson  <jas@extundo.com>
21188
21189         * tests/test-arcfour.c: New file.
21190
21191         * modules/arcfour, modules/arcfour-tests: New files.
21192
21193 2005-10-14  Simon Josefsson  <jas@extundo.com>
21194
21195         * m4/arcfour.m4: New file.
21196
21197 2005-10-14  Simon Josefsson  <jas@extundo.com>
21198
21199         * lib/arcfour.h, lib/arcfour.c: New files.
21200
21201 2005-10-14  Roland McGrath  <roland@redhat.com>
21202
21203         Import from libc.  [BZ #1331]
21204         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
21205         macro argument.
21206         Reported by Matej Vela <vela@debian.org>.
21207
21208 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
21209
21210         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
21211         include <wchar.h>; no longer needed.
21212
21213 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
21214
21215         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
21216
21217 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
21218         and  Ulrich Drepper  <drepper@redhat.com>
21219
21220         Import from libc.
21221         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
21222         instead of inline stream orientation test and two separate
21223         function calls.  Pay no attention to USE_IN_LIBIO.
21224
21225 2005-10-13  Simon Josefsson  <jas@extundo.com>
21226
21227         * modules/gc-hmac-md5-tests: New file.
21228
21229         * tests/test-gc-hmac-sha1.c: New file.
21230
21231         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
21232
21233         * modules/gc-hmac-md5-tests: New file.
21234
21235         * tests/test-gc-md5.c: New file.
21236
21237         * modules/gc-md5-tests: New file.
21238
21239 2005-10-13  Simon Josefsson  <jas@extundo.com>
21240
21241         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
21242         Move memory allocation outside of loop.
21243
21244 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
21245
21246         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
21247         intermediate directory is in a read-only file system.  Problem
21248         reported by Eric Blake.
21249
21250 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
21251
21252         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
21253
21254 2005-10-12  Simon Josefsson  <jas@extundo.com>
21255
21256         * tests/test-hmac-sha1.c: New file.
21257
21258         * modules/hmac-sha1-tests: New file.
21259
21260         * modules/hmac-sha1: New file.
21261
21262 2005-10-12  Simon Josefsson  <jas@extundo.com>
21263
21264         * modules/gc-sha1: New file.
21265
21266 2005-10-12  Simon Josefsson  <jas@extundo.com>
21267
21268         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
21269
21270         * tests/test-gc-pbkdf2-sha1.c: New file.
21271
21272 2005-10-12  Simon Josefsson  <jas@extundo.com>
21273
21274         * modules/gc-md5, modules/gc-hmac-md5: New files.
21275
21276         * modules/gc (Files): Remove md5, memxor and hmac files.
21277
21278 2005-10-12  Simon Josefsson  <jas@extundo.com>
21279
21280         * m4/gc-pbkdf2-sha1.m4: New file.
21281
21282         * m4/gc-hmac-sha1.m4: New file.
21283
21284         * m4/gc-sha1: New file.
21285
21286         * m4/hmac-sha1.m4: New file.
21287
21288 2005-10-12  Simon Josefsson  <jas@extundo.com>
21289
21290         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
21291
21292         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
21293
21294 2005-10-12  Simon Josefsson  <jas@extundo.com>
21295
21296         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
21297         suggested by Bruno Haible <bruno@clisp.org>.
21298
21299 2005-10-12  Simon Josefsson  <jas@extundo.com>
21300
21301         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
21302
21303 2005-10-12  Simon Josefsson  <jas@extundo.com>
21304
21305         * lib/gc-pbkdf2-sha1.c: New file.
21306
21307         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
21308
21309 2005-10-12  Simon Josefsson  <jas@extundo.com>
21310
21311         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
21312
21313         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
21314
21315 2005-10-12  Simon Josefsson  <jas@extundo.com>
21316
21317         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
21318         GC_USE_HMAC_MD5, respectively.
21319
21320         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
21321         (gc_md5): Fix typo.
21322
21323         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
21324
21325         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
21326
21327         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
21328
21329 2005-10-12  Bruno Haible  <bruno@clisp.org>
21330
21331         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
21332         Reported by Stepan Kasal <kasal@ucw.cz>.
21333
21334 2005-10-11  Simon Josefsson  <jas@extundo.com>
21335
21336         * tests/test-crc.c: New file.
21337
21338         * modules/crc, modules/crc-tests: New files.
21339
21340 2005-10-11  Simon Josefsson  <jas@extundo.com>
21341
21342         * m4/crc.m4: New file.
21343
21344 2005-10-11  Simon Josefsson  <jas@extundo.com>
21345
21346         * lib/gc.h: Add gc_hash and gc_hash_buffer.
21347
21348         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
21349
21350         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
21351
21352 2005-10-11  Simon Josefsson  <jas@extundo.com>
21353
21354         * lib/crc.h, lib/crc.c: New files.
21355
21356         * lib/gc.h (gc_hash_buffer): Add doc.
21357
21358 2005-10-11  Bruno Haible  <bruno@clisp.org>
21359
21360         * modules/c-strcasestr: New file.
21361         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
21362
21363 2005-10-11  Bruno Haible  <bruno@clisp.org>
21364
21365         * modules/c-strcase: New file.
21366         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
21367
21368 2005-10-11  Bruno Haible  <bruno@clisp.org>
21369
21370         * lib/strcasecmp.c: Include limits.h.
21371         (strcasecmp): Avoid integer overflow on exotic platforms.
21372         * lib/strncasecmp.c: Include limits.h.
21373         (strncasecmp): Avoid integer overflow on exotic platforms.
21374         Reported by Paul Eggert.
21375
21376 2005-10-11  Bruno Haible  <bruno@clisp.org>
21377
21378         * lib/c-strcasestr.h: New file, from GNU gettext.
21379         * lib/c-strcasestr.c: New file, from GNU gettext.
21380
21381 2005-10-11  Bruno Haible  <bruno@clisp.org>
21382
21383         * lib/c-strcase.h: New file, from GNU gettext.
21384         * lib/c-strcasecmp.c: New file, from GNU gettext.
21385         * lib/c-strncasecmp.c: New file, from GNU gettext.
21386
21387 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
21388
21389         * modules/mempcpy (License): GPL -> LGPL.
21390         * modules/strchrnul (License): Likewise.
21391         * modules/sysexits (License): Likewise.
21392
21393 2005-10-08  Simon Josefsson  <jas@extundo.com>
21394
21395         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
21396
21397 2005-10-07  Simon Josefsson  <jas@extundo.com>
21398
21399         * m4/memxor.m4: Remove gl_C_RESTRICT call.
21400
21401 2005-10-06  Simon Josefsson  <jas@extundo.com>
21402
21403         * tests/test-hmac-md5.c: New file.
21404
21405         * modules/hmac-md5-tests: New file.
21406
21407         * modules/hmac-md5: New file.
21408
21409 2005-10-06  Simon Josefsson  <jas@extundo.com>
21410
21411         * m4/hmac-md5.m4: New file.
21412
21413         * m4/memxor.m4: Require gl_C_RESTRICT.
21414
21415 2005-10-06  Simon Josefsson  <jas@extundo.com>
21416
21417         * lib/memxor.c (memxor): Avoid casts and warnings.
21418
21419 2005-10-06  Simon Josefsson  <jas@extundo.com>
21420
21421         * lib/hmac-md5.c: New file.
21422
21423         * lib/hmac.h: New file.
21424
21425 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
21426
21427         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
21428         promotes to int, not unsigned int, to catch the AIX 5.3
21429         compiler bug.
21430
21431 2005-10-05  Simon Josefsson  <jas@extundo.com>
21432
21433         * modules/memxor: New file.
21434
21435         * modules/iconv (Files): Move config.rpath to havelib, it is used
21436         there.
21437
21438         * modules/havelib (Files): Add config.rpath.
21439
21440 2005-10-05  Simon Josefsson  <jas@extundo.com>
21441
21442         * m4/memxor.m4: New file.
21443
21444 2005-10-05  Simon Josefsson  <jas@extundo.com>
21445
21446         * lib/memxor.c (memxor): Fix compiler error.
21447
21448         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
21449         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
21450
21451         * lib/memxor.h, lib/memxor.c: New files.
21452
21453         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
21454         we assume all systems have it, suggested by Jim Meyering
21455         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
21456         any systems lack sys/socket.h; mingw32 is known to lack it, but we
21457         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
21458         same reasons.
21459
21460 2005-10-05  Simon Josefsson  <jas@extundo.com>
21461
21462         * config/srclist.txt: Add glibc bug 1423 for md5.h.
21463
21464 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
21465
21466         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
21467         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
21468         needed, since the source code now assumes these .h files.
21469
21470 2005-10-05  Derek Price  <derek@ximbiot.com>
21471
21472         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
21473
21474 2005-10-05  Bruno Haible  <bruno@clisp.org>
21475
21476         * modules/stdint (License): Change to LGPL.
21477
21478 2005-10-04  Simon Josefsson  <jas@extundo.com>
21479
21480         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
21481         D. Baushke" <mdb@gnu.org>.
21482
21483 2005-10-04  Bruno Haible  <bruno@clisp.org>
21484
21485         * lib/verify.h (verify_true): Provide alternative definition for C++.
21486
21487 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
21488
21489         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
21490         (SSIZE_MAX): New macro, if not already defined.
21491         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
21492         than 2 GiB.
21493
21494 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
21495
21496         Sync from coreutils.
21497         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
21498         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
21499         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
21500         ULLONG_MAX doesn't work with 2.7.2.1.
21501
21502 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
21503
21504         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
21505         From Ben Pfaff.
21506
21507         * modules/exclude (Depends-on): Depend on verify.
21508         * modules/strtoimax (Depends-on): Likewise.
21509         * modules/utimecmp (Depends-on): Likewise.
21510
21511 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
21512
21513         * lib/exclude.c: Include verify.h.
21514         (verify): Remove.  All callers changed to use verify.h's version.
21515         * lib/strtoimax.c: Likewise.
21516         * lib/utimecmp.c: Likewis.e
21517
21518         Sync from coreutils.
21519         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
21520         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
21521         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
21522         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
21523         bother returning ENOSYS if settimeofday or stime fails; just let
21524         them return whatever errno they want to return.
21525         * lib/utimens.c: Include unistd.h, for dup2.
21526         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
21527         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
21528
21529 2005-10-02  Jim Meyering  <jim@meyering.net>
21530
21531         Sync from coreutils.
21532         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
21533         from glibc-2.2.5 that fails for read-only files.
21534
21535 2005-10-02  Jim Meyering  <jim@meyering.net>
21536
21537         Sync from coreutils.
21538         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
21539         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
21540         `#if HAVE_CONFIG_H'.
21541         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
21542         Remove AT_FDCWD test.
21543         Do not consume the fd unless successful.
21544         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
21545         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
21546         block, so that we don't even try to compile it if settimeofday is
21547         available.  This works around a compilation failure on OSF1 V5.1,
21548         due to stime requiring a `long int*' while tv_sec is `int'.
21549
21550 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
21551
21552         Sync from coreutils.
21553         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
21554         against `yes', rather than just testing for nonempty.
21555
21556 2005-10-01  Simon Josefsson  <jas@extundo.com>
21557
21558         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
21559         and Darwin.
21560
21561         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
21562         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
21563         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
21564         freeaddrinfo and gai_strerror are declared by the POSIX headers.
21565         Check if struct addrinfo is declared.
21566
21567 2005-10-01  Simon Josefsson  <jas@extundo.com>
21568
21569         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
21570         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
21571         AI_* and EAI_* definitions.  Protect function declarations.
21572
21573 2005-10-01  Jim Meyering  <jim@meyering.net>
21574
21575         Sync from coreutils.
21576
21577         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
21578         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
21579         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
21580         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
21581         in the inet and nsl libraries.  Required on Solaris 5.7.
21582
21583 2005-10-01  Jim Meyering  <jim@meyering.net>
21584
21585         Sync from coreutils.
21586         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
21587         in the inet and nsl libraries.  Required on Solaris 5.7.
21588
21589 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
21590
21591         * lib/getdelim.c (getdelim): Remove unused variables.
21592
21593 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
21594
21595         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
21596         so that the code works even with ancient cpp.  Portability problem
21597         with GCC 2.7.2.1 reported by Thomas M.Ott.
21598
21599 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
21600
21601         * modules/regex (Depends-on): Add strcase.
21602
21603         * modules/gethostname (Licence): Change from GPL to LGPL, since
21604         gethostname.c is a trivial implementation of a standard library
21605         function.
21606         * modules/poll (License): Change from GPL to LGPL, since it's
21607         derived from LGPL code.
21608
21609 2005-09-27  Jim Meyering  <jim@meyering.net>
21610
21611         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
21612         HAVE_CONFIG_H.
21613
21614         * lib/intprops.h (signed_type_or_expr__): Define.
21615         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
21616         for unsigned types.
21617
21618 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
21619
21620         * lib/verify.h (verify_expr): Remove, replacing with:
21621         (verify_true): New macro that returns true instead of void.
21622         (verify_type__): Remove.
21623         (verify): Use verify_true rather than verify_type__.
21624
21625 2005-09-26  Bruno Haible  <bruno@clisp.org>
21626
21627         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
21628         is necessary.
21629         (lib_SOURCES): Remove mbchar.c.
21630         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
21631         (Files): Add m4/mbrtowc.m4.
21632         * modules/mbiter: Likewise.
21633         * modules/mbuiter: Likewise.
21634
21635 2005-09-26  Bruno Haible  <bruno@clisp.org>
21636
21637         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
21638         compile mbchar.c if they are not both present.
21639         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
21640         * m4/mbiter.m4 (gl_MBITER): Likewise.
21641         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
21642         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
21643         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
21644
21645 2005-09-25  Jim Meyering  <jim@meyering.net>
21646
21647         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
21648         also uses socklen_t.
21649
21650 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
21651
21652         * lib/utimens.c (ENOSYS): Define if not already defined.
21653         (futimens): Support having a null PATH if the file descriptor
21654         is nonnegative.
21655
21656         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
21657         Remove.
21658         (__attribute): Define to empty unless GCC 3.1 or later.
21659         This works around a core dump on OpenBSD 3.4, which has GCC
21660         2.95.3, which dumps core when given __attribute__(()).  It also
21661         simplifies other tests, since we really don't want to bother with
21662         worrying about which ancient version of GCC supported what.
21663         Original problem reported by Yoann Vandoorselaere, with part of
21664         the fix suggested by Derek Price.
21665
21666 2005-09-24  Jim Meyering  <jim@meyering.net>
21667
21668         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
21669         so we can once again use a positive bitfield width of 1 -- now we
21670         don't have to explain why we were using a bitfield width of 2.
21671
21672 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
21673
21674         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
21675         and similarly for the other external symbols.  Problem reported
21676         by James Gallager.
21677
21678         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
21679         bug reported by Jim Meyering.
21680
21681         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
21682         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
21683         not needed, since socklen is a prerequisite module.
21684
21685 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
21686
21687         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
21688         Problem reported by Eric Blake.
21689         (getaddrinfo): Initialize se so that it's not garbage.
21690         Redo internal storage allocation so that it doesn't make unportable
21691         assumptions about alignment.
21692         Fix a memory leak.
21693
21694         * lib/utimens.c (futimens): Use futimesat if available.
21695         Prefer it to futimes since it doesn't have the futimes bug.
21696
21697         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
21698         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
21699         Instead, declare a function that returns a pointer to an array,
21700         and use verify_type__ to declare the size of the array.
21701         Problem and germ of a solution reported by Bruno Haible.
21702         (verify_type__): Use 2, not 1, for bitfield size, to avoid
21703         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
21704
21705 2005-09-23  Jim Meyering  <jim@meyering.net>
21706
21707         Sync from coreutils.
21708         Correct build failure (socklen_t not defined) on at least
21709         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
21710         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
21711
21712 2005-09-23  Jim Meyering  <jim@meyering.net>
21713
21714         * modules/getaddrinfo (Depends-on): Add socklen.
21715
21716 2005-09-23  Bruno Haible  <bruno@clisp.org>
21717
21718         * tests/test-verify.c: New file.
21719
21720 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
21721
21722         Sync from coreutils.
21723
21724         * modules/argmatch (Depends-on): Add verify.
21725         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
21726         unistd-safer.
21727         * modules/save-cwd (Depends-on): Likewise.
21728
21729         * modules/openat (Files): Add lib/openat-die.c.
21730         (Depends-on): Remove error, exitfail.
21731         Add dirname.
21732
21733         * modules/verify: New file.
21734         * MODULES.html.sh (Diagnostics <assert.h>): New section,
21735         with "verify" module.
21736
21737 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
21738
21739         Sync from coreutils.
21740
21741         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
21742         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
21743         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
21744         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
21745         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
21746         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
21747         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
21748         Don't bother checking for string.h, stdlib.h, unistd.h.
21749         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
21750         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
21751         module's job.
21752         * m4/jm-macros.m4 (gl_MACROS): Likewise.
21753         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
21754
21755         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
21756         (gl_GETDATE): Use it.
21757
21758         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
21759
21760 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
21761
21762         Sync from coreutils.
21763
21764         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
21765         stat-time.h.
21766         * lib/argmatch.h: Include verify.h
21767         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
21768         (ARGMATCH_ASSERT): Remove; unused.
21769         * lib/canonicalize.c: Assume STDC_HEADERS.
21770         * lib/exclude.c: Include "strcase.h".
21771         * lib/regex_internal.h [!defined _LIBC]: Likewise.
21772         * lib/getusershell.c: Include stdio--.h rather than stdio.h
21773         and stdio-safer.h.
21774         (getusershell): Call fopen, not fopen_safer.
21775         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
21776         Do not include unistd-safer.h.
21777         (save_cwd): Don't call fd_safer; no longer needed
21778         now that we include fcntl--.h.
21779
21780         * lib/getdate.y (relative_time): New type.
21781         (RELATIVE_TIME_0): New constant.
21782         (parser_control): Use relative_time instead of doing it ourselves.
21783         (%union): Add new relative_time rel member.
21784         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
21785         Now typeless.
21786         (relunit, relunit_snumber): Now of type rel.
21787         (zone, rel, relunit, get_date): Adjust to above changes.
21788
21789         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
21790         Do not include unistd-safer.h.
21791         (getloadavg): Don't call fd_safer; no longer needed
21792         now that we include fcntl--.h.
21793
21794         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
21795         (make_dir_parents): Treat ENOSYS like EEXIST.
21796
21797         Improve quality of diagnostics on restore_cwd failure.
21798         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
21799         (make_dir_parents): Last arg is now int * (for errno), not bool *.
21800         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
21801         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
21802         each time through the loop.  Do not diagnose restore_cwd failure;
21803         that is the caller's job (and perhaps the caller does not care).
21804
21805         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
21806         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
21807         If the file already exists but is not a directory, don't bother
21808         to try to make its parents.
21809         Close potential file descriptor leak if we can't chdir("/") (!).
21810         Don't always return true if chdir($PWD) fails; return true only
21811         if the requested action was done successfully (except for the
21812         chdir($PWD)).
21813         Don't log final directory unless we actually made it.
21814         Refactor to avoid duplicate code to fix up permissions.
21815         Don't attempt to fix up parent permissions if chdir($PWD) fails.
21816
21817         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
21818         to make it a bit faster and (I hope) clearer.
21819         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
21820         Fix bug in formats like %2N.
21821
21822         * lib/verify.h: New file.
21823
21824 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
21825
21826         Sync from coreutils.
21827         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
21828
21829 2005-09-22  Jim Meyering  <jim@meyering.net>
21830
21831         Sync from coreutils.
21832
21833         * m4/lstat.m4 (gl_FUNC_LSTAT):
21834         Use AC_LIBSOURCES to require lstat.c and lstat.h.
21835         Remove obsolete comment.
21836         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
21837         * m4/xstrtod.m4: Likewise.
21838
21839         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
21840
21841 2005-09-22  Jim Meyering  <jim@meyering.net>
21842
21843         Sync from coreutils.
21844
21845         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
21846
21847         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
21848         the .tm_year member, since otherwise gcc-4.0 would now warn about
21849         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
21850
21851         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
21852         order to avoid an unsuppressible warning from gcc on 64-bit systems.
21853
21854         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
21855         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
21856         when run in a time zone for which daylight savings time is in effect
21857         for the starting date.
21858
21859         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
21860         stop us from restricting permissions of just-created absolute-named
21861         directories.
21862         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
21863         to restore initial working directory.
21864         * lib/mkdir-p.c (make_dir_parents): New parameter:
21865         different_working_dir, to tell caller if/when we change the working
21866         directory and are unable to return to the initial one.
21867         * lib/mkdir-p.h (make_dir_parents): Update prototype.
21868         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
21869         `return false'.  This fixes a bug introduced on 2004-07-30.
21870
21871         * lib/openat.c (fdopendir): Be sure to close the supplied
21872         file descriptor before returning.  This makes our replacement
21873         implementation a little closer to Solaris's, where fdopendir
21874         ties the file descriptor to the returned DIR* pointer.
21875         * lib/openat.c (unlinkat): New function.
21876         * lib/openat.h (unlinkat): Add prototype.
21877         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
21878         (openat_restore_fail): Rename from openat_restore_die.
21879         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
21880
21881         Provide an alternative to exiting immediately upon save_cwd or
21882         restore_cwd failure.  Now, an application can arrange e.g.,
21883         to perform a longjump in that case.
21884         * lib/openat.c: Include dirname.h.
21885         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
21886         (rpl_openat, fdopendir, fstatat): Call openat_save_die
21887         and openat_restore_die rather than calling error directly.
21888         Don't include "error.h" or "exitfail.h"; they're no longer needed.
21889
21890         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
21891         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
21892         define.
21893
21894         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
21895         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
21896                             int utc, int nanoseconds);
21897         Background:
21898         date should not have to allocate a megabyte of virtual memory to
21899         handle a format argument like +%1048575T.  When implemented with
21900         strftime, it must allocate such a buffer, use strftime to fill it
21901         in, print it, then free it.
21902         With fprintftime, it simply prints everything and exits.
21903         With no need for memory allocation, that's one fewer way to fail.
21904         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
21905         optional field width, not before, so we accept %9:z, not %:9z.
21906         (my_strftime): Be sure to use L_('x') for literals.
21907
21908         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
21909         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
21910         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
21911         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
21912         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
21913         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
21914         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
21915         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
21916         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
21917         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
21918         * lib/xgethostname.c, lib/xreadlink.c:
21919         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
21920
21921         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
21922         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
21923         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
21924         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
21925         and don't include <sys/file.h>).
21926
21927 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
21928
21929         Sync from coreutils.
21930
21931         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
21932         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
21933         [!LDAV_DONE]: Avoid unused variable warning.
21934
21935 2005-09-21  Bruno Haible  <bruno@clisp.org>
21936
21937         * lib/unicodeio.h (unicode_to_mb): New declaration.
21938
21939 2005-09-20  Derek Price  <derek@ximbiot.com>
21940
21941         * lib/getaddrinfo.c: Don't include <netdb.h> included from
21942         getaddrinfo.h.
21943
21944 2005-09-20  Bruno Haible  <bruno@clisp.org>
21945
21946         * gnulib-tool: Remove trailing slashes from the values specified for
21947         --source-base, --m4-base, --tests-base, --aux-dir.
21948         Suggested by Simon Josefsson <jas@extundo.com>.
21949
21950 2005-09-20  Bruno Haible  <bruno@clisp.org>
21951
21952         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
21953         func_modules_to_filelist, func_import, func_create_testdir): Make all
21954         sorting results locale-independent, so that gnulib-cache.m4 doesn't
21955         change when gnulib-tool is invoked in a different locale.
21956
21957 2005-09-19  Simon Josefsson  <jas@extundo.com>
21958
21959         * m4/socklen.m4: Fix typo.
21960
21961 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21962
21963         Use a consistent style for including <config.h>.
21964         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
21965         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
21966         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
21967         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
21968         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
21969         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
21970         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
21971         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
21972         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
21973         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
21974         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
21975         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
21976         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
21977         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
21978         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
21979         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
21980         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
21981         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
21982         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
21983         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
21984         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
21985         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
21986         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
21987         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
21988         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
21989         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
21990         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
21991         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
21992         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
21993         lib/xstrtoumax.c, lib/yesno.c:
21994         Standardize inclusion of config.h.
21995         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
21996         lib/inttostr.h:  Removed inclusion of config.h from header files.
21997         * lib/inttostr.c:  Adjusted in-tree users.
21998         * lib/timespec.h: Remove superfluous warning to include config.h.
21999         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
22000         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
22001         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
22002         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
22003         config.h with HAVE_CONFIG_H.
22004
22005 2005-09-19  Jim Meyering  <jim@meyering.net>
22006
22007         * modules/pathmax (License): Change to LGPL.
22008
22009 2005-09-19  Derek Price  <derek@ximbiot.com>
22010
22011         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
22012
22013 2005-09-19  Bruno Haible  <bruno@clisp.org>
22014
22015         * gnulib-tool (import): Provide default for --tests-base.
22016
22017 2005-09-19  Bruno Haible  <bruno@clisp.org>
22018
22019         * doc/quote.texi: New file, extracted from gnulib.texi.
22020         * doc/ctime.texi: New file, extracted from gnulib.texi.
22021         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
22022         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
22023         * doc/gnulib.texi: Include them.
22024
22025 2005-09-18  Bruno Haible  <bruno@clisp.org>
22026
22027         Portability fix.
22028         * gnulib-tool (func_readlink): New function.
22029         (func_ln_if_changed): Use it.
22030
22031 2005-09-18  Bruno Haible  <bruno@clisp.org>
22032
22033         * gnulib-tool: Support --with-tests also with --import.
22034         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
22035         (func_import): Use variables $testsbase and $inctests. Emit a
22036         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
22037         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
22038         SUBDIRS += $testsdir.
22039         (func_create_testdir): Update.
22040
22041 2005-09-18  Bruno Haible  <bruno@clisp.org>
22042
22043         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
22044         instead of $dry_run.
22045         (func_cp_if_changed, func_mv_if_changed): Remove functions.
22046         (func_ln_if_changed): Don't handle dry-run here.
22047         (func_import): In dry-run mode, detect more precisely which actions
22048         would be performed, and don't use "...ing" verbs.
22049
22050 2005-09-18  Bruno Haible  <bruno@clisp.org>
22051
22052         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
22053         (func_import): Use join on two temporary files instead of three nested
22054         loops, in order to determine which files are new or old.
22055
22056 2005-09-18  Bruno Haible  <bruno@clisp.org>
22057
22058         * gnulib-tool (func_import): Comment out code that spits out the
22059         new files with --dry-run.
22060
22061 2005-09-18  Bruno Haible  <bruno@clisp.org>
22062
22063         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
22064
22065 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
22066
22067         * lib/stat-time.h: New file.
22068         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
22069         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
22070         in a different way.
22071         (timespec_cmp): New function.
22072         * lib/utimecmp.c: Include stat-time.h.
22073         (SYSCALL_RESOLUTION): Depend on whether various struct stat
22074         members exist, not on the obsolescent ST_MTIM_NSEC.
22075         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
22076
22077 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
22078
22079         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
22080
22081 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
22082
22083         * MODULES.html.sh (File system functions): Add stat-time.
22084         * modules/stat-time: New file.
22085         * modules/timespec (Files): Remove m4/st_mtim.m4; this
22086         is now done in a different way, by the stat-time module.
22087         * modules/utimecmp (Depends-on): Add stat-time.
22088
22089 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
22090
22091         * m4/st_mtim.m4: Remove.  Superseded by...
22092         * m4/stat-time.m4: New file.
22093         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
22094         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
22095
22096 2005-09-15  Derek Price  <derek@ximbiot.com>
22097
22098         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
22099
22100 2005-09-15  Derek Price  <derek@ximbiot.com>
22101
22102         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
22103         * lib/regex_internal.c: Ditto, using this...
22104         (__GNUC_PREREQ): ...new macro.
22105         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
22106         using...
22107         (__GNUC_PREREQ): ...this new macro.
22108
22109         * lib/strstr.h: Include string.h. Define strstr as a macro here.
22110
22111 2005-09-15  Derek Price  <derek@ximbiot.com>
22112             Paul Eggert  <eggert@cs.ucla.edu>
22113
22114         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
22115         changes, consolidating in...
22116         * lib/regex_internal.h: ...this file.
22117
22118 2005-09-13  Jim Meyering  <jim@meyering.net>
22119
22120         * lib/canon-host.c: Filter through gnu indent and reword comments
22121         slightly.
22122         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
22123
22124 2005-09-13  Derek Price  <derek@ximbiot.com>
22125
22126         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
22127         failure.
22128         Reported by Jim Meyering  <jim@meyering.net>.
22129
22130 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
22131
22132         * lib/base64.c: Typo.
22133         (base64_encode): Put b64str in initialized data section.
22134
22135 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
22136
22137         Merge glibc and coreutils changes into gnulib, plus a few
22138         extra fixes.
22139         * lib/md5.c: Use #error rather than a string.
22140         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
22141         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
22142         (__attribute__): Define to empty for non recent-GCC.
22143         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
22144         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
22145         Renamed from their non-__ counterparts, with new macros replacing
22146         them if not _LIBC.  Add __THROW attribute.
22147         (rol): Remove.
22148         (struct md5_ctx): Align buffer if using GCC.
22149         * lib/sha1.h (struct sha1_ctx): Likewise.
22150         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
22151         The old name was backwards.
22152         (NOTSWAP): Remove; not used.
22153         (rol): New macro, moved here from md5.h.
22154         (sha1_process_block): Remove a FIXME that doesn't make sense.
22155
22156 2005-09-12  Derek Price  <derek@ximbiot.com>
22157
22158         Return usable errors from canon-host.
22159         * lib/canon-host.h: New file.
22160         * lib/canon-host.c (canon_host): Wrap...
22161         (canon_host_r): ...this new function, which now relies exclusively on
22162         getaddrinfo.
22163         (ch_strerror): New function.
22164         (last_cherror): New global.
22165         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
22166         interface.
22167         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
22168         void *.
22169         (freeaddrinfo): Free ai->ai_canonname when set.
22170
22171 2005-09-12  Derek Price  <derek@ximbiot.com>
22172
22173         Make canon-host require getaddrinfo.
22174         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
22175         AC_LIBSOURCE canon-host.h.  Call...
22176         (gl_PREREQ_CANON_HOST): ...this new function, which requires
22177         gl_GETADDRINFO.
22178         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
22179
22180 2005-09-12  Derek Price  <derek@ximbiot.com>
22181
22182         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
22183         LGPL.
22184         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
22185
22186 2005-09-12  Derek Price  <derek@ximbiot.com>
22187
22188         * lib/gai_strerror.c: Include config.h when available.  Include
22189         getaddrinfo.h before other headers to test interface.
22190         Reported by Larry Jones <lawrence.jones@ugs.com>.
22191
22192 2005-09-12  Derek Price  <derek@ximbiot.com>
22193             Paul Eggert  <eggert@cs.ucla.edu>
22194
22195         * modules/glob (Files): Add glob-libc.h.
22196
22197 2005-09-12  Derek Price  <derek@ximbiot.com>
22198             Paul Eggert  <eggert@cs.ucla.edu>
22199
22200         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
22201         glob_.h, glob-libc.h.
22202         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
22203
22204 2005-09-12  Derek Price  <derek@ximbiot.com>
22205             Paul Eggert  <eggert@cs.ucla.edu>
22206
22207         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
22208         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
22209         protecting things that should be done only in gnulib contexts.
22210         * lib/glob_.h: New file, containing only the glob things needed for
22211         gnulib.
22212         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
22213         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
22214         (glob, globfree, glob_pattern_p): Now defined simply in terms of
22215         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
22216         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
22217         and to respect the namespace rules better.
22218
22219 2005-09-08  Simon Josefsson  <jas@extundo.com>
22220
22221         * modules/socklen: New file.
22222
22223 2005-09-08  Simon Josefsson  <jas@extundo.com>
22224
22225         * m4/socklen.m4: New file.
22226
22227 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
22228
22229         * modules/utimens (Files): Add m4/utimbuf.m4, since
22230         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
22231         Reported by Sergey Poznyakoff.
22232
22233 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
22234
22235         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
22236         definitions, since that's the preferred style in glibc.
22237         Fix a minor spacing issue, and update copyright notice to match
22238         glibc's.
22239
22240 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
22241
22242         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
22243
22244 2005-09-06  Simon Josefsson  <jas@extundo.com>
22245
22246         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
22247         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
22248
22249 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
22250
22251         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
22252         warning.
22253
22254 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
22255
22256         * config/srclist.txt: Add glibc bug 1302.
22257
22258 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
22259
22260         Change bitset word type from unsigned int to unsigned long int,
22261         as this has better performance on typical 64-bit hosts.
22262         Port bitset code to hosts with unusual word sizes.
22263         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
22264         (build_collating_symbol):
22265         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
22266         argument is a bitset.  This is merely a style issue, but it makes
22267         it clearer that an entire array is expected.
22268         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
22269         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
22270         Port to the case where bitset_word is not the same as unsigned int.
22271         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
22272         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
22273         Likewise.
22274         * lib/regexec.c (check_dst_limits_calc_pos_1,
22275         check_subexp_matching_top):
22276         (build_trtable, group_nodes_into_DFAstates):
22277         Likewise.
22278         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
22279         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
22280         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
22281         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
22282         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
22283         * lib/regcomp.c (optimize_subexps, lower_subexp):
22284         Work even if bitset_word has holes in its bitwise representation.
22285         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
22286         * lib/regexec.c (check_dst_limits_calc_pos_1,
22287         check_subexp_matching_top):
22288         Likewise.
22289         * lib/regex_internal.c (re_string_reconstruct):
22290         Don't assume UCHAR_MAX == 255.
22291         * lib/regex_internal.h (bitset_set_all): Likewise.
22292         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
22293         All uses changed.
22294         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
22295         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
22296         All uses changed.
22297         (BITSET_WORD_MAX): New macro.
22298         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
22299         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
22300         (bitset_empty, bitset_copy):
22301         Prefer sizeof (bitset) to multiplying it out ourselves.
22302         (bitset_not_merge): Remove; unused.
22303         (bitset_contain): Return bool, not unsigned int with one bit on.
22304         All callers changed.
22305         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
22306         alignment than re_node_set; do this by defining a new internal
22307         type struct dests_alloc and using it to allocate memory.
22308
22309 2005-09-05  Bruno Haible  <bruno@clisp.org>
22310
22311         * gnulib-tool (func_import): Fix comparison in handling of symbolic
22312         links.
22313
22314 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
22315
22316         * modules/size_max (Makefile.am): Add size_max.h
22317
22318 2005-09-04  Derek Price  <derek@ximbiot.com>
22319
22320         * gnulib-tool (func_import): Fix reversed $symbolic logic.
22321
22322 2005-09-03  Simon Josefsson  <jas@extundo.com>
22323
22324         * gnulib-tool: Fix typo.
22325
22326 2005-09-03  Simon Josefsson  <jas@extundo.com>
22327
22328         * config/srclist.txt: Add glibc bug 1293.
22329
22330 2005-09-03  Derek Price  <derek@ximbiot.com>
22331
22332         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
22333         From Larry Jones <lawrence.jones@ugs.com>.
22334
22335 2005-09-02  Simon Josefsson  <jas@extundo.com>
22336
22337         * modules/socklen: New file.
22338
22339 2005-09-02  Simon Josefsson  <jas@extundo.com>
22340
22341         * modules/havelib: New module.
22342
22343         * modules/gettext, modules/iconv, modules/lock, modules/readline:
22344         Use havelib.
22345
22346 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
22347
22348         Check for arithmetic overflow when calculating sizes, to prevent
22349         some buffer-overflow issues.  These patches are conservative, in the
22350         sense that when I couldn't determine whether an overflow was possible,
22351         I inserted a run-time check.
22352         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
22353         macros.
22354         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
22355         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
22356         (re_xnrealloc, re_x2nrealloc): New inline functions.
22357         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
22358         parse_bracket_exp):
22359         (build_equiv_class, build_charclass): Check for arithmetic overflow
22360         in size expression calculations.
22361         * lib/regex_internal.c (re_string_realloc_buffers):
22362         (build_wcs_upper_buffer, re_node_set_add_intersect):
22363         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
22364         (re_dfa_add_node, register_state): Likewise.
22365         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
22366         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
22367         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
22368         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
22369
22370 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
22371
22372         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
22373         m4/ulonglong.m4.  Problem reported by Martin Lambers.
22374
22375 2005-09-02  Bruno Haible  <bruno@clisp.org>
22376
22377         Support for lib vs. lib64 distinction on biarch platforms.
22378         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
22379         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
22380         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
22381
22382 2005-09-02  Bruno Haible  <bruno@clisp.org>
22383
22384         * gnulib-tool (import): In the other first-use case, provide defaults
22385         as well.
22386
22387 2005-09-02  Bruno Haible  <bruno@clisp.org>
22388
22389         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
22390         patches not yet found in the latest gettext release.
22391
22392 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
22393
22394         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
22395         to avoid a collision with bits/local_lim.h in glibc.
22396         All uses changed.  Problem reported by Dmitry V. Levin in
22397         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
22398
22399         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
22400         bugs in int versus size_t comparisons.
22401         (re_string_context_at): Fix bug where the code assumed that
22402         Idx is signed.
22403
22404         Use bool where appropriate.
22405         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
22406         All callers changed.
22407         (calc_eclosure_iter): Likewise, for ROOT arg.
22408         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
22409         (build_charclass_op): Likewise, for NON_MATCH arg.
22410         * lib/regex_internal.c (re_string_allocate, re_string_construct):
22411         (re_string_construct_common): Likewise, for ICASE arg.
22412         * lib/regexec.c (re_search_2_stub, re_search_stub):
22413         Likewise, for RET_LEN arg.
22414         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
22415         (set_regs): Likewise, for FL_BACKTRACK arg.
22416         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
22417         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
22418         (calc_eclosure_iter, parse_bracket_exp):
22419         Use bool for internal variables that are booleans.
22420         * lib/regexec.c (re_search_internal, check_matching,
22421         proceed_next_node):
22422         (set_regs, build_sifted_states, sift_states_bkref):
22423         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
22424         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
22425         (find_collation_sequence_value):
22426         Likewise.
22427         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
22428         (re_node_set_compare):
22429         Return bool, not int. All callers changed.
22430         * lib/regexec.c (check_halt_node_context, check_dst_limits):
22431         (build_trtable, check_node_accept): Likewise.
22432         * lib/regex_internal.h: Include stdbool.h.
22433
22434         Fix bugs uncovered when converting to bool.
22435         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
22436         failure instead of charging ahead blindly.
22437         * lib/regex_internal.c (register_state): Likewise.
22438         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
22439         for freeing internal storage.
22440         (group_nodes_into_DFA_states): Use unsigned int, not int, for
22441         bitset pieces used as boolean, to avoid undefined behavior
22442         on hosts that do int overflow checking.
22443
22444 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
22445
22446         * config/srclist.txt: Add glibc bugs 1285-1287.
22447
22448 2005-09-01  Jim Meyering  <jim@meyering.net>
22449
22450         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
22451         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
22452         Require gl_STAT_MACROS, too.
22453
22454 2005-09-01  Bruno Haible  <bruno@clisp.org>
22455
22456         * gnulib-tool (import): In the first-use case, provide defaults.
22457
22458 2005-09-01  Bruno Haible  <bruno@clisp.org>
22459
22460         * gnulib-tool (func_import): Remove the .tmp files.
22461
22462 2005-09-01  Bruno Haible  <bruno@clisp.org>
22463
22464         * gnulib-tool (func_import): Fix handling of symbolic links.
22465
22466 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
22467
22468         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
22469         old glibc regex code mishandles strings longer than 2**31 bytes.
22470         This patch fixes this when the regex code is used in gnulib
22471         (i.e., outside glibc).
22472
22473         This patch should not affect the use of the regex code inside
22474         glibc.  No doubt this problem also needs to be handled for glibc
22475         as well, but the result will be an incompatible change to the
22476         glibc ABI, and the old ABI will have to be supported too.  That
22477         can be the the subject for another patch.
22478
22479         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
22480         governing whether the rest of this patch is active.  By default,
22481         the macro is disabled and the patch has no effect.
22482         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
22483         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
22484         (struct re_pattern_buffer, re_search, re_search_2, re_match):
22485         (re_match_2, re_set_registers): Use the new types.
22486         * lib/regex_internal.h (Idx, re_hashval_t): New types.
22487         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
22488         New macros.
22489         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
22490         (re_string_context_at, bin_tree_t, re_dfastate_t):
22491         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
22492         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
22493         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
22494         (re_string_char_size_at, re_string_wchar_at):
22495         (re_string_elem_size_at):
22496         Use the new types and macros to port to 64-bit hosts.
22497         Use unsigned types for internal values, so that the code
22498         mostly works even for arrays larger than SSIZE_MAX.
22499         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
22500         (search_duplicated_node, calc_eclosure_iter, fetch_number):
22501         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
22502         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
22503         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
22504         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
22505         (calc_inveclosure, parse_dup_op, build_range_exp):
22506         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
22507         (fetch_number, create_token_tree, mark_opt_subexp):
22508         Likewise.
22509         * lib/regex_internal.c (re_string_construct_common,
22510         create_ci_newstate):
22511         (create_cd_newstate, re_string_allocate, re_string_construct):
22512         (re_string_realloc_buffers, build_wcs_upper_buffer):
22513         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
22514         (re_string_reconstruct, re_string_peek_byte_case):
22515         (re_string_fetch_byte_case, re_string_context_at):
22516         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
22517         (re_node_set_init_copy, re_node_set_add_intersect):
22518         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
22519         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
22520         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
22521         (re_acquire_state, re_acquire_state_context, register_state):
22522         Likewise.
22523         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
22524         search_cur_bkref_entry):
22525         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
22526         (re_search_internal, re_search_2_stub, re_search_stub)
22527         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
22528         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
22529         (update_cur_sifted_state, check_dst_limits):
22530         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
22531         (check_subexp_limits, sift_states_bkref, merge_state_array):
22532         (check_subexp_matching_top, get_subexp, get_subexp_sub):
22533         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
22534         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
22535         (expand_bkref_cache, check_node_accept_bytes):
22536         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
22537         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
22538         (acquire_init_state_context, check_halt_node_context):
22539         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
22540         (sift_states_backward, clean_state_log_if_needed):
22541         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
22542         (find_recover_state, transit_state_sb, transit_state_mb):
22543         (transit_state_bkref, build_trtable, match_ctx_clean):
22544         Likewise.
22545         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
22546         to work around an assumption that REG_MISSING is negative.
22547
22548         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
22549         (seek_collating_symbol_entry) [defined _LIBC]:
22550         (lookup_collation_sequence_value) [defined _LIBC]:
22551         (build_range_exp, build_collating_symbol) [defined _LIBC]:
22552         Use prototypes rather than old-style function definitions.
22553         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
22554         (transit_state_sb) [0]:
22555         (find_collation_sequence_value) [defined _LIBC]: Likewise.
22556
22557         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
22558         rm_eo.
22559
22560         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
22561         (optimize_subexps, lower_subexp):
22562         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
22563         since the signed shift might overflow.  Use 1u<<31 instead.
22564         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
22565         Likewise.
22566         * lib/regexec.c (check_dst_limits_calc_pos_1,
22567         check_subexp_matching_top): Likewise.
22568
22569         * lib/regcomp.c (optimize_subexps, lower_subexp):
22570         Use CHAR_BIT rather than 8, for clarity.
22571         * lib/regexec.c (check_dst_limits_calc_pos_1):
22572         (check_subexp_matching_top): Likewise.
22573         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
22574         have to worry about portability issues when shifting it left.
22575         Remove no-longer-needed test for table_size > 0.
22576         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
22577         in a word, as the resulting behavior is undefined.
22578         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
22579         in one case, a <= should have been an <, and in another case the
22580         whole test was missing.
22581         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
22582         the standard name CHAR_BIT.
22583         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
22584         this is not true on one's complement and signed-magnitude hosts.
22585
22586         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
22587         next_last_offset.
22588         (struct re_dfa_t): Remove unused member states_alloc.
22589         * lib/regcomp.c (init_dfa): Don't initialize unused members.
22590
22591 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
22592
22593         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
22594         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
22595         and large-file glibc and in 32-bit large-file Solaris.
22596
22597 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
22598
22599         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
22600         lengths fit in regoff_t; this isn't true if regoff_t is the same
22601         width as size_t.
22602         * lib/regex.c (re_search_internal): 5th arg is LAST_START
22603         (= START + RANGE) instead of RANGE.  This avoids overflow
22604         problems when regoff_t is the same width as size_t.
22605         All callers changed.
22606         (re_search_2_stub): Check for overflow when adding the
22607         sizes of the two strings.
22608         (re_search_stub): Check for overflow when adding START
22609         to RANGE; if it occurs, substitute the extreme value.
22610
22611 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
22612
22613         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
22614
22615 2005-08-31  Jim Meyering  <jim@meyering.net>
22616
22617         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
22618         a pointer-to-const.
22619         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
22620         (register_state): Likewise.
22621         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
22622         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
22623         (group_nodes_into_DFAstates): Likewise.
22624
22625 2005-08-31  Jim Meyering  <jim@meyering.net>
22626
22627         * check-module: Add a FIXME comment.
22628
22629 2005-08-31  Eric Blake  <ebb9@byu.net>
22630
22631         * modules/unistd-safer (Files): Add unistd--.h.
22632         * modules/stdio-safer (Files): Add stdio--.h.
22633
22634 2005-08-31  Derek Price  <derek@ximbiot.com>
22635
22636         * lib/getdelim.c (getdelim): Return EOF on EOF.
22637         Reported by Larry Jones <lawrence.jones@ugs.com>.
22638
22639 2005-08-31  Bruno Haible  <bruno@clisp.org>
22640
22641         Avoid unnecessary diffs in the generated lib/Makefile.am.
22642         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
22643         the generated files.
22644         (func_import): Don't set cmd.
22645
22646 2005-08-31  Bruno Haible  <bruno@clisp.org>
22647
22648         * lib/strstr.c: Include <stddef.h>, for NULL.
22649         * lib/strcasestr.c: Likewise.
22650         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
22651
22652 2005-08-31  Bruno Haible  <bruno@clisp.org>
22653
22654         * gnulib-tool: New option --macro-prefix.
22655         (func_import): Use macro_prefix.
22656         (import): Handle option --macro-prefix.
22657
22658 2005-08-31  Bruno Haible  <bruno@clisp.org>
22659
22660         * gnulib-tool (import): Rename most ac_* variables to cached_*.
22661         Also use new variables cached_lgpl, cached_libtool.
22662
22663 2005-08-31  Bruno Haible  <bruno@clisp.org>
22664
22665         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
22666         always instantiating them.
22667
22668 2005-08-31  Bruno Haible  <bruno@clisp.org>
22669
22670         * gnulib-tool (func_import): Read the previous cached settings
22671         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
22672         earlier added by gnulib but are now dropped. Warn when a gnulib file
22673         overwrites a non-gnulib file.
22674
22675 2005-08-31  Bruno Haible  <bruno@clisp.org>
22676
22677         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
22678         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
22679         projects that don't keep autogenerated files in CVS. Put into
22680         actioncmd only the specified modules, not the transitive closure.
22681
22682 2005-08-31  Bruno Haible  <bruno@clisp.org>
22683
22684         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
22685         Create directories that shall be filled.
22686         (import): Don't look for gl_* macros in configure.ac. Recurse across
22687         all directories containing a gnulib-cache.m4 files, if meaningful.
22688
22689 2005-08-31  Bruno Haible  <bruno@clisp.org>
22690
22691         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
22692         (import): Set seen_libtool when we see gl_LIBTOOL.
22693
22694 2005-08-31  Bruno Haible  <bruno@clisp.org>
22695
22696         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
22697         declaration macro definitions from generated gnulib.m4.
22698
22699 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
22700
22701         * lib/iconvme.h: Add prototype for iconv_alloc.
22702
22703 2005-08-29  Simon Josefsson  <jas@extundo.com>
22704
22705         * lib/iconvme.c: Fix errno.
22706
22707 2005-08-29  Bruno Haible  <bruno@clisp.org>
22708
22709         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
22710         that it works when the directory contains spaces.
22711
22712 2005-08-29  Bruno Haible  <bruno@clisp.org>
22713
22714         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
22715
22716 2005-08-29  Bruno Haible  <bruno@clisp.org>
22717
22718         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
22719         Emit more advice.
22720
22721 2005-08-29  Bruno Haible  <bruno@clisp.org>
22722         and Stepan Kasal  <kasal@ucw.cz>
22723
22724         * check-module: If more parameters are given, check each of them
22725         separately; add more exceptions, as noted by Jim Meyering.
22726         (check_module): New procedure.
22727         (%exempt_header): Now contains all exceptions.
22728
22729 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
22730
22731         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
22732
22733 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
22734
22735         * lib/iconvme.c: Split iconv_string into iconv_alloc.
22736
22737 2005-08-28  Bruno Haible  <bruno@clisp.org>
22738
22739         * m4/gnulib-tool.m4: New file.
22740
22741 2005-08-27  Jim Meyering  <jim@meyering.net>
22742
22743         * modules/unistd-safer (Files): Add pipe-safer.c.
22744         * modules/fcntl-safer (Files): Add creat-safer.c.
22745
22746 2005-08-27  Jim Meyering  <jim@meyering.net>
22747
22748         * m4/stdlib-safer.m4: New file.  From coreutils.
22749         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
22750         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
22751         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
22752         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
22753         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
22754
22755 2005-08-27  Jim Meyering  <jim@meyering.net>
22756
22757         * lib/fopen-safer.c: Merge minor changes from coreutils.
22758         * lib/dup-safer.c: Likewise.
22759         * lib/fd-safer.c: Likewise.
22760
22761         Merge from coreutils.
22762         * lib/stdio--.h: New file.
22763         * lib/stdlib--.h: New file.
22764         * lib/mkstemp-safer.c: New file.
22765
22766         GNU tar needs these.
22767         * lib/pipe-safer.c: New file.
22768         * lib/creat-safer.c: New file.
22769         * lib/fcntl--.h (creat): Define to creat_safer.
22770         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
22771         * lib/unistd--.h (pipe): Define to pipe_safer.
22772         * lib/unistd-safer.h: Declare pipe_safer.
22773
22774 2005-08-26  Simon Josefsson  <jas@extundo.com>
22775
22776         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
22777         Haible <bruno@clisp.org>.
22778
22779 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
22780
22781         * lib/regex_internal.h: Remove all references to
22782         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
22783         or better.
22784         (bitset_not, bitset_merge, bitset_not_merge):
22785         (bitset_mask, re_string_allocate, re_string_construct):
22786         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
22787         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
22788         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
22789         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
22790         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
22791         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
22792         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
22793         (re_acquire_state_context):
22794         Remove unnecessary forward decls.
22795         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
22796         Put __attribute at function definition,
22797         now that the function decl has been removed.
22798         * lib/regex_internal.c (re_string_peek_byte_case):
22799         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
22800         Likewise.
22801
22802 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
22803
22804         * m4/regex.m4: Add AC_PREREQ(2.50).
22805         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
22806
22807 2005-08-25  Simon Josefsson  <jas@extundo.com>
22808
22809         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
22810         __fsetlocking.
22811
22812 2005-08-25  Simon Josefsson  <jas@extundo.com>
22813
22814         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
22815         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
22816         GLIBC specific code.
22817
22818 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
22819
22820         Make regex safe for g++.  This fixes one real bug (an "err"
22821         that should have been "*err").  g++ problem reported by
22822         Sam Steingold.
22823         * lib/regex_internal.h (re_calloc): New macro, consistent with
22824         re_malloc etc.  All callers of calloc changed to use re_calloc.
22825         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
22826         not int.  All callers changed.
22827         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
22828         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
22829         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
22830         (find_recover_state): Change "err" to "*err"; this fixes what
22831         appears to be a real bug.
22832         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
22833         versus int.
22834
22835 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
22836
22837         * modules/regex (Depends-on): Add malloc, since the code
22838         assumes that !malloc(0) means failure.
22839
22840 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
22841
22842         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
22843
22844         alloca modernization/simplification for regex.
22845         * lib/regex.c: Remove portability cruft for alloca.  This no longer
22846         needs to be at the start of the file, and can be moved into
22847         regex_internal.h and simplified.
22848         * lib/regex_internal.h: Include <alloca.h>.
22849         (__libc_use_alloca) [!defined _LIBC]: New macro.
22850         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
22851         now works outside glibc.
22852
22853 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
22854
22855         * config/srclist.txt: Add glibc bugs 1241, 1245.
22856
22857 2005-08-25  Jim Meyering  <jim@meyering.net>
22858
22859         * lib/open-safer.c: Include <config.h>.
22860         Otherwise, we'd lose LARGEFILE support in any file using
22861         e.g. "fcntl--.h"
22862
22863 2005-08-25  Bruno Haible  <bruno@clisp.org>
22864
22865         * m4/minmax.m4: Require autoconf 2.52.
22866         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
22867         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
22868         alternatives of translit over the alphabet.
22869         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
22870
22871 2005-08-24  Simon Josefsson  <jas@extundo.com>
22872
22873         * tests/test-getpass.c: New file.
22874
22875 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
22876
22877         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
22878         for GNU regex features.
22879
22880 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
22881
22882         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
22883         * lib/regex.h (regerror): Likewise.
22884
22885         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
22886         requires this.  (The code never needed it.)
22887
22888         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
22889         All uses of recently-renamed identifiers changed to use the new,
22890         POSIX-compliant names.  The code will build and run just fine
22891         without these changes, but it's better to eat our own dog food
22892         and use the standard-conforming names.
22893
22894         * lib/regex.h: Fix a multitude of POSIX name space violations.
22895         These changes have an effect only for programs that define
22896         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
22897         do not change anything for programs compiled in the normal way.
22898         Also, there is no effect on the ABI.
22899
22900         (_REGEX_SOURCE): New macro.
22901         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
22902         defined and _GNU_SOURCE is not; this fixes a name space violation.
22903
22904         Rename the following macros to obey POSIX requirements.
22905         The old names are still visible as macros if _REGEX_SOURCE is defined.
22906         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
22907         RE_BACKSLASH_ESCAPE_IN_LISTS.
22908         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
22909         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
22910         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
22911         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
22912         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
22913         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
22914         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
22915         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
22916         (REG_INTERVALS): renamed from RE_INTERVALS.
22917         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
22918         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
22919         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
22920         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
22921         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
22922         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
22923         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
22924         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
22925         RE_UNMATCHED_RIGHT_PAREN_ORD.
22926         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
22927         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
22928         (REG_DEBUG): renamed from RE_DEBUG.
22929         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
22930         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
22931         unusual, since we can't clash with the POSIX REG_ICASE.
22932         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
22933         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
22934         (REG_NO_SUB): renamed from RE_NO_SUB.
22935         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
22936         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
22937         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
22938         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
22939         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
22940         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
22941         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
22942         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
22943         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
22944         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
22945         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
22946         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
22947         RE_SYNTAX_POSIX_MINIMAL_BASIC.
22948         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
22949         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
22950         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
22951         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
22952         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
22953         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
22954         (REG_FIXED): Renamed from REGS_FIXED.
22955         (REG_NREGS): Renamed from RE_NREGS.
22956
22957         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
22958         of other REG_* macros, since POSIX says the user is allowed to
22959         #undef these macros selectively.
22960
22961         (reg_errcode_t): Update comment stating what other tables need
22962         to be consistent.
22963
22964         Rename the following enum values to obey POSIX requirements.
22965         The old names are still visible as macros.
22966         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
22967         is not defined, since GNU is supposed to be a superset of POSIX as
22968         much as possible, and since we want reg_errcode_t to be a signed
22969         type for implementation consistency.
22970         (_REG_NOERROR): Renamed from REG_NOERROR.
22971         (_REG_NOMATCH): Renamed from REG_NOMATCH.
22972         (_REG_BADPAT): Renamed from REG_BADPAT.
22973         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
22974         (_REG_ECTYPE): Renamed from REG_ECTYPE.
22975         (_REG_EESCAPE): Renamed from REG_EESCAPE.
22976         (_REG_ESUBREG): Renamed from REG_ESUBREG.
22977         (_REG_EBRACK): Renamed from REG_EBRACK.
22978         (_REG_EPAREN): Renamed from REG_EPAREN.
22979         (_REG_EBRACE): Renamed from REG_EBRACE.
22980         (_REG_BADBR): Renamed from REG_BADBR.
22981         (_REG_ERANGE): Renamed from REG_ERANGE.
22982         (_REG_ESPACE): Renamed from REG_ESPACE.
22983         (_REG_BADRPT): Renamed from REG_BADRPT.
22984         (_REG_EEND): Renamed from REG_EEND.
22985         (_REG_ESIZE): Renamed from REG_ESIZE.
22986         (_REG_ERPAREN): Renamed from REG_ERPAREN.
22987         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
22988         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
22989         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
22990         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
22991
22992         (_REG_RE_NAME, _REG_RM_NAME): New macros.
22993         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
22994         changed.  But support the old name if the new one is not defined
22995         and if _REGEX_SOURCE.
22996
22997         Change the following member names in struct re_pattern_buffer.
22998         The old names are still supported if !_REGEX_SOURCE.
22999         The new names are always supported, regardless of _REGEX_SOURCE.
23000         (re_buffer): Renamed from buffer.
23001         (re_allocated): Renamed from allocated.
23002         (re_used): Renamed from used.
23003         (re_syntax): Renamed from syntax.
23004         (re_fastmap): Renamed from fastmap.
23005         (re_translate): Renamed from translate.
23006         (re_can_be_null): Renamed from can_be_null.
23007         (re_regs_allocated): Renamed from regs_allocated.
23008         (re_fastmap_accurate): Renamed from fastmap_accurate.
23009         (re_no_sub): Renamed from no_sub.
23010         (re_not_bol): Renamed from not_bol.
23011         (re_not_eol): Renamed from not_eol.
23012         (re_newline_anchor): Renamed from newline_anchor.
23013
23014         Change the following member names in struct re_registers.
23015         The old names are still supported if !_REGEX_SOURCE.
23016         The new names are always supported, regardless of _REGEX_SOURCE.
23017         (rm_num_regs): Renamed from num_regs.
23018         (rm_start): Renamed from start.
23019         (rm_end): Renamed from end.
23020
23021         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
23022         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
23023         Prepend __ to parameter names.
23024
23025         Undo yesterday's changes.
23026
23027 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
23028
23029         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
23030         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
23031         lib/regex.c.
23032
23033 2005-08-24  Jim Meyering  <jim@meyering.net>
23034
23035         Sync from coreutils.
23036         * m4/fcntl-safer.m4: New file.
23037
23038         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
23039         and object files for this module.
23040
23041 2005-08-24  Jim Meyering  <jim@meyering.net>
23042
23043         Sync from coreutils.
23044         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
23045
23046 2005-08-24  Jim Meyering  <jim@meyering.net>
23047
23048         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
23049         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
23050
23051 2005-08-24  Jim Meyering  <jim@meyering.net>
23052
23053         * modules/fcntl-safer: New module.
23054         * modules/fts (Depends-on): Add fcntl-safer.
23055         * MODULES.html.sh (File descriptor based Input/Output):
23056         Add fcntl-safer.
23057
23058 2005-08-24  Bruno Haible  <bruno@clisp.org>
23059
23060         Support for unit test modules.
23061         * modules/README: Mention tests modules.
23062         * modules/TEMPLATE-TESTS: New file.
23063         * gnulib-tool: New options --extract-tests-module, --with-tests and
23064         --tests-base (unused for the moment).
23065         (testsbase, inctests): New variables.
23066         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
23067         (func_verify_module): Exclude TEMPLATE-TESTS.
23068         (func_verify_nontests_module, func_verify_tests_module): New functions.
23069         (func_get_dependencies): Add implicit dependency for tests modules.
23070         (func_get_tests_module): New function.
23071         (func_modules_transitive_closure): When --with-tests was specified,
23072         include the unit tests as well, unless explicitly avoided.
23073         (func_emit_lib_Makefile_am): Ignore the tests modules here.
23074         (func_emit_tests_Makefile_am): New function.
23075         (func_create_testdir): When --with-tests was specified, emit a
23076         tests/ directory.
23077         * MODULES.html.sh (Future developments): Update.
23078
23079 2005-08-24  Bruno Haible  <bruno@clisp.org>
23080
23081         * modules/tls-tests: New file.
23082         * tests/test-tls.c: New file, from GNU gettext.
23083
23084 2005-08-24  Bruno Haible  <bruno@clisp.org>
23085
23086         * modules/lock-tests: New file.
23087         * tests/test-lock.c: New file, from GNU gettext.
23088
23089 2005-08-24  Bruno Haible  <bruno@clisp.org>
23090
23091         * lib/lock.h: Add multiple inclusion guard.
23092         * lib/tls.h: Add multiple inclusion guard.
23093
23094 2005-08-24  Bruno Haible  <bruno@clisp.org>
23095
23096         * gnulib-tool: Add support for the --aux-dir option to
23097         --create-testdir, --create-megatestdir, --test, --megatest.
23098         (func_create_testdir, func_create_megatestdir): Optionally emit a
23099         AC_CONFIG_AUX_DIR directive.
23100         (create-testdir, create-megatestdir, test, megatest): Provide a
23101         default value for $auxdir.
23102
23103 2005-08-24  Bruno Haible  <bruno@clisp.org>
23104
23105         * gnulib-tool (import): Use compound statement instead of subshell
23106         where possible.
23107
23108 2005-08-24  Bruno Haible  <bruno@clisp.org>
23109
23110         * gnulib-tool (import): Change --aux-dir default to "build-aux".
23111
23112 2005-08-24  Bruno Haible  <bruno@clisp.org>
23113
23114         * gnulib-tool (func_version): Update.
23115
23116 2005-08-24  Bruno Haible  <bruno@clisp.org>
23117
23118         * gnulib-tool (func_import, func_create_testdir,
23119         func_create_megatestdir): Quote all autoconf macro arguments.
23120
23121 2005-08-24  Bruno Haible  <bruno@clisp.org>
23122
23123         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
23124         option --force, because --force causes the aclocal.m4 of each
23125         subdirectory to be newer than the corresponding config.h.in.
23126
23127 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
23128
23129         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
23130         All contents moved to gl_REGEX.
23131         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
23132         assume that it does.
23133
23134 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
23135
23136         * lib/regex.h (REG_NOSYS)
23137         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
23138         Define, since POSIX requires it as of 2001.
23139         (_REG_ENOSYS)
23140         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
23141         New private symbol, used to keep the enum signed in all cases.
23142         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
23143         Youngman in
23144         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
23145
23146         * lib/regex_internal.c (re_string_skip_chars, register_state):
23147         (calc_state_hash):
23148         Remove forward decls; no longer needed now that we use prototypes.
23149         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
23150         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
23151         (clean_state_log_if_needed): Likewise.
23152
23153 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
23154
23155         * config/srclist.txt: Add glibc bugs 1231-1233.
23156
23157 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
23158
23159         Fix problems reported by Sam Steingold in
23160         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
23161         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
23162         assumed that reg_errcode_t is a signed type, which is not
23163         necessarily true if _XOPEN_SOURCE is not defined.
23164         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
23165         since some compilers warn about it otherwise.
23166
23167 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
23168
23169         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
23170         (init_word_char, create_initial_state, duplicate_node_closure):
23171         (fetch_token, peek_token_bracket, build_range_exp):
23172         (build_collating_symbol): Remove forward decls; no longer needed
23173         now that we use prototypes.
23174
23175         * lib/regcomp.c:
23176         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
23177         (re_compile_fastmap_iter, regcomp, regerror, regfree):
23178         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
23179         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
23180         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
23181         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
23182         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
23183         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
23184         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
23185         (build_range_exp, build_collating_symbol, parse_bracket_exp):
23186         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
23187         (build_charclass, build_charclass_op, fetch_number, create_tree):
23188         (create_token_tree, mark_opt_subexp, duplicate_tree):
23189         Use prototypes rather than old-style definitions.
23190
23191         * lib/regex_internal.c:
23192         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
23193         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
23194         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
23195         (re_string_reconstruct, re_string_peek_byte_case):
23196         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
23197         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
23198         (re_node_set_init_copy, re_node_set_add_intersect):
23199         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
23200         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
23201         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
23202         (re_acquire_state, re_acquire_state_context, register_state):
23203         (create_ci_newstate, create_cd_newstate, free_state):
23204         Likewise.
23205         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
23206         re_search_2):
23207         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
23208         (re_search_internal, prune_impossible_nodes):
23209         (acquire_init_state_context, check_matching, static):
23210         (check_halt_node_context, check_halt_state_context, proceed_next_node):
23211         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
23212         (update_regs, sift_states_backward, build_sifted_states):
23213         (clean_state_log_if_needed, merge_state_array):
23214         (update_cur_sifted_state, add_epsilon_src_nodes):
23215         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
23216         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
23217         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
23218         (find_recover_state, check_subexp_matching_top, transit_state_mb):
23219         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
23220         (check_arrival, check_arrival_add_next_nodes):
23221         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
23222         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
23223         (check_node_accept_bytes, check_node_accept, extend_buffers):
23224         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
23225         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
23226         (sift_ctx_init):
23227         Likewise.
23228
23229         * lib/regex_internal.h:
23230         (re_string_allocate, re_string_construct, re_string_reconstruct):
23231         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
23232         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
23233         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
23234         (re_string_context_at, re_string_peek_byte_case):
23235         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
23236         is defined, since we now use prototypes always.
23237
23238         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
23239         C89 or better.  All uses removed.
23240
23241 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
23242
23243         * config/srclist.txt: Add glibc bugs 1220-1227.
23244
23245 2005-08-20  Jim Meyering  <jim@meyering.net>
23246
23247         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
23248         of unused local, dfa.
23249
23250 2005-08-20  Bruno Haible  <bruno@clisp.org>
23251
23252         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
23253
23254 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
23255
23256         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
23257         (re_node_set_insert_last, re_dfa_add_node):
23258         Rename local variables to avoid GCC shadowing warnings.
23259
23260 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
23261
23262         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
23263         [defined lint]: Suppress bogus uninitialized-variable warnings.
23264
23265         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
23266         and let the caller return REG_ESPACE if out of space.  This
23267         removes an uninitialied-variable warning with GCC 4.0.1, and also
23268         avoids taking the address of a local variable.  All callers
23269         changed.
23270
23271 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
23272
23273         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
23274         $LIBCSRC/posix/regexec.c.
23275         Add glibc bug 1217 for regcomp.c.
23276
23277 2005-08-19  Jim Meyering  <jim@meyering.net>
23278
23279         * lib/regexec.c (proceed_next_node): Redo local variables to
23280         avoid GCC shadowing warnings.
23281
23282 2005-08-18  Bruno Haible  <bruno@clisp.org>
23283
23284         * lib/strstr.c (strstr): Fix return value in multibyte case.
23285         * lib/strcasestr.c (strcasestr): Likewise.
23286
23287 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
23288
23289         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
23290
23291 2005-08-17  Jim Meyering  <jim@meyering.net>
23292
23293         Make the %s format (seconds since the epoch) work for a negative
23294         number and when used with a zero-padded field width, e.g. %015s.
23295
23296         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
23297         label so that it precedes the code to set `digits'.  Otherwise,
23298         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
23299         print `00-22'.  Now, it prints `-0022', as it should.
23300
23301 2005-08-17  Bruno Haible  <bruno@clisp.org>
23302
23303         * modules/strstr (Files): Add m4/mbrtowc.m4.
23304         (Depends-on): Add mbuiter.
23305
23306 2005-08-17  Bruno Haible  <bruno@clisp.org>
23307
23308         * modules/strcasestr: New file.
23309         * MODULES.html.sh (String handling, based on ANSI C 89): Add
23310         strcasestr.
23311
23312 2005-08-17  Bruno Haible  <bruno@clisp.org>
23313
23314         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
23315
23316 2005-08-17  Bruno Haible  <bruno@clisp.org>
23317
23318         * modules/mbuiter: New file.
23319         * MODULES.html.sh (Extended multibyte and wide character utilities):
23320         Add mbuiter.
23321
23322 2005-08-17  Bruno Haible  <bruno@clisp.org>
23323
23324         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
23325         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
23326
23327 2005-08-17  Bruno Haible  <bruno@clisp.org>
23328
23329         * m4/strcasestr.m4: New file.
23330
23331 2005-08-17  Bruno Haible  <bruno@clisp.org>
23332
23333         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
23334         * lib/strstr.c: Completely rewritten, with multibyte locale support.
23335
23336 2005-08-17  Bruno Haible  <bruno@clisp.org>
23337
23338         * lib/strcasestr.h: New file.
23339         * lib/strcasestr.c: New file.
23340
23341 2005-08-17  Bruno Haible  <bruno@clisp.org>
23342
23343         * lib/strcasecmp.c: Use mbuiter.h.
23344
23345 2005-08-17  Bruno Haible  <bruno@clisp.org>
23346
23347         * lib/mbuiter.h: New file.
23348
23349 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
23350
23351         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
23352         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
23353         and gl_GETOPT are both invoked via different paths (as happens
23354         with GNU tar CVS because it uses both argp and getopt), the former
23355         wins.
23356
23357 2005-08-16  Bruno Haible  <bruno@clisp.org>
23358
23359         * modules/tls: New file.
23360         * MODULES.html.sh (Multithreading): Add tls.
23361
23362 2005-08-16  Bruno Haible  <bruno@clisp.org>
23363
23364         * modules/strnlen1: New file.
23365         * MODULES.html.sh (String handling): Add strnlen1.
23366
23367 2005-08-16  Bruno Haible  <bruno@clisp.org>
23368
23369         * modules/strcase (Files): Add m4/mbrtowc.m4.
23370         (Depends-on): Add strnlen1, mbchar.
23371
23372 2005-08-16  Bruno Haible  <bruno@clisp.org>
23373
23374         * modules/mbiter: New file.
23375         * MODULES.html.sh (Extended multibyte and wide character utilities):
23376         Add mbiter.
23377
23378 2005-08-16  Bruno Haible  <bruno@clisp.org>
23379
23380         * modules/mbfile: New file.
23381         * MODULES.html.sh (Extended multibyte and wide character utilities):
23382         Add mbfile.
23383
23384 2005-08-16  Bruno Haible  <bruno@clisp.org>
23385
23386         * modules/mbchar: New file.
23387         * MODULES.html.sh (Extended multibyte and wide character utilities):
23388         New section.
23389
23390 2005-08-16  Bruno Haible  <bruno@clisp.org>
23391
23392         * m4/tls.m4: New file, from GNU gettext.
23393
23394 2005-08-16  Bruno Haible  <bruno@clisp.org>
23395
23396         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
23397         always.
23398         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
23399
23400 2005-08-16  Bruno Haible  <bruno@clisp.org>
23401
23402         * m4/mbiter.m4: New file.
23403
23404 2005-08-16  Bruno Haible  <bruno@clisp.org>
23405
23406         * m4/mbfile.m4: New file.
23407
23408 2005-08-16  Bruno Haible  <bruno@clisp.org>
23409
23410         * m4/mbchar.m4: New file.
23411
23412 2005-08-16  Bruno Haible  <bruno@clisp.org>
23413
23414         * lib/tls.h: New file, from GNU gettext.
23415         * lib/tls.c: New file, from GNU gettext.
23416
23417 2005-08-16  Bruno Haible  <bruno@clisp.org>
23418
23419         * lib/strnlen1.h: New file.
23420         * lib/strnlen1.c: New file.
23421
23422 2005-08-16  Bruno Haible  <bruno@clisp.org>
23423
23424         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
23425         (mbi_init): Update.
23426         (mbi_avail, mbi_advance): Let the iteration end before the terminating
23427         NUL byte, not after it.
23428
23429 2005-08-16  Bruno Haible  <bruno@clisp.org>
23430
23431         * lib/strcase.h (strcasecmp): Add note in comments.
23432         * lib/strncasecmp.c: Use code from strcasecmp.c.
23433         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
23434         (strcasecmp): Work correctly in multibyte locales.
23435
23436 2005-08-16  Bruno Haible  <bruno@clisp.org>
23437
23438         * lib/mbiter.h: New file.
23439
23440 2005-08-16  Bruno Haible  <bruno@clisp.org>
23441
23442         * lib/mbfile.h: New file.
23443
23444 2005-08-16  Bruno Haible  <bruno@clisp.org>
23445
23446         * lib/mbchar.h: New file.
23447         * lib/mbchar.c: New file.
23448
23449 2005-08-16  Bruno Haible  <bruno@clisp.org>
23450
23451         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
23452         the valid ones. Makes the comparison operations transitive:
23453         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
23454         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
23455
23456 2005-08-15  Simon Josefsson  <jas@extundo.com>
23457
23458         * modules/ssize_t (License): Change to 'unlimited'.
23459
23460         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
23461
23462 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
23463
23464         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
23465         Add comments for each pending glibc patch.
23466
23467 2005-08-15  Bruno Haible  <bruno@clisp.org>
23468
23469         * lib/regex.h (__restrict_arr): Don't define to __restrict if
23470         __cplusplus is defined.
23471
23472 2005-08-14  Jim Meyering  <jim@meyering.net>
23473
23474         Sync from coreutils.
23475
23476         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
23477         Use the hash-table-based cycle-detection code not just when
23478         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
23479         Reported by James Youngman in
23480         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
23481         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
23482         FTS_TIGHT_CYCLE_CHECK.
23483         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
23484         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
23485         once again.
23486         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
23487         * lib/fts.c (fd_safer): Remove decl.
23488         Include fcntl--.h rather than unistd-safer.h
23489         (fts_safe_changedir): Don't call fd_safer; no longer needed
23490         now that we include fcntl--.h.
23491
23492 2005-08-12  Simon Josefsson  <jas@extundo.com>
23493
23494         * modules/getndelim2: Use ssize_t module.
23495         * modules/getnline: Likewise.
23496         * modules/safe-read: Likewise.
23497         * modules/xreadlink: Likewise.
23498
23499         * modules/ssize_t: New file.
23500
23501 2005-08-12  Simon Josefsson  <jas@extundo.com>
23502
23503         * m4/readline.m4: Look for termcap, curses or ncurses if required.
23504
23505 2005-08-12  Simon Josefsson  <jas@extundo.com>
23506
23507         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
23508         ssize_t.
23509
23510 2005-08-12  Simon Josefsson  <jas@extundo.com>
23511
23512         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
23513         readline, getdelim and check_version.
23514         (Support for systems lacking ISO C 99: Sizes of integer types):
23515         Add size_max.
23516
23517 2005-08-12  Bruno Haible  <bruno@clisp.org>
23518
23519         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
23520
23521 2005-08-11  Simon Josefsson  <jas@extundo.com>
23522
23523         * modules/readline: New file.
23524
23525         * modules/strnlen (Files): Add strnlen.h.
23526
23527 2005-08-11  Simon Josefsson  <jas@extundo.com>
23528
23529         * m4/readline.m4: New file.
23530
23531 2005-08-11  Simon Josefsson  <jas@extundo.com>
23532
23533         * lib/readline.h, readline.c: New file.
23534
23535 2005-08-11  Simon Josefsson  <jas@extundo.com>
23536
23537         * doc/gnulib.texi (Initial import, Finishing touches): Mention
23538         gl_AVOID.
23539
23540 2005-08-11  Bruno Haible  <bruno@clisp.org>
23541
23542         * lib/strnlen.h (strnlen): Change parameter name to match comment.
23543
23544 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
23545
23546         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
23547
23548 2005-08-10  Simon Josefsson  <jas@extundo.com>
23549
23550         * tests/test-iconvme.c: New file.
23551
23552 2005-08-10  Simon Josefsson  <jas@extundo.com>
23553
23554         * m4/strnlen.m4: New file.
23555
23556         * m4/strndup.m4: Don't check for strnlen declaration, done in
23557         strnlen.m4.
23558
23559 2005-08-10  Simon Josefsson  <jas@extundo.com>
23560
23561         * lib/strndup.c: Use strnlen.h.
23562
23563         * lib/strnlen.h: New file.
23564
23565 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
23566
23567         * README: Typos.
23568
23569 2005-08-02  Simon Josefsson  <jas@extundo.com>
23570
23571         * modules/readline: New file.
23572
23573 2005-08-02  Simon Josefsson  <jas@extundo.com>
23574
23575         * modules/getdelim: New file.
23576
23577         * modules/getline: Rewrite, don't use getndelim2.
23578
23579 2005-08-02  Simon Josefsson  <jas@extundo.com>
23580
23581         * m4/getline.m4: Separate out getdelim stuff into separate module.
23582
23583         * m4/getdelim.m4: New file.
23584
23585 2005-08-02  Simon Josefsson  <jas@extundo.com>
23586
23587         * lib/getline.h, getline.c: Rewrite.
23588
23589         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
23590
23591 2005-07-31  Bruno Haible  <bruno@clisp.org>
23592
23593         * lib/lock.h (gl_lock_initializer): New macro.
23594         (gl_lock_define_initialized): Use it.
23595         (gl_rwlock_initializer): New macro.
23596         (gl_rwlock_define_initialized): Use it.
23597         (gl_recursive_lock_initializer): New macro.
23598         (gl_recursive_lock_define_initialized): Use it.
23599
23600 2005-07-30  Karl Berry  <karl@gnu.org>
23601
23602         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
23603         Report from Ben Pfaff, regarding getopt.
23604
23605 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
23606
23607         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
23608         normal way.
23609         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
23610         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
23611         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
23612         (gl_GETOPT): Use the new macros.  Most of the implementation
23613         is moved to the new macros.  This is for programs like Emacs
23614         that don't want all the functionality of gl_GETOPT.
23615
23616 2005-07-26  Bruno Haible  <bruno@clisp.org>
23617
23618         * m4/lock.m4: Update from GNU gettext.
23619
23620 2005-07-26  Bruno Haible  <bruno@clisp.org>
23621
23622         * lib/lock.h: Update from GNU gettext.
23623         * lib/lock.c: Update from GNU gettext.
23624
23625 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
23626
23627         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
23628         obsolescent AC_TRY_RUN.  Include the default includes files, for
23629         'exit'.
23630
23631 2005-07-24  Bruno Haible  <bruno@clisp.org>
23632
23633         * modules/visibility: New file.
23634         * MODULES.html.sh (Misc): Add visibility.
23635
23636 2005-07-24  Bruno Haible  <bruno@clisp.org>
23637
23638         * m4/visibility.m4: New file.
23639
23640 2005-07-24  Bruno Haible  <bruno@clisp.org>
23641
23642         * doc/visibility.texi: New file.
23643
23644 2005-07-22  Bruno Haible  <bruno@clisp.org>
23645
23646         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
23647         $(ALLOCA_H), redundant through BUILT_SOURCES.
23648         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
23649         redundant through BUILT_SOURCES.
23650         * modules/byteswap (Makefile.am): Remove explicit dependency on
23651         $(BYTESWAP_H), redundant through BUILT_SOURCES.
23652         * modules/fnmatch (Makefile.am): Remove explicit dependency on
23653         $(FNMATCH_H), redundant through BUILT_SOURCES.
23654         * modules/getopt (Makefile.am): Remove explicit dependency on
23655         $(GETOPT_H), redundant through BUILT_SOURCES.
23656         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
23657         redundant through BUILT_SOURCES.
23658         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
23659         redundant through BUILT_SOURCES.
23660         * modules/stdbool (Makefile.am): Remove explicit dependency on
23661         $(STDBOOL_H), redundant through BUILT_SOURCES.
23662         * modules/stdint (Makefile.am): Remove explicit dependency on
23663         $(STDINT_H), redundant through BUILT_SOURCES.
23664         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
23665         Remove explicit dependency on $(SYSEXITS_H).
23666         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
23667
23668 2005-07-18  Simon Josefsson  <jas@extundo.com>
23669
23670         * lib/check-version.c (check_version): Accept identical versions too.
23671
23672 2005-07-18  Bruno Haible  <bruno@clisp.org>
23673
23674         * modules/lock: New file.
23675         * MODULES.html.sh (Multithreading): New section.
23676
23677 2005-07-18  Bruno Haible  <bruno@clisp.org>
23678
23679         * m4/lock.m4: New file, from GNU gettext.
23680
23681 2005-07-18  Bruno Haible  <bruno@clisp.org>
23682
23683         * lib/lock.h: New file, from GNU gettext.
23684         * lib/lock.c: New file, from GNU gettext.
23685
23686 2005-07-18  Bruno Haible  <bruno@clisp.org>
23687
23688         * lib/lock.h (gl_once_t): New type.
23689         (gl_once_define, gl_once): New macros.
23690         * lib/lock.c (fresh_once): New variable.
23691         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
23692         functions.
23693
23694 2005-07-16  Simon Josefsson  <jas@extundo.com>
23695
23696         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
23697         workaround, suggested by Bruno.
23698
23699 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
23700
23701         * modules/xalloc (Depends-on): Add xalloc-die.
23702         * modules/xvasprintf (Depends-on): Add xalloc-die.
23703
23704 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
23705
23706         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
23707         with a minor change.
23708
23709 2005-07-15  Bruno Haible  <bruno@clisp.org>
23710
23711         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
23712         When using lib/poll.c, define poll as rpl_poll.
23713
23714 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
23715
23716         * modules/argp (Depends-on): Remove unlocked-io.
23717
23718 2005-07-14  Derek Price  <derek@ximbiot.com>
23719
23720         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
23721         for glob symlink bug.
23722
23723 2005-07-14  Bruno Haible  <bruno@clisp.org>
23724
23725         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
23726         Instead, test for *_unlocked function declarations directly.
23727
23728 2005-07-11  Simon Josefsson  <jas@extundo.com>
23729
23730         * modules/size_max: New file.
23731
23732         * modules/xsize: Depend on size_max module for size_max.m4.
23733
23734 2005-07-11  Simon Josefsson  <jas@extundo.com>
23735
23736         * lib/size_max.h: New file.
23737
23738 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
23739
23740         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
23741         copyright symbol and the year.
23742         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
23743         (version_etc_va): Use parameterized copyright notice.
23744         Reword to conform to the current GNU coding standards.
23745
23746 2005-07-11  Karl Berry  <karl@gnu.org>
23747
23748         * doc/gnulib.texi (Quoting): new node.
23749         (Initial import): more info, from Patrice.
23750
23751 2005-07-11  Bruno Haible  <bruno@clisp.org>
23752
23753         * gnulib-tool (func_usage): Document option --avoid.
23754         (Command line options): Handle --avoid.
23755         (func_acceptable): New function.
23756         (func_modules_transitive_closure): Use it.
23757
23758 2005-07-11  Bruno Haible  <bruno@clisp.org>
23759
23760         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
23761         Reported by Jim Meyering.
23762
23763 2005-07-10  Bruno Haible  <bruno@clisp.org>
23764
23765         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
23766         Needed when size_t is smaller than 'unsigned int'.
23767         Reported by Paul Eggert.
23768
23769 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
23770
23771         * modules/argp (Depends-on): Add unlocked-io
23772
23773 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
23774
23775         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
23776         block of defines.
23777
23778 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
23779
23780         * config/srclist.txt: Comment out regcomp.c, since we have a porting
23781         fix now.
23782
23783 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
23784         and Paul Eggert  <eggert@cs.ucla.edu>
23785
23786         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
23787         in wint_t, not wchar_t.  Remove now-unnecessary cast.
23788
23789 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
23790
23791         * modules/regex (Files): Add lib/regex_internal.c,
23792         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
23793         (Depends-on): Add extensions.
23794         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
23795
23796 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
23797
23798         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
23799         pathconf.
23800         * m4/same.m4 (gl_SAME): Likewise.
23801         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
23802
23803         * m4/regex.m4: Adjust to new libc regex implementation.
23804         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
23805         all the .c and .h parts of (the new) regex.
23806         Quote the m4 stuff better.
23807         Check for RE_ICASE bug of old gnulib.
23808         Check for REG_STARTEND of recent libc.
23809         Rename local variables from jm_* to gl_*.
23810         Quote operand of "test -f".
23811         Say "recent enough" version of libc, not "version 2".
23812         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
23813         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
23814         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
23815         Remove check for btowc, isascii.
23816         Require AM_LANGINFO_CODESET.
23817
23818 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
23819
23820         * lib/regex.c, regex.h: Sync from libc.
23821         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
23822         * lib/regexec.c:
23823         New files, synced from libc, except that regex_internal.h
23824         currently has a small porting fix.
23825
23826 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
23827
23828         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
23829         regex_internal.c, regexec.c.
23830         Add regex_internal.h too, but as a comment, since the libc version
23831         is currently broken in gnulib mode.
23832
23833 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
23834
23835         Support programs like Emacs that use gnulib but not gettext.
23836         * MODULES.html.sh (Internationalization functions): Add gettext-h.
23837         * modules/gettext-h: New file.
23838         * modules/gettext (Files): Remove lib/gettext.h.
23839         (Depends-on): Add gettext-h.
23840         (Makefile.am): Remove lib_SOURCES.
23841         * modules/argmatch, modules/c-stack, modules/closeout:
23842         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
23843         * modules/execute, modules/file-type, modules/getaddrinfo:
23844         * modules/getopt, modules/human, modules/javacomp:
23845         * modules/javaexec, modules/mkdir-p, modules/obstack:
23846         * modules/openat, modules/pagealign_alloc, modules/pipe:
23847         * modules/quotearg, modules/regex, modules/rpmatch:
23848         * modules/unicodeio, modules/userspec, modules/version-etc:
23849         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
23850         * modules/xsetenv:
23851         Depend on gettext-h, not gettext.
23852
23853 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
23854
23855         * gnulib-tool (func_import): Add support for 'public domain' license.
23856         * modules/alloca, modules/atexit, modules/memmove:
23857         Now public domain, not GPL.
23858         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
23859         * modules/realloc, modules/strerror, modules/strtod:
23860         Now LGPL, not GPL.
23861
23862 2005-07-05  Bruno Haible  <bruno@clisp.org>
23863
23864         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
23865         autoconf CVS. Needed for mingw.
23866
23867 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
23868
23869         Remove the dependency of the strftime module on the tzset module.
23870         * modules/strftime (Depends-on): Remove dependency on tzset.
23871
23872 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
23873
23874         Remove the dependency of the strftime module on the tzset module.
23875         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
23876         gl_FUNC_TZSET_CLOBBER.
23877
23878 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
23879
23880         Remove the dependency of the strftime module on the tzset module.
23881         * lib/strftime.c (my_strftime)
23882         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
23883         Copy the input structure, to work around some of the bug with
23884         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
23885         Solaris releases, you should also use the tzset module, but we won't
23886         require it as a dependency any more since we don't want LGPLed code
23887         to depend on GPLed code.
23888
23889 2005-07-02  Jim Meyering  <jim@meyering.net>
23890
23891         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
23892         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
23893         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
23894         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
23895
23896 2005-07-02  Jim Meyering  <jim@meyering.net>
23897
23898         * lib/backupfile.c (backup_args): Change a `0' to NULL.
23899
23900 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
23901
23902         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
23903         declares only 'struct timespec;' (!).
23904
23905 2005-07-01  Jim Meyering  <jim@meyering.net>
23906
23907         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
23908         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
23909         * lib/save-cwd.c, tempname.c:
23910         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
23911         and don't include <sys/file.h>).
23912
23913 2005-06-29  Jim Meyering  <jim@meyering.net>
23914
23915         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
23916         type name.  Use the variable name instead.
23917         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
23918         Likewise.
23919
23920 2005-06-28  Simon Josefsson  <jas@extundo.com>
23921
23922         * modules/check-version (Files): Add check-version.m4.
23923
23924 2005-06-28  Simon Josefsson  <jas@extundo.com>
23925
23926         * m4/check-version.m4: New file, suggested by Jim Meyering
23927         <jim@meyering.net>.
23928
23929 2005-06-28  Simon Josefsson  <jas@extundo.com>
23930
23931         * lib/check-version.h, lib/check-version.c: New files.
23932
23933 2005-06-28  Simon Josefsson  <jas@extundo.com>
23934
23935         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
23936         collision with global variable.  Better indentation.  Don't
23937         increment buffer pointer beyond buffer end.  Based on comments
23938         from Paul Eggert <eggert@cs.ucla.edu>.
23939
23940         * lib/base64.h: Indent.
23941
23942 2005-06-28  Simon Josefsson  <jas@extundo.com>
23943
23944         * doc/gnulib.texi (Library version handling): New section.
23945
23946 2005-06-28  Jim Meyering  <jim@meyering.net>
23947
23948         * check-module (find_included_lib_files): Hard-code another
23949         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
23950         but modules/fts-lgpl (correctly) does not list those files.
23951
23952         * modules/canonicalize (Files): Add lib/pathmax.h.
23953
23954 2005-06-25  Simon Josefsson  <jas@extundo.com>
23955
23956         * modules/check-version: New file.
23957
23958 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
23959
23960         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
23961         initializer of struct addrinfo, as an indication that we don't
23962         care how many members the structure has.
23963
23964 2005-06-24  Derek Price  <derek@ximbiot.com>
23965         and Bruno Haible  <bruno@clisp.org>
23966
23967         Remove stat module & update lstat.
23968         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
23969         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
23970         * m4/stat.m4: Remove this file.
23971
23972 2005-06-24  Derek Price  <derek@ximbiot.com>
23973         and Bruno Haible  <bruno@clisp.org>
23974
23975         Remove stat module & update lstat.
23976         * lib/stat.c: Remove this file...
23977         (slash_aware_lstat): ...moving this content and its support...
23978         * lib/lstat.c (rpl_lstat): ...into here.
23979         * lib/lstat.h: New file.
23980
23981 2005-06-24  Derek Price  <derek@ximbiot.com>
23982         and Bruno Haible  <bruno@clisp.org>
23983
23984         Remove stat module & update lstat.
23985         * config/srclist.txt (libc sources): Remove stat.
23986
23987 2005-06-24  Derek Price  <derek@ximbiot.com>
23988         and Bruno Haible  <bruno@clisp.org>
23989
23990         Remove stat module & update lstat.
23991         * MODULES.html.sh (stat): Remove.
23992         * MODULES.html: Regenerated.
23993         * modules/lstat (Description): Correct function name.
23994         (Files): Add "lstat.h".
23995         (Depends-on): Remove stat, add xalloc, stat-macros.
23996         * modules/stat: Remove this file.
23997         (Include): Add "lstat.h", remove <sys/stat.h>.
23998
23999 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
24000
24001         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
24002         (ranged_convert): Don't save conversion in a temporary struct.
24003         This causes a warning with GCC 4.0.0, and anyway in the typical
24004         case it's not worth the extra 100 bytes or so of code.
24005         (ranged_convert, __mktime_internal): When calling a function via a
24006         pointer P, use P () rather than (*P) (), as we now assume C89 or
24007         better.
24008
24009 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
24010
24011         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
24012         "who -r" failed to give output.  Problem reported by Tim Waugh.
24013
24014         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
24015         (xcalloc): Use it to avoid needless tests.
24016         Problem reported by Jim Meyering.
24017
24018 2005-06-20  Derek Price  <derek@ximbiot.com>
24019
24020         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
24021         unnecessary for Autoconfs > 2.59c.
24022
24023 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
24024
24025         * lib/argp.h (__option_is_short): Check upper limit of
24026         __key. Isprint() requires its argument to have the value
24027         of an unsigned char or EOF.
24028
24029 2005-06-16  Jim Meyering  <jim@meyering.net>
24030
24031         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
24032         when either N or S is zero.
24033
24034 2005-06-16  Derek Price  <derek@ximbiot.com>
24035
24036         * m4/bison.m4: Declare YACC & YFLAGS precious.
24037
24038 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
24039
24040         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
24041         multibyte string or pattern, fall back on unibyte matching.
24042         Problem reported by James Youngman.
24043
24044 2005-06-08  Bruno Haible  <bruno@clisp.org>
24045
24046         * modules/csharpcomp: New file.
24047         * MODULES.html.sh (C#): Add csharpcomp.
24048
24049 2005-06-08  Bruno Haible  <bruno@clisp.org>
24050
24051         * m4/csharpcomp.m4: New file, from GNU gettext.
24052
24053 2005-06-08  Bruno Haible  <bruno@clisp.org>
24054
24055         * lib/csharpcomp.h: New file, from GNU gettext.
24056         * lib/csharpcomp.c: New file, from GNU gettext.
24057         * lib/csharpcomp.sh.in: New file, from GNU gettext.
24058
24059 2005-06-08  Bruno Haible  <bruno@clisp.org>
24060
24061         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
24062         warning on mingw.
24063
24064 2005-06-07  Derek Price  <derek@ximbiot.com>
24065
24066         Sync from CVS.
24067         * lib/glob_.h: Indent nested #ifdef.
24068
24069 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
24070
24071         Sync from coreutils.
24072         Use "file name" when talking about file names, instead of "filename"
24073         or "path", as per the GNU coding standards.
24074         * lib/mkdir-p.c: Renamed from makepath.c.
24075         (make_dir_parents): Renamed from make_path.  All callers changed.
24076         * lib/mkdir-p.h: Likewise.  All includers changed.
24077         * lib/filenamecat.c: Renamed from path-concat.c.
24078         (file_name_concat): Renamed from path_concat.  All callers changed.
24079         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
24080         * lib/filenamecat.h: Likewise.  All includers changed.
24081         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
24082         in comments or local variable names.
24083         * lib/basename.c: Likewise.
24084         * lib/canonicalize.c, canonicalize.h: Likewise.
24085         * lib/dirname.c, dirname.h: Likewise.
24086         * lib/euidaccess.c: Likewise.
24087         * lib/exclude.c: Likewise
24088         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
24089         * lib/fsusage.c, fsuage.h: Likewise.
24090         * lib/fts.c, fts_.h: Likewise.
24091         * lib/getcwd.c: Likewise.
24092         * lib/getloadavg.c: Likewise.
24093         * lib/mkstemp.c: Likewise.
24094         * lib/mountlist.c, mountlist.h: Likewise.
24095         * lib/openat.c, openat.h: Likewise.
24096         * lib/readlink-stub.c: Likewise.
24097         * lib/readutmp.c, readutmp.h: Likewise.
24098         * lib/rename.c: Likewise.
24099         * lib/rmdir.c: Likewise.
24100         * lib/same.c: Likewise.
24101         * lib/savedir.c: Likewise.
24102         * lib/stripslash.c: Likewise.
24103         * lib/tempname.c: Likewise.
24104         * lib/xreadlink.c: Likewise.
24105         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
24106         All uses changed.
24107         * lib/exclude.h: Likewise.
24108
24109         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
24110         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
24111         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
24112         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
24113         * lib/pathmax.h: Include <limits.h> unconditionally, since other
24114         files have been getting away with it for years (MORE/BSD 4.3
24115         is extinct now).
24116         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
24117         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
24118
24119         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
24120         Define to 256, not 255, as per modern POSIX.
24121
24122 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
24123
24124         Sync from coreutils.
24125         Use "file name" when talking about file names, instead of "filename"
24126         or "path", as per the GNU coding standards.
24127         * MODULES.html.sh: mkdir-p renamed from makepath.
24128         filenamecat renamed from path-concat.
24129         * modules/filenamecat: Renamed from modules/path-concat.
24130         (Files): filenamecat.h and filenamecat.c renamed from
24131         path-concat.h and path-concat.c.
24132         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
24133         (Include): filenamecat.h, not path-concat.h.
24134         * modules/mkdir-p: Renamed from modules/makepath.
24135         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
24136         makepath.c.
24137         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
24138         (Include): mkdir-p.h, not makepath.h.
24139
24140 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
24141
24142         Sync from coreutils.
24143         * m4/mkdir-p.m4: Renamed from makepath.m4.
24144         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
24145         Rename files from makepath.c to mkdir-p.c, and from
24146         makepath.h to mkdir-p.h.
24147         * m4/filenamecat.m4: Renamed from path-concat.m4.
24148         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
24149         Rename files from path-concat.c to filenamecat.c,
24150         and from path-concat.h to filenamecat.h.
24151         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
24152         "file name" in local variables or comments.
24153         * m4/rename.m4: Likewise.
24154
24155 2005-06-01  Bruno Haible  <bruno@clisp.org>
24156
24157         * modules/csharpexec: New file.
24158         * MODULES.html.sh (C#): New section.
24159
24160 2005-06-01  Bruno Haible  <bruno@clisp.org>
24161
24162         * m4/csharp.m4: New file, from GNU gettext.
24163         * m4/csharpexec.m4: New file, from GNU gettext.
24164
24165 2005-06-01  Bruno Haible  <bruno@clisp.org>
24166
24167         * lib/csharpexec.h: New file, from GNU gettext.
24168         * lib/csharpexec.c: New file, from GNU gettext.
24169         * lib/csharpexec.sh.in: New file, from GNU gettext.
24170
24171 2005-05-31  Derek Price  <derek@ximbiot.com>
24172             Paul Eggert  <eggert@cs.ucla.edu>
24173
24174         Sync from cvs.
24175         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
24176
24177 2005-05-31  Derek Price  <derek@ximbiot.com>
24178             Paul Eggert  <eggert@cs.ucla.edu>
24179
24180         Sync from cvs.
24181         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
24182
24183 2005-05-29  Derek Price  <derek@ximbiot.com>
24184
24185         * config/srclist.txt (glob_.h, glob.c): Add these files.
24186
24187 2005-05-29  Derek Price  <derek@ximbiot.com>
24188
24189         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
24190         * modules/glob: New file.
24191         * modules/getlogin_r: Add link to POSIX spec in description.
24192
24193 2005-05-29  Derek Price  <derek@ximbiot.com>
24194             Paul Eggert  <eggert@cs.ucla.edu>
24195
24196         * m4/glob.m4: New file.
24197
24198 2005-05-29  Derek Price  <derek@ximbiot.com>
24199             Paul Eggert  <eggert@cs.ucla.edu>
24200
24201         * lib/glob_.h, lib/glob.c: New files.
24202
24203 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
24204
24205         * modules/fts (Files): Remove m4/inttypes-pri.m4.
24206         * modules/fts-lgpl (Depends-on): Remove gettext.
24207
24208 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
24209
24210         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
24211         and don't require gt_INTTYPES_PRI.
24212
24213 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
24214
24215         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
24216
24217         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
24218         the configuration hassle isn't worth it.
24219         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
24220         (LONGEST_MODIFIER, PRIuMAX): Remove.
24221
24222 2005-05-27  Bruno Haible  <bruno@clisp.org>
24223
24224         * lib/getlogin_r.h: Remove second include of <stddef.h>.
24225
24226 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
24227
24228         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
24229         _POSIX_PTHREAD_SEMANTICS for Solaris.
24230
24231 2005-05-25  Derek Price  <derek@ximbiot.com>
24232
24233         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
24234
24235 2005-05-25  Derek Price  <derek@ximbiot.com>
24236             Paul Eggert  <eggert@cs.ucla.edu>
24237
24238         * modules/getlogin_r, m4/getlogin_r.m4: New files.
24239         * lib/getlogin_r.c, getlogin_r.h: New files.
24240
24241 2005-05-25  Bruno Haible  <bruno@clisp.org>
24242             Derek Price  <derek@ximbiot.com>
24243
24244         * lib/getlogin_r.h: Simplify API documentation.
24245
24246 2005-05-23  Derek Price  <derek@ximbiot.com>
24247
24248         * modules/minmax (Files): Add m4/minmax.m4.
24249         (configure.ac): Add gl_MINMAX.
24250
24251 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
24252
24253         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
24254         so that unistd-safer.h (GPL'ed code) need not be included.
24255
24256 2005-05-22  Bruno Haible  <bruno@clisp.org>
24257
24258         * m4/minmax.m4: New file.
24259         Based on a patch by Derek Price <derek@ximbiot.com>.
24260
24261 2005-05-22  Bruno Haible  <bruno@clisp.org>
24262
24263         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
24264         (INT64_MIN): Fix definition.
24265         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
24266
24267         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
24268         NEED_SIGNED_INT_TYPES.
24269
24270         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
24271         HAVE_SYSTEM_INTTYPES.
24272
24273 2005-05-22  Bruno Haible  <bruno@clisp.org>
24274
24275         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
24276         Also include <sys/param.h> if it defines MIN, MAX.
24277         Based on a patch by Derek Price <derek@ximbiot.com>.
24278
24279 2005-05-21  Jim Meyering  <jim@meyering.net>
24280
24281         * modules/fts (Files): Add m4/inttypes-pri.m4.
24282         (Depends-on): Add lstat and remove gettext.  Alphabetize.
24283
24284 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
24285
24286         New fts module.
24287         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
24288         (setup_dir, free_dir): New functions.
24289         (enter_dir, leave_dir): Define trivial
24290         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
24291         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
24292         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
24293         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
24294         Move to fts-cycle.c.
24295         (fts_open): Use setup_dir.
24296         (fts_close): Use free_dir.
24297         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
24298         This adds a label and some gotos, but the alternatives were messier.
24299         Check for memory allocation failure when entering a dir.
24300         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
24301         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
24302         (FTS): New member fts_cycle, that is a union that contains the
24303         old active_dir_ht and cycle_state.  All uses changed to mention
24304         fts_cycle.ht and fts_cycle.state.
24305         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
24306         fts.c, with the following changes:
24307         (setup_dir, free_dir): New functions.
24308         (enter_dir): Now returns bool.  Return true if successful, false
24309         if memory exhausted.  All callers changed.
24310         Do not bother partly cleaning up on
24311         memory allocation failure; that is free_dir's job.
24312         However, free ad if hash_insert fails, to avoid memory leak.
24313         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
24314         fts->fts_options to see which union member to use.
24315
24316 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
24317
24318         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
24319         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
24320
24321 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
24322
24323         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
24324
24325 2005-05-20  Jim Meyering  <jim@meyering.net>
24326
24327         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
24328         Now a macro, to pacify GCC.
24329
24330 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
24331
24332         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
24333         of -1.
24334
24335 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
24336
24337         * lib/chown.c (rpl_chown): Return -1 on failure.
24338
24339 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
24340
24341         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
24342         Don't check for stddef.h.
24343         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
24344         don't use its results.
24345         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
24346         since we include them unconditionally.  Don't require
24347         AM_STDBOOL_H, since stdbool is a prerequisite.
24348         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
24349         since we assume C89 or better.
24350         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
24351         as we don't use their results.
24352         Don't check for fchdir, memmove, memset, strrchr, as we use
24353         them unconditionally.
24354         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
24355         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
24356
24357 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
24358
24359         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
24360         Include <stddef.h> unconditionally, since we assume C89 now.
24361         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
24362         * lib/fts.c: Include fts_.h first, to check interface.
24363         Do not include intprops.h; no longer needed.
24364         Include cycle-check.h and hash.h, since fts_.h no longer does.
24365         Remove unnecessary casts of closedir to void.
24366         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
24367         decide whether to decrement nlinks.
24368         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
24369         (FTS): Use struct hash_table * instead of Hash_table, so that
24370         we no longer need to include hash.h here.
24371
24372 2005-05-18  Jim Meyering  <jim@meyering.net>
24373
24374         * modules/dirfd (License): Change to LGPL.  Most of the code
24375         is already in the public domain.
24376
24377 2005-05-18  Jim Meyering  <jim@meyering.net>
24378
24379         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
24380         Reported by Yoann Vandoorselaere.
24381
24382 2005-05-17  Jim Meyering  <jim@meyering.net>
24383
24384         * m4/fts.m4: New file, from coreutils.
24385
24386 2005-05-17  Jim Meyering  <jim@meyering.net>
24387
24388         * lib/fts.c, lib/fts_.h: New files, from coreutils.
24389
24390 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
24391
24392         Sync from coreutils.
24393         * m4/unlinkdir.m4: New file.
24394
24395 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
24396
24397         Sync from coreutils.
24398         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
24399         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
24400         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
24401         White space changes only.
24402         * lib/makepath.c (make_path): Port to hosts where leading "//" is
24403         special.
24404         * lib/yesno.c: Include getline.h, not ctype.h.
24405         (yesno): Don't remove leading white space; POSIX doesn't allow it.
24406         Use getline to remove arbitrary restriction on response length.
24407
24408 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
24409
24410         * config/srclist-update: Spell out "Street" in FSF postal
24411         mail address; this is the style the FSF seems to prefer.
24412
24413         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
24414         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
24415         this updates FSF postal mail address.
24416
24417         Sync from coreutils.
24418         * modules/unlinkdir: New file.
24419         * modules/yesno (Depends-on): Add getline.
24420         * MODULES.html.sh (File system functions): Add unlinkdir.
24421
24422 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
24423
24424         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
24425         lib/strsep.h:
24426         Change the initial comment to refer to GPL, not LGPL.
24427         gnulib-tool will change it to LGPL as needed.
24428
24429         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
24430         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
24431         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
24432         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
24433         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
24434         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
24435         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
24436         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
24437         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
24438         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
24439         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
24440         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
24441         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
24442         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
24443         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
24444         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
24445         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
24446         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
24447         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
24448         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
24449         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
24450         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
24451         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
24452         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
24453         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
24454         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
24455         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
24456         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
24457         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
24458         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
24459         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
24460         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
24461         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
24462         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
24463         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
24464         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
24465         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
24466         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
24467         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
24468         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
24469         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
24470         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
24471         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
24472         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
24473         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
24474         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
24475         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
24476         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
24477         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
24478         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
24479         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
24480         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
24481         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
24482         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
24483         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
24484         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
24485         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
24486         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
24487         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
24488         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
24489         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
24490         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
24491         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
24492         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
24493         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
24494         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
24495         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
24496         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
24497         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
24498         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
24499         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
24500         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
24501         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
24502         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
24503         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
24504         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
24505         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
24506         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
24507         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
24508         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
24509         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
24510         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
24511         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
24512         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
24513         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
24514         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
24515         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
24516         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
24517         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
24518         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
24519         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
24520         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
24521         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
24522         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
24523         lib/yesno.c, lib/yesno.h:
24524         Update FSF postal mail address.
24525
24526 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
24527
24528         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
24529         tests/test-memmem.c, tests/test-stpncpy.c:
24530         Update FSF postal mail address.
24531
24532 2005-05-13  Bruno Haible  <bruno@clisp.org>
24533
24534         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
24535         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
24536         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
24537         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
24538         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
24539         Add support for 64-bit integers in the MSVC compiler.
24540
24541 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
24542
24543         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
24544
24545 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
24546
24547         * gnulib-tool (func_import): Sort and uniquify recommended includes.
24548
24549 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
24550
24551         * doc/getdate.texi (General date syntax): Don't say that date
24552         date --iso-8601=ns generates acceptable dates; it doesn't yet.
24553         Problem reported by Nic Ferrier.
24554
24555 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24556
24557         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
24558         specified in ai_socktype. Fix invalid ai_protocol
24559         check. ai_protocol is usually set to 0 or depending on
24560         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
24561         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
24562         ai_socktype / ai_protocol in the returned addrinfo structure.
24563
24564 2005-05-10  Simon Josefsson  <jas@extundo.com>
24565
24566         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
24567         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
24568
24569 2005-05-10  Karl Berry  <karl@gnu.org>
24570
24571         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
24572         (from http://www.gnu.org/licenses).
24573         * doc/COPYING.LIB: also rename to COPYING.LESSER.
24574         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
24575         fdl.texi suffices.
24576
24577 2005-05-10  Karl Berry  <karl@gnu.org>
24578
24579         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
24580         (COPYING.DOC): remove.
24581
24582         * config/srclist-update: new FSF address.
24583
24584 2005-05-10  Derek Price  <derek@ximbiot.com>
24585
24586         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
24587         possible.
24588
24589 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24590             Bruno Haible  <bruno@clisp.org>
24591
24592         * modules/inet_ntop: New file.
24593         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
24594         inet_ntop.
24595
24596 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24597             Bruno Haible  <bruno@clisp.org>
24598
24599         * m4/inet_ntop.m4: New file.
24600
24601 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24602             Bruno Haible  <bruno@clisp.org>
24603
24604         * lib/inet_ntop.h: New file.
24605         * lib/inet_ntop.c: New file, from glibc with modifications.
24606
24607 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
24608
24609         * modules/time_r (License): Change to LGPL.
24610         * modules/extensions (License): Change to LGPL.  Actually,
24611         the license is more permissive than that, but currently gnulib-tool
24612         doesn't know how to handle more-permissive licenses.
24613
24614         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
24615         Problem reported by Dave Love.
24616
24617 2005-05-08  Jim Meyering  <jim@meyering.net>
24618
24619         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
24620         blank.
24621
24622 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
24623
24624         * modules/argmatch (Depends-on): Add stdbool.
24625         * modules/backupfile (Depends-on): Likewise.
24626         * modules/chdir-long (Depends-on): Likewise.
24627         * modules/closeout (Depends-on): Likewise.
24628         * modules/cycle-check (Depends-on): Likewise.
24629         * modules/dirname (Depends-on): Likewise.
24630         * modules/fnmatch (Depends-on): Likewise.
24631         * modules/fsusage (Depends-on): Likewise.
24632         * modules/fwriteerror (Depends-on): Likewise.
24633         * modules/getcwd (Depends-on): Likewise.
24634         * modules/getloadavg (Depends-on): Likewise.
24635         * modules/hard-locale (Depends-on): Likewise.
24636         * modules/makepath (Depends-on): Likewise.
24637         * modules/mountlist (Depends-on): Likewise.
24638         * modules/nanosleep (Depends-on): Likewise.
24639         * modules/posixtm (Depends-on): Likewise.
24640         * modules/quotearg (Depends-on): Likewise.
24641         * modules/readtokens (Depends-on): Likewise.
24642         * modules/readtokens0 (Depends-on): Likewise.
24643         * modules/readutmp (Depends-on): Likewise.
24644         * modules/save-cwd (Depends-on): Likewise.
24645         * modules/strftime (Depends-on): Likewise.
24646         * modules/userspec (Depends-on): Likewise.
24647         * modules/utimecmp (Depends-on): Likewise.
24648         * modules/xgetcwd (Depends-on): Likewise.
24649         * modules/xnanosleep (Depends-on): Likewise.
24650         * modules/xstrtod (Depends-on): Likewise.
24651         * modules/yesno (Depends-on): Likewise.
24652
24653 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
24654
24655         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
24656         needless checks.
24657
24658 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
24659
24660         Merge from coreutils.  Among other things,
24661         add bulletproofing for cases where stdin, stdout, or stderr are closed.
24662         * lib/fd-safer.c: New file.
24663         * lib/fcntl-safer.h, open-safer.c: Remove.
24664         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
24665         * lib/dup-safer.c: Include unistd-safer.h first.
24666         Don't include errno.h.
24667         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
24668         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
24669         * lib/file-type.c: Rely on file-type.h change.
24670         * lib/getloadavg.c: Include unistd-safer.h.
24671         (getloadavg): Use safer open.
24672         * lib/getusershell.c: Include "stdio-safer.h".
24673         (getusershell): Use safer fopen.
24674         * lib/long-options.c (long_options): Use NULL rather than 0.
24675         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
24676         'free'.
24677         * lib/modechange.c: Likewise.
24678         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
24679         (MODE_DONE): New constant.
24680         (struct mode_change): Remove 'next' member.
24681         (make_node_op_equals): New function; like the old one of the
24682         same name, except it allocates an array.
24683         (mode_compile, mode_create_from_ref): Use it.
24684         (mode_compile): Allocate result as an array, not a linked list.
24685         Parse octal string ourself, so that we catch mistakes like "+0".
24686         (mode_adjust): Arg is an array, not a linked list.
24687         * lib/modechange.c: Include stat-macros.h, xalloc.h.
24688         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
24689         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
24690         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
24691         Remove.  This is now stat-macros.h's job.
24692         (talloc): Remove.  All callers replaced by xalloc, so that
24693         our invokers don't have to worry about reporting memory failures.
24694         (make_node_op_equals): Remove.
24695         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
24696         New constants.
24697         (struct mode_change): Moved here from modechange.h.
24698         (mode_append_entry): Remove.
24699         (mode_compile): Remove MASKED_OPS arg, since it encouraged
24700         apps to have incorrect behavior.  Use simpler algorithm for head
24701         and tail.  Don't futz with umask; that's now the job of mode_adjust.
24702         Detect more invalid usages rather than having somewhat-random behavior.
24703         Don't insert an "a=" action, as that leads to incorrect behavior.
24704         (mode_compile, mode_create_from_ref): Return NULL on error instead
24705         of an enum, since now there's only one way to have an error.  All
24706         callers changed.
24707         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
24708         at the correct time.  Simplify calculation of "+u" and its ilk.
24709         Don't mishandle "+X".
24710         (mode_free): Remove "register" and localize decls.
24711         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
24712         (struct mode_change): Move to modechange.c; callers don't
24713         need to see this stuff.
24714         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
24715         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
24716         (mode_change, mode_adjust): Reflect the new signatures noted above.
24717         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
24718         that might redefine system include files.
24719         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
24720         (my_usleep): Use NULL rather than (void *) 0.
24721         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
24722         Use siginterrupt to specify that system calls should be interrupted.
24723         (rpl_nanosleep): Move initialization of suspended closer to call of
24724         my_usleep.
24725         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
24726         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
24727         (desirable_utmp_entry): New function.
24728         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
24729         using x2nrealloc, to simplify logic.
24730         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
24731         size calculation.  Do not assume utmp file is a regular file.
24732         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
24733         (READ_UTMP_CHECK_PIDS): New constant.
24734         * lib/save-cwd.c: Include unistd-safer.h.
24735         (save_cwd): Use fd_safer.
24736         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
24737         [!_LIBC] Include "stat-macros.h" instead.
24738         * lib/unistd-safer.h (fd_safer): New decl.
24739
24740 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
24741
24742         * modules/getloadavg (Depends-on): Add unistd-safer.
24743         * modules/getusershell (Depends-on): Add stdio-safer.
24744         * modules/lstat (Depends-on): Remove xalloc.
24745         * modules/mkstemp (Depends-on): Add stat-macros.
24746         * modules/modechange (Depends-on): Remove xstrtol.
24747         Add stat-macros, xalloc.
24748         * modules/save-cwd (Depends-on): Add unistd-safer.
24749         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
24750         * modules/unistd-safer (Files): Add lib/fd-safer.c
24751         (Makefile.am): Remove lib_SOURCES.
24752
24753         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
24754         Remove fcntl-safer; unistd-safer supersedes it.
24755
24756 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
24757
24758         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
24759         AC_HEADER_STAT.
24760         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
24761         (gl_PREREQ_CHOWN): Remove.
24762         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
24763         it.  Don't require AC_HEADER_STAT.
24764         (gl_PREREQ_LSTAT): Remove.
24765         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
24766         Don't require AC_HEADER_STAT.
24767         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
24768         (gl_PREREQ_RMDIR): Remove.
24769         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
24770         mention stat-macros.h or AC_HEADER_STAT, since we'll make
24771         the stat-macros module a prerequisite.
24772         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
24773         * m4/filemode.m4 (gl_FILEMODE): Likewise.
24774         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
24775         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
24776         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
24777         variable names.
24778         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
24779         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
24780         variable prefixes.
24781         * m4/fcntl-safer.m4: Remove.
24782         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
24783         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
24784         Invoke gl_PREREQ_FD_SAFER.
24785         (gl_PREREQ_FD_SAFER): New macro.
24786         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
24787         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
24788         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
24789         Remove duplicate call to AC_LIBOBJ(readutmp).
24790         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
24791
24792         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
24793         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
24794
24795 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
24796
24797         * MODULES.html.sh (Misc): Add byteswap.
24798
24799 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
24800
24801         * modules/getcwd (Depends-on): Add extensions.
24802         * modules/openat (Depends-on): Likewise.
24803
24804 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
24805
24806         * modules/byteswap: New file.
24807
24808 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
24809
24810         * m4/byteswap.m4: New file.
24811
24812 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
24813
24814         * lib/byteswap_.h: New file.
24815
24816 2005-04-25  Karl Berry  <karl@gnu.org>
24817
24818         * m4/gettext.m4: Update from GNU gettext 0.14.4.
24819
24820 2005-04-25  Albert Chin  <china@thewrittenword.com>
24821
24822         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
24823         Toolkit C bug.
24824
24825 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
24826
24827         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
24828         (func_ln_if_changed) Remove forcibly for no error message
24829         in case file does not exist.
24830
24831 2005-04-19  Simon Josefsson  <jas@extundo.com>
24832
24833         * gnulib-tool (Options): Make --symlink mean --symbolic.
24834
24835 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
24836
24837         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
24838
24839 2005-04-16  Simon Josefsson  <jas@extundo.com>
24840
24841         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
24842
24843 2005-04-15  Simon Josefsson  <jas@extundo.com>
24844
24845         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
24846
24847 2005-04-15  Simon Josefsson  <jas@extundo.com>
24848
24849         * gnulib-tool: Rename --symlink to --symbolic.
24850
24851 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
24852
24853         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
24854         symbolic links to files instead of copying/moving.  Add --aux-dir,
24855         specifying directory relative --dir where auxiliary build tools
24856         are placed.
24857
24858 2005-04-14  Bruno Haible  <bruno@clisp.org>
24859
24860         * modules/allocsa (License): Change to LGPL.
24861         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
24862
24863 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
24864
24865         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
24866         that "UTC +1 second" continues to work.  Problem reported
24867         by Dmitry V. Levin.
24868         (relunit_snumber): New rule.
24869         (relunit): Use it.
24870
24871 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
24872
24873         * lib/getdate.y (universal_time_zone_table): New constant.
24874         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
24875         universal_time_zone_table.
24876         (lookup_zone): Prefer universal_time_zone_table to
24877         local_time_zone_table, so that "GMT" time stamps are allowed in
24878         London during the summer.  Problem reported by Ian Abbott.
24879
24880 2005-04-12  Jim Meyering  <jim@meyering.net>
24881
24882         * lib/human.c (humblock): Set *options even when returning due to
24883         xstrtoumax conversion failure.  Thanks to a used-uninitialized
24884         warning from gcc-4.
24885
24886 2005-04-09  Jim Meyering  <jim@meyering.net>
24887
24888         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
24889         -Wuninitialized: initialize tm0.tm_year.
24890
24891 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
24892
24893         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
24894         count, since there's no maximum.  All uses changed.
24895         Add member dsts_seen.
24896         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
24897         not being INT_MAX.
24898         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
24899         Use pc_rels_seen to decide whther a date is absolute.
24900
24901         * lib/getdate.y (number): Don't overwrite year.
24902         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
24903         check.
24904
24905 2005-04-02  Simon Josefsson  <jas@extundo.com>
24906
24907         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
24908         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
24909
24910 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
24911
24912         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
24913         where no absolute path name can be longer than PATH_MAX.
24914
24915 2005-03-27  Jim Meyering  <jim@meyering.net>
24916
24917         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
24918
24919 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
24920
24921         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
24922         "one's complement" -> "ones' complement" in comment, as per Knuth.
24923         "value of type" -> "type or expression" in comment.
24924         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
24925
24926 2005-03-26  Jim Meyering  <jim@meyering.net>
24927
24928         Comment nits.
24929         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
24930         Correct typos: s/or/of/.
24931
24932 2005-03-26  Jim Meyering  <jim@meyering.net>
24933
24934         * modules/check-include-files: Move to ../ and rename to...
24935         * check-module: ...this.
24936
24937 2005-03-25  Jim Meyering  <jim@meyering.net>
24938
24939         * modules/xvasprintf (Files): Add xalloc.h.
24940
24941 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
24942
24943         * modules/gettext (Files): config/config.rpath ->
24944         build-aux/config.rpath
24945         * modules/iconv (Files): Likewise.
24946         Problem reported by Oskar Liljeblad.
24947
24948 2005-03-23  Jim Meyering  <jim@meyering.net>
24949
24950         * modules/check-include-files: New script to check for
24951         missing dependencies, multiple includes, etc.
24952
24953         * modules/c-strtold (Depends-on): Add xalloc.
24954         * modules/c-strtod (Depends-on): Add xalloc.
24955         * modules/hash (Depends-on): Add xalloc.
24956         (Files): Remove lib/xalloc.h.
24957
24958         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
24959         * modules/userspec (Files): Add lib/inttostr.h.
24960
24961 2005-03-23  Jim Meyering  <jim@meyering.net>
24962
24963         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
24964
24965 2005-03-22  Jim Meyering  <jim@meyering.net>
24966
24967         * modules/stat-macros: New module.
24968         * modules/canonicalize, modules/euidaccess, modules/file-type,
24969         * modules/filemode, modules/lchown, modules/makepath,
24970         * modules/rmdir, modules/stat: Depend on new stat-macros module
24971         rather than listing lib/stat-macros.h manually.
24972         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
24973
24974 2005-03-22  Jim Meyering  <jim@meyering.net>
24975
24976         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
24977
24978 2005-03-22  Bruno Haible  <bruno@clisp.org>
24979
24980         * config/srclist.txt: Replace target directory 'config' with
24981         'build-aux'.
24982         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
24983         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
24984         ../build-aux/.
24985
24986 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
24987
24988         * modules/chdir-long (Depends-on): Add mempcpy.
24989
24990         * modules/acl, modules/backupfile, modules/c-strtod,
24991         modules/c-strtold, modules/canon-host, modules/canonicalize,
24992         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
24993         modules/exclude, modules/exitfail, modules/file-type,
24994         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
24995         modules/getdate, modules/getline, modules/getpagesize,
24996         modules/getpass, modules/getugroups, modules/group-member,
24997         modules/hard-locale, modules/hash, modules/human, modules/idcache,
24998         modules/inttostr, modules/long-options, modules/makepath,
24999         modules/md5, modules/memcasecmp, modules/memcoll,
25000         modules/modechange, modules/mountlist, modules/path-concat,
25001         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
25002         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
25003         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
25004         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
25005         modules/strftime, modules/strndup, modules/strverscmp,
25006         modules/timespec, modules/unlocked-io, modules/userspec,
25007         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
25008         modules/yesno:
25009         Remove lib_SOURCES line from Makefile.am section, as this is now
25010         done automatically by the corresponding Autoconf macro.
25011
25012 2005-03-21  Jim Meyering  <jim@meyering.net>
25013
25014         Changes imported from coreutils.
25015
25016         * lib/cycle-check.c: Don't include xalloc.h.
25017
25018         * lib/path-concat.c: Don't include assert.h.
25019         (path_concat): Remove assertion that would have triggered
25020         for ABASE starting with more than one slash.
25021         Reported by Andreas Schwab.
25022
25023         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
25024         properly when ABASE is an absolute file name.
25025         Correct the description of this function.
25026         Include <assert.h>.
25027         Add an assertion and a test driver.
25028         This fixes a bug introduced on 2004-07-02.
25029         Andreas Schwab reported the resulting failure of cp --parents:
25030         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
25031
25032 2005-03-21  Jim Meyering  <jim@meyering.net>
25033
25034         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
25035         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
25036
25037 2005-03-21  Jim Meyering  <jim@meyering.net>
25038         and  Paul Eggert  <eggert@cs.ucla.edu>
25039
25040         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
25041         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
25042         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
25043         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
25044         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
25045         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
25046         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
25047         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
25048         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
25049         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
25050         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
25051         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
25052         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
25053         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
25054         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
25055         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
25056         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
25057         for these modules.
25058
25059 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
25060
25061         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
25062         (which shouldn't happen), generate nothing instead of returning 0
25063         immediately, so that nstrftime (NULL, ...) doesn't return 0.
25064
25065 2005-03-16  Bruno Haible  <bruno@clisp.org>
25066
25067         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
25068         HAVE_LONGLONG_64BIT.
25069
25070 2005-03-16  Bruno Haible  <bruno@clisp.org>
25071
25072         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
25073         HAVE_LONGLONG_64BIT.
25074
25075 2005-03-16  Bruno Haible  <bruno@clisp.org>
25076
25077         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
25078         HAVE_LONGLONG_64BIT.
25079
25080 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
25081
25082         * lib/strftime.c (my_strftime): Prepend space to format so that we can
25083         reliably distinguish strftime failure from empty output on POSIX
25084         hosts.
25085
25086 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
25087
25088         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
25089         (iconv_string): Don't guess a size-zero buffer, as that might cause
25090         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
25091         result would be 'too large', where 'too large' is (heuristically)
25092         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
25093         overflow concerns.  This will prevent some unwanted malloc failures
25094         when the inputs are very large.
25095
25096 2005-03-15  Karl Berry  <karl@gnu.org>
25097
25098         * config/srclist.txt (config.rpath): from gettext.
25099         * config/config.rpath: update.
25100
25101 2005-03-15  Bruno Haible  <bruno@clisp.org>
25102
25103         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
25104         to 'negate'.
25105
25106         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
25107         variable.
25108
25109         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
25110         results.
25111
25112 2005-03-14  Simon Josefsson  <jas@extundo.com>
25113
25114         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
25115         <fx@gnu.org>.
25116
25117 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
25118
25119         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
25120         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
25121         intprops.h.
25122         * lib/strtol.c: Likewise.
25123
25124 2005-03-14  Jim Meyering  <jim@meyering.net>
25125
25126         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
25127         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
25128         to be nonzero so that we (and caller) can detect the difference
25129         between a valid zero-length expansion and an error return, even
25130         when the underlying strftime fails before writing anything into
25131         that location.
25132
25133 2005-03-14  Bruno Haible  <bruno@clisp.org>
25134
25135         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
25136         Update from GNU gettext 0.14.3.
25137
25138 2005-03-10  Jim Meyering  <jim@meyering.net>
25139
25140         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
25141
25142 2005-03-10  Jim Meyering  <jim@meyering.net>
25143
25144         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
25145         so that this module works on systems without fchdir.
25146
25147 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
25148
25149         Factor int-properties macros into a single file, except for
25150         glibc-related files.
25151         * lib/intprops.h: New file.
25152         * lib/getloadavg.c: Include it instead of limits.h.
25153         (INT_STRLEN_BOUND): Remove.
25154         * lib/human.c: Include intprops.h.
25155         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
25156         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
25157         302/1000.
25158         * lib/inttostr.h: Include intprops.h instead of limits.h.
25159         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
25160         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
25161         for consistency with intprops.h.
25162         (time_t_is_integer, twos_complement_arithmetic): Use them.
25163         * lib/sig2str.h: Include <signal.h>, intprops.h.
25164         (INT_STRLEN_BOUND): Remove.
25165         * lib/strftime.c (TYPE_SIGNED): Remove.
25166         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
25167         * lib/strtol.c: Adjust comments to match intprops.h.
25168         * lib/userspec.c: Include intprops.h.
25169         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
25170         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
25171         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
25172         instead of rolling our own expressions.
25173         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
25174
25175         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
25176         instead of int.
25177         (my_strftime): Do not mishandle years close to INT_MAX, by doing
25178         the right thing even if adding 1900 would overflow.  Similarly
25179         for tm_mon + 1 and tm_yday + 1.
25180         Make %Y always equivalent to %C%y, and similarly for %G and %g.
25181         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
25182         (DO_SIGNED_NUMBER): New macro.
25183         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
25184
25185 2005-03-07  Bruno Haible  <bruno@clisp.org>
25186
25187         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
25188
25189 2005-03-07  Bruno Haible  <bruno@clisp.org>
25190
25191         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
25192
25193 2005-03-04  Derek R. Price  <derek@ximbiot.com>
25194
25195         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
25196         (func_import): Only replace files via --import when they have actually
25197         changed.
25198
25199 2005-03-03  Derek R. Price  <derek@ximbiot.com>
25200
25201         * m4/mmap-anon.m4: New file.
25202         * m4/pagealign_alloc.m4: New file.
25203
25204 2005-03-03  Derek R. Price  <derek@ximbiot.com>
25205             Bruno Haible  <bruno@clisp.org>
25206
25207         * modules/pagealign_alloc: New file.
25208         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
25209
25210 2005-03-03  Derek R. Price  <derek@ximbiot.com>
25211             Bruno Haible  <bruno@clisp.org>
25212
25213         * lib/pagealign_alloc.h: New file.
25214         * lib/pagealign_alloc.c: New file.
25215
25216 2005-03-03  Bruno Haible  <bruno@clisp.org>
25217
25218         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
25219         Use an all-permissive copyright notice, recommended by RMS.
25220
25221 2005-03-02  Bruno Haible  <bruno@clisp.org>
25222
25223         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
25224         of AIX, the replacement has to be done only after <string.h> is
25225         included, therefore not in config.h. stpncpy.h does the replacement,
25226         and stpncpy.c uses it.
25227
25228 2005-03-02  Bruno Haible  <bruno@clisp.org>
25229
25230         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
25231         stpncpy.c uses it.
25232
25233 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
25234
25235         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
25236         The workaround isn't strictly needed for POSIX conformance, and
25237         it's too much of a pain to configure and maintain.  We'll ask
25238         people to fix their kernels instead.
25239         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
25240         (NANOSLEEP_BUG_WORKAROUND): Remove.
25241         (xnanosleep): Remove the workaround.
25242
25243 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
25244
25245         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
25246         Reported by Derek Price.
25247         (Include): Add "timespec.h".
25248
25249         * modules/xnanosleep (Depends-on): Remove gethrxtime.
25250
25251 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
25252
25253         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
25254         to detect nanosleep bug.
25255
25256 2005-03-01  Bruno Haible  <bruno@clisp.org>
25257
25258         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
25259
25260 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
25261
25262         * modules/gethrxtime: New file.
25263         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
25264         (Depends-on): Add gethrxtime.
25265         (configure.ac): Add gl_XNANOSLEEP.
25266         (Makefile.am): Remove lib_SOURCES line.
25267
25268 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
25269
25270         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
25271         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
25272
25273 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
25274
25275         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
25276         * lib/timespec.h (gettime): Return void, since it always
25277         succeeds now.  All uses changed.
25278         * lib/gettime.c (gettime) Likewise.
25279         [HAVE_NANOTIME]: Prefer nanotime.
25280         Assume gettimeofday succeeds, as POSIX requires.
25281         Assime time () succeeds, since other code already does.
25282         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
25283         (timespec_subtract): Remove.
25284         (NANOSLEEP_BUG_WORKAROUND): New constant.
25285         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
25286         things considerably.  Use it only on GNU/Linux hosts, since the
25287         workaround shouldn't be needed elsewhere.
25288
25289 2005-02-24  Bruno Haible  <bruno@clisp.org>
25290
25291         * modules/gettext (Files): Add m4/glibc2.m4.
25292
25293 2005-02-24  Bruno Haible  <bruno@clisp.org>
25294
25295         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
25296         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
25297         * m4/progtest.m4:
25298         Update from GNU gettext 0.14.2.
25299         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
25300
25301 2005-02-24  Bruno Haible  <bruno@clisp.org>
25302
25303         * lib/localcharset.c: Update from GNU gettext 0.14.2.
25304         * lib/config.charset: Update from GNU gettext 0.14.2.
25305
25306 2005-02-24  Bruno Haible  <bruno@clisp.org>
25307
25308         * lib/gettext.h: Update from GNU gettext 0.14.2.
25309
25310 2005-02-23  Simon Josefsson  <jas@extundo.com>
25311
25312         * m4/iconvme.m4: New file.
25313
25314 2005-02-23  Jim Meyering  <jim@meyering.net>
25315
25316         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
25317         change.
25318         Thanks to Bruno Haible for catching it.
25319
25320 2005-02-22  Simon Josefsson  <jas@extundo.com>
25321
25322         * modules/iconvme: New file.
25323
25324         * MODULES.html.sh: Add iconvme.
25325
25326 2005-02-22  Simon Josefsson  <jas@extundo.com>
25327
25328         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
25329
25330 2005-02-22  Simon Josefsson  <jas@extundo.com>
25331
25332         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
25333
25334 2005-02-22  Jim Meyering  <jim@meyering.net>
25335
25336         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
25337         s/ifndef/ifdef/.
25338
25339 2005-02-20  Neil Conway  <neilc@samurai.com>
25340
25341         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
25342         returned by OSX/Darwin if the specified buffer is not large
25343         enough for the hostname.
25344
25345 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
25346
25347         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
25348         pass it to _help, otherwise the latter coredumps trying to
25349         dereference state.root_argp.
25350
25351 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
25352
25353         * modules/chdir-long (Depends-on): Add memrchr.
25354         * modules/memrchr (Files): Add lib/memrchr.h.
25355         (Include): "memrchr.h".
25356
25357 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
25358
25359         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
25360
25361 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
25362
25363         * lib/memrchr.h: New file.
25364         * lib/chdir-long.c: Include it.
25365         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
25366         Don't bother including stddef.h.
25367
25368 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
25369
25370         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
25371         inclusion.
25372         Include <sys/types.h>, for dev_t.
25373         (ME_DUMMY, ME_REMOTE): Move from here....
25374         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
25375         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
25376         Dmitry V. Levin.
25377         Include mountlist.h first, to test the interface.
25378
25379 2005-01-29  Bruno Haible  <bruno@clisp.org>
25380
25381         * lib/progname.c (program_name): Initialize.
25382         Needed when linking statically on MacOS X.
25383
25384 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
25385
25386         Sync from coreutils.
25387         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
25388         (Depends-on): Add c-strtod.
25389         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
25390
25391 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
25392
25393         Sync from coreutils.
25394         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
25395
25396         Remove files that are specific to coreutils.
25397         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
25398
25399 2005-01-28  Bruno Haible  <bruno@clisp.org>
25400
25401         * modules/javacomp: New file.
25402         * MODULES.html.sh (Java): Add javacomp.
25403
25404 2005-01-28  Bruno Haible  <bruno@clisp.org>
25405
25406         * m4/javacomp.m4: New file, from GNU gettext.
25407
25408 2005-01-28  Bruno Haible  <bruno@clisp.org>
25409
25410         * lib/javacomp.sh.in: New file, from GNU gettext.
25411         * lib/javacomp.h: New file, from GNU gettext.
25412         * lib/javacomp.c: New file, from GNU gettext.
25413
25414 2005-01-26  Simon Josefsson  <jas@extundo.com>
25415
25416         * lib/gai_strerror.c: Use GPL in header.
25417
25418 2005-01-26  Bruno Haible  <bruno@clisp.org>
25419
25420         * modules/javaexec: New file.
25421         * MODULES.html.sh (Java): Add javaexec.
25422
25423 2005-01-26  Bruno Haible  <bruno@clisp.org>
25424
25425         * m4/javaexec.m4: New file, from GNU gettext.
25426
25427 2005-01-26  Bruno Haible  <bruno@clisp.org>
25428
25429         * lib/javaexec.sh.in: New file, from GNU gettext.
25430         * lib/javaexec.h: New file, from GNU gettext.
25431         * lib/javaexec.c: New file, from GNU gettext.
25432
25433 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
25434
25435         * modules/lchown (Depends-on): Remove lchown.h
25436
25437 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
25438
25439         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
25440         must be defined if the header file was not found, in order
25441         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
25442
25443 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
25444
25445         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
25446         initializers for struct pentry_state.
25447         (__argp_error): Check return value of __asprintf
25448         (__argp_failure): Translate error message
25449
25450         * lib/argp-parse.c: Removed braces around the expansion of N_()
25451
25452 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
25453
25454         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
25455         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
25456         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
25457         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
25458         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
25459         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
25460         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
25461         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
25462         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
25463         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
25464         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
25465         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
25466         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
25467         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
25468         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
25469         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
25470         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
25471         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
25472         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
25473         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
25474         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
25475         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
25476         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
25477         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
25478         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
25479         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
25480         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
25481         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
25482         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
25483         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
25484         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
25485         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
25486         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
25487         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
25488         xstrtol.m4, xstrtoumax.m4, yesno.m4:
25489         Use an all-permissive copyright notice, recommended by RMS.
25490
25491 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
25492
25493         * modules/chdir-long (Depends-on): Remove mempcpy.
25494
25495 2005-01-21  Jim Meyering  <jim@meyering.net>
25496
25497         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
25498         same value as for Solaris 9.
25499
25500         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
25501         component length.  This included changing the parameter to be
25502         of type `char *' rather than `char const *'.
25503         * lib/chdir-long.h (chdir_long): Update prototype.
25504
25505         * lib/openat.c (fdopendir, fstatat): New functions.
25506         * lib/openat.h: Include headers required for use of DIR and struct
25507         stat.
25508         [AT_SYMLINK_NOFOLLOW]: Define.
25509         (fdopendir, fstatat): Add prototypes.
25510
25511 2005-01-21  Bruno Haible  <bruno@clisp.org>
25512
25513         * modules/classpath: New file.
25514         * MODULES.html.sh (Java): Add classpath.
25515
25516 2005-01-21  Bruno Haible  <bruno@clisp.org>
25517
25518         * lib/classpath.h: New file, from GNU gettext.
25519         * lib/classpath.c: New file, from GNU gettext.
25520
25521 2005-01-20  Simon Josefsson  <jas@extundo.com>
25522
25523         * modules/version-etc-fsf: New file.
25524
25525 2005-01-20  Simon Josefsson  <jas@extundo.com>
25526
25527         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
25528         * lib/version-etc.c: Remove version_etc_copyright.
25529         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
25530         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
25531
25532 2005-01-20  Simon Josefsson  <jas@extundo.com>
25533
25534         * lib/base64.h (isbase64): Add.
25535
25536         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
25537         using a unsigned prototype, don't inline.
25538         (base64_decode): Use it.
25539
25540 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
25541
25542         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
25543         it.
25544
25545 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
25546
25547         * lib/save-cwd.c (save_cwd): Remove code to support the case
25548         where fchdir is missing or flaky.
25549
25550 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
25551
25552         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
25553
25554 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
25555
25556         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
25557         AC_LIBSOURCES now does this.
25558         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
25559         with new ullong_max module.
25560
25561 2005-01-19  Bruno Haible  <bruno@clisp.org>
25562
25563         * modules/sh-quote: New file.
25564         * MODULES.html.sh (Executing programs): Add sh-quote.
25565
25566 2005-01-19  Bruno Haible  <bruno@clisp.org>
25567
25568         * lib/sh-quote.h: New file, from GNU gettext.
25569         * lib/sh-quote.c: New file, from GNU gettext.
25570
25571 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25572
25573         Merge from coreutils.
25574         * m4/ullong_max.m4: New file.
25575         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
25576         (gl_MACROS): Assume localeconv exists.
25577
25578 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25579
25580         Merge changes from coreutils, as described below in several
25581         changelogs dated today.
25582
25583         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
25584         (O_DIRECTORY): Remove; not needed here, since "." must be
25585         a directory.  All uses removed.
25586         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
25587         universal on Suns, and we also need to test for IRIX.
25588         Revamp code to use 'if' rather than '#if'.
25589         Avoid unnecessary comparison of cwd->desc to 0.
25590
25591         * lib/utimens.c (futimens): Robustify the previous patch, by checking
25592         for known valid error numbers rather than observed invalid ones.
25593
25594 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25595
25596         * modules/ullong_max: New file.
25597
25598         * modules/chdir-long, modules/openat: New files.
25599         * modules/save-cwd (Depends-on): Depend on chdir-long.
25600         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
25601
25602 2005-01-18  Jim Meyering  <jim@meyering.net>
25603
25604         Merge from coreutils.
25605         * m4/chdir-long.m4, m4/openat.m4: New files.
25606         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
25607         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
25608         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
25609         is sane and DOES follow symlinks.  Besides, testing 20 different
25610         systems found no broken chown implementations.
25611         Prompted by a change in rsync's copy of this macro.
25612         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
25613
25614         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
25615
25616         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
25617         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
25618         NULL-means-set-to-current-time semantics.
25619         Remove temporary file immediately, rather than waiting
25620         for configure's at-exit trap code to do it.
25621
25622 2005-01-18  Jim Meyering  <jim@meyering.net>
25623
25624         * lib/version-etc.c (version_etc_copyright): Update copyright date.
25625
25626         * lib/utimens.c (futimens): Account for the fact that futimes
25627         can also fail with errno == ENOSYS or errno == ENOENT.
25628         Patch from Dmitry V. Levin.
25629
25630         Change the name of the robust chdir function from chdir to chdir_long.
25631         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
25632         (restore_cwd): Use chdir_long, not chdir.
25633         * lib/chdir-long.c: Renamed from chdir.c.
25634         * lib/chdir-long.h: Renamed from chdir.h.
25635         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
25636         Hurd.
25637
25638 2005-01-18  Bruno Haible  <bruno@clisp.org>
25639
25640         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
25641         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
25642         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
25643         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
25644         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
25645         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
25646         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
25647         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
25648         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
25649         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
25650         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
25651         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
25652         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
25653         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
25654         Use an all-permissive copyright notice, recommended by RMS.
25655
25656 2005-01-18  Bob Proulx  <bob@proulx.com>
25657
25658         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
25659         simplify offsetof() macro construct to avoid compile failure with
25660         native HP-UX 11.0 ANSI C compiler.
25661
25662 2005-01-17  Bruno Haible  <bruno@clisp.org>
25663
25664         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
25665         redundant because stpncpy.m4 takes care of it.
25666
25667 2005-01-17  Bruno Haible  <bruno@clisp.org>
25668
25669         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
25670
25671 2005-01-17  Bruno Haible  <bruno@clisp.org>
25672
25673         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
25674         used.
25675
25676 2005-01-17  Bruno Haible  <bruno@clisp.org>
25677
25678         * lib/fwriteerror.h (fwriteerror): Change specification to include
25679         fclose.
25680         * lib/fwriteerror.c: Include <stdbool.h>.
25681         (fwriteerror): At the end, close the file stream. Record whether
25682         stdout was already closed.
25683
25684 2005-01-17  Bruno Haible  <bruno@clisp.org>
25685
25686         * lib/execute.c (environ): Declare if needed.
25687         * lib/pipe.c (environ): Likewise.
25688         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
25689
25690 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
25691
25692         * modules/argp: Depend on vsnprintf
25693
25694 2005-01-10  Jim Meyering  <jim@meyering.net>
25695
25696         * modules/closeout (Depends-on): Add atexit.
25697
25698 2005-01-06  Bruno Haible  <bruno@clisp.org>
25699
25700         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
25701
25702 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
25703
25704         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
25705         definitions to be after all include files, to avoid collisions.
25706         Problem reported by Bob Proulx.
25707
25708 2005-01-04  Jim Meyering  <jim@meyering.net>
25709
25710         Changes imported from coreutils.
25711         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
25712         as the mkstemp template, use a temporary directory and an
25713         8.3-friendly template to avoid trouble on systems like DJGPP.
25714         Reported by Juan M. Guerrero via Stepan Kasal.
25715         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
25716         close. Remove the temporary directory right away, rather than waiting
25717         for configure's at-exit trap code to do it.
25718         Suggestion from Stepan Kasal.
25719
25720 2005-01-01  Simon Josefsson  <jas@extundo.com>
25721
25722         * gnulib-tool: Print #include directives when --import'ing.
25723
25724 2004-12-28  Simon Josefsson  <jas@extundo.com>
25725
25726         * tests/test-base64.c: Include required header files.  Remove
25727         unused variables.
25728
25729 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
25730
25731         * modules/error (Depends-on): Remove gettext.
25732
25733 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
25734
25735         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
25736         not needed.  This removes a dependency on the gettext module.
25737         [defined _LIBC]: Do not include <libintl.h>; not needed.
25738
25739 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
25740
25741         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
25742         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
25743
25744 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
25745
25746         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
25747         HAVE_DECL_STRTOLD.
25748
25749 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
25750
25751         * modules/getdate (Depends-on): Remove alloca-opt.
25752
25753 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
25754
25755         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
25756
25757 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
25758
25759         * lib/argp-parse.c: Include <stddef.h>.
25760         (alignof, alignto): New macros.
25761         (parser_init): Don't assume that void * is aligned sufficiently
25762         for struct option.
25763
25764         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
25765         need to extend the stack.
25766         (YYINITDEPTH): New macro, so that the initial stack isn't overly
25767         large.
25768
25769 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
25770
25771         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
25772
25773 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
25774
25775         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
25776         (2004-10-24) change.  Apparently this was a false alarm.
25777
25778         * modules/getdate: Depend on alloca-opt, not alloca.
25779
25780 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
25781
25782         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
25783         Remove now-obsolete comment about AIX.
25784         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
25785         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
25786         (YYMAXDEPTH): New macro.
25787
25788 2004-12-18  Simon Josefsson  <jas@extundo.com>
25789
25790         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
25791
25792 2004-12-18  Bruno Haible  <bruno@clisp.org>
25793
25794         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
25795
25796 2004-12-18  Bruno Haible  <bruno@clisp.org>
25797
25798         * lib/fatal-signal.c (fatal_signals): Make non-const.
25799         (init_fatal_signals): New function.
25800         (uninstall_handlers, install_handlers): Ignore signals that were set to
25801         SIG_IGN.
25802         (at_fatal_signal): Call init_fatal_signals.
25803         (init_fatal_signal_set): Likewise. Ignore signals that were set to
25804         SIG_IGN.
25805         Reported by Paul Eggert.
25806
25807 2004-12-18  Bruno Haible  <bruno@clisp.org>
25808
25809         * doc/alloca.texi: New file.
25810         * doc/alloca-opt.texi: New file.
25811
25812 2004-12-17  Jim Meyering  <jim@meyering.net>
25813
25814         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
25815         Otherwise, install-sh could exit with improper exit status when
25816         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
25817
25818 2004-12-16  Simon Josefsson  <jas@extundo.com>
25819
25820         * tests/test-base64.c: Add license.
25821
25822 2004-12-15  Stepan Kasal  <address@hidden>
25823
25824         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
25825
25826 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
25827
25828         * modules/getcwd (Files): Add m4/d-ino.m4.
25829         Suggested by Mark D. Baushke.
25830
25831 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
25832
25833         * lib/getdate.y (textint): New member "negative".
25834         (time_zone_hhmm): New function.
25835         Expect 14 shift-reduce conflicts, not 13.
25836         (o_colon_minutes): New rule.
25837         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
25838         (yylex): Set the "negative" member of signed numbers.
25839
25840 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
25841
25842         * doc/getdate.texi (Time of day items, Time zone items):
25843         Describe new formats +00:00, UTC+00:00.
25844
25845 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
25846
25847         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
25848         spurious "-l"s.  Problem reported by Stepan Kasal.
25849
25850 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
25851
25852         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
25853         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
25854
25855 2004-12-04  Simon Josefsson  <jas@extundo.com>
25856
25857         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
25858         Vandoorselaere <yoann@prelude-ids.org>.
25859
25860 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
25861
25862         Changes imported from coreutils.
25863         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
25864         exist.
25865         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
25866
25867 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
25868
25869         Changes imported from coreutils.
25870         * lib/hard-locale.c: Assume <locale.h> exists.
25871         Include "strdup.h".
25872         (GLIBC_VERSION): New macro.
25873         (hard_locale): Assume setlocale exists.
25874         Rewrite to avoid #ifdef.
25875         Use strdup rather than malloc + strcpy.
25876         * lib/human.c: Assume <locale.h> exists.
25877         (human_readable): Assume localeconv exists.
25878
25879 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
25880
25881         * modules/hard-locale (Depends-on): Add strdup.
25882
25883 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
25884
25885         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
25886         convert T2, not T.  (Imported from libc.)
25887
25888 2004-11-30  Simon Josefsson  <jas@extundo.com>
25889
25890         * modules/restrict (License): Change to LGPL.
25891
25892 2004-11-30  Simon Josefsson  <jas@extundo.com>
25893
25894         * m4/restrict.m4: Add copyright and copying conditions.
25895
25896 2004-11-30  Simon Josefsson  <jas@extundo.com>
25897
25898         * m4/base64.m4: New file.
25899
25900 2004-11-30  Simon Josefsson  <jas@extundo.com>
25901
25902         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
25903         base64.
25904
25905         * tests/test-base64.c: New file.
25906
25907         * modules/base64: New file.
25908
25909 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
25910
25911         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
25912         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
25913
25914         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
25915
25916 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
25917
25918         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
25919         (__getcwd.c): Don't restore errno; glibc doesn't.
25920         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
25921         first, falling back to our code only if its results look suspicious.
25922         Ensure that the resulting buffer is only as large as necessary.
25923
25924         * lib/readutmp.c: Include readutmp.h first.
25925         Include <errno.h>, since readutmp.h no longer does that.
25926         * lib/readutmp.h: Don't include <errno.h>,
25927         <sys/param.h>, <time.h>; not needed to establish interface.
25928         (errno): Remove decl.
25929         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
25930         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
25931         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
25932
25933 2004-11-28  Simon Josefsson  <jas@extundo.com>
25934
25935         * lib/base64.h, base64.c: New file.
25936
25937 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
25938
25939         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
25940
25941 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
25942
25943         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
25944         (Depends-on): Remove pathmax, same.  Add mempcpy.
25945         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
25946         (Makefile.am): Append getcwd.h to lib_SOURCES.
25947         (Include): Add getcwd.h.
25948         (Maintainer): Change from Jim Meyering to "all, glibc",
25949         since getdate now uses intended-for-glibc code.
25950         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
25951         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
25952
25953 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
25954
25955         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
25956         HP's ANSI C compiler.
25957         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
25958         Declaring int functions causes warnings on some modern systems and
25959         shouldn't be needed to compile on ancient ones.
25960         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
25961         defined.
25962
25963         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
25964         with the following changes.
25965         (__set_errno): Parenthesize properly.
25966         Include <stdbool.h>.
25967         (MIN, MAX, MATCHING_INO): New macros.
25968         (__getcwd): Define with prototype, not K&R form.
25969         Use heuristics to allocate default buffer on stack if possible.
25970         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
25971         behavior, and to avoid the PATH_MAX limit when computing
25972         ../../../../...
25973         Use MATCHING_INO to compare inode number to file.
25974         Check for arithmetic overflow in size calculations.
25975         Fix bug in reallocation of dot array that caused getcwd to fail
25976         on directories nested deeper than 75.
25977         Be more careful about saving errno on error.
25978         Do not use realloc; use only free+malloc, as this is a bit
25979         more flexible and avoids a needless copy operation.
25980         Do not inspect st_dev and st_ino for symbolic links; POSIX
25981         doesn't specify the latter.
25982         Check for closedir errors.
25983         Avoid needless casts.
25984         Use "#ifdef weak_alias" around weak_alias, to be like other
25985         glibc code.
25986         The following changes to getcwd.c have effect only when used in
25987         gnulib; they have no effect inside glibc proper.
25988         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
25989         as alloca isn't used.
25990         (alloca, __alloca): Likewise.
25991         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
25992         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
25993         unconditionally, as gnulib assumes C89 or better.
25994         Do not include <sys/param.h>.
25995         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
25996         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
25997         better.
25998         (NULL) [!defined NULL]: Remove; we assume C89 or better.
25999         Include <dirent.h> in a way that is compatible with modern Autoconf.
26000         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
26001         New macros, if not already defined.
26002         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
26003         Use "_LIBC", not "defined _LIBC", for consistency.
26004         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
26005         a mempcpy module.
26006         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
26007         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
26008         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
26009         credit only to Jim Meyering and adjust the copyright dates.
26010         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
26011         <stdlib.h>, <unistd.h>, "pathmax.h".
26012         Instead, include "xgetcwd.h" (first) and "getcwd.h".
26013         (INITIAL_BUFFER_SIZE): Remove.
26014         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
26015
26016 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
26017
26018         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
26019         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
26020         Use the _ONCE methods, for efficiency.
26021         Check for fcntl.h.  In test program, include <errno.h>
26022         and <fcntl.h> if available.  Remove old K&R cruft from
26023         test program.  Check for common errors in GNU/Linux,
26024         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
26025         don't do AC_LIBOBJ, as that's getcwd.m4's job.
26026         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
26027         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
26028         name accordingly.
26029         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
26030         accommodate new getcwd.c.
26031         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
26032         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
26033         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
26034         that's all we need now.
26035
26036 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
26037
26038         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
26039         argp-parse.c depends on getopt internals, that means we should
26040         always use our getopt, to be on the safe side.
26041         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
26042         order not to spoil the result of an eventual previous invocation
26043         of gl_GETOPT_SUBSTITUTE.
26044
26045 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
26046
26047         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
26048         redefinition warnings. To avoid them, include the defines
26049         in `#if !defined __need_getopt ... #endif'. The only place
26050         where __getopt_argv_const is used is in definitions
26051         of getopt_long and getopt_long_only below, which are as well
26052         protected by `#ifndef __need_getopt'.
26053         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
26054         __need_getopt after including <stdio.h> and <unistd.h> These
26055         headers might have defined it.
26056
26057 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
26058
26059         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
26060
26061 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
26062
26063         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
26064         (futimens): New function, which uses futimes if available.
26065         (futimens, utimens): Support timespec==NULL, with same semantics
26066         as utime and utimens.
26067         * lib/utimens.h (futimens): New decl.
26068
26069 2004-11-23  Jim Meyering  <jim@meyering.net>
26070
26071         * lib/getopt_.h: Remove trailing blanks.
26072
26073 2004-11-23  Jim Meyering  <jim@meyering.net>
26074
26075         * lib/__fpending.c: Add comment.
26076
26077 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
26078
26079         * modules/canonicalize (Depends-on): Add xreadlink.
26080         Problem reported by James Youngman.
26081
26082 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
26083
26084         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
26085         New macros.
26086         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
26087         optopt): Use them instead of invoking ## directly; otherwise, the
26088         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
26089
26090 2004-11-19  Bruno Haible  <bruno@clisp.org>
26091
26092         * lib/strtok_r.c: Move comments from here...
26093         * lib/strtok_r.h: ... to here.
26094
26095 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
26096
26097         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
26098         implementations that mishandle size_t overflow.
26099
26100 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
26101
26102         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
26103         might fail.  Problem reported by Yoann Vandoorselaere.
26104         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
26105         implementations that mishandle size_t overflow.
26106
26107 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
26108
26109         * modules/canon-host (Depends-on): Add strdup.
26110
26111 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
26112
26113         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
26114
26115 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
26116
26117         * lib/canon-host.c: Include "strdup.h".
26118         (canon_host): Use getaddrinfo if available, so that IPv6 works.
26119         Use strdup instead of malloc/strcpy to duplicate strings.
26120
26121         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
26122         (human_space_before_unit): New constant.
26123         * lib/human.c (human_readable): Support it.
26124
26125         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
26126         (xgetcwd): Set errno correctly when failing.
26127         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
26128         the failure is actually due to a PATH_MAX problem.
26129
26130         Further getopt changes to make it more likely that glibc will
26131         buy the changes back.
26132         * lib/getopt.c (POSIXLY_CORRECT): New constant.
26133         (getopt): Use it, so to preserve glibc semantic
26134         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
26135         when compiling for libc.
26136         * lib/getopt_.h (__getopt_argv_const): Bring it back.
26137         (getopt_long, getopt_long_only): Use it.
26138
26139         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
26140         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
26141         (getopt): Argv is now char * const *, as per standard.
26142         (_getopt_internal_r, _getopt_internal): Argv is now char **,
26143         not char *__getopt_argv_const *.
26144         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
26145         _getopt_long_only_r): Likewise.
26146         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
26147         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
26148         _getopt_long_r, _getopt_long_only_r): Likewise.
26149         * lib/getopt_.h (__getopt_argv_const): Remove.
26150         (getopt): Argv is now char * const *, as per standard.
26151
26152         * lib/getdate.y (tORDINAL): New token.
26153         (day, relunit): Allow it for relative times.
26154         (relative_time_table): Use tORDINAL for ordinals.
26155
26156 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
26157
26158         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
26159         Document that "second" isn't allowed as an ordinal number.
26160
26161 2004-11-16  Jim Meyering  <jim@meyering.net>
26162
26163         * modules/closeout (Depends-on): Add fpending.
26164
26165 2004-11-15  Jim Meyering  <jim@meyering.net>
26166
26167         * lib/closeout.c: Include "__fpending.h" once again.
26168         Include <stdbool.h>.
26169         (close_stdout): Don't fail just because stdout was closed initially,
26170         since some programs don't write to stdout in the normal course of
26171         operation (other than --version and --help), and we don't want this
26172         function to make e.g. `touch file >&-' fail.
26173         But do fail if it was closed and someone has tried to write to it.
26174         E.g., `printf foo >&-' must fail.
26175
26176 2004-11-13  Jim Meyering  <jim@meyering.net>
26177
26178         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
26179
26180 2004-11-12  Simon Josefsson  <jas@extundo.com>
26181
26182         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
26183         small doc fix is still pending.
26184
26185 2004-11-11  Simon Josefsson  <jas@extundo.com>
26186
26187         * modules/strtok_r: New file.
26188
26189         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
26190         strtok_r.
26191
26192 2004-11-11  Simon Josefsson  <jas@extundo.com>
26193
26194         * m4/strtok_r.m4: New file.
26195
26196         * m4/getopt.m4: Replace opterr.
26197
26198 2004-11-11  Simon Josefsson  <jas@extundo.com>
26199
26200         * lib/strtok_r.h, strtok_r.c: New file.
26201
26202 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
26203
26204         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
26205         of replacing opterr, getopt, etc.  This should handle the
26206         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
26207
26208 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
26209
26210         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
26211         we can stop lying to compilers about the constness of argv when we
26212         are compiled outside glibc.
26213         (getopt, getopt_long, getopt_long_only): Use it.
26214         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
26215         _getopt_internal, getopt): Likewise.
26216         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
26217         _getopt_long_only_r): Likewise.
26218         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
26219         _getopt_long_r, _getopt_long_only_r): Likewise.
26220
26221         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
26222         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
26223         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
26224         the other external symbols.
26225         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
26226         declaration, since the above renaming now works around collisions.
26227
26228 2004-11-11  Jim Meyering  <jim@meyering.net>
26229
26230         * lib/linebreak.c: Remove trailing blanks.
26231         * lib/alloca_.h: Likewise.
26232         * lib/acosl.c: Likewise.
26233         * lib/euidaccess.c: Likewise.
26234         * lib/allocsa.h: Likewise.
26235
26236 2004-11-10  Simon Josefsson  <jas@extundo.com>
26237
26238         * m4/getaddrinfo.m4: New file.
26239
26240 2004-11-10  Simon Josefsson  <jas@extundo.com>
26241
26242         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
26243
26244 2004-11-10  Simon Josefsson  <jas@extundo.com>
26245
26246         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
26247         getaddrinfo.
26248
26249         * modules/getaddrinfo: New file.
26250
26251 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
26252
26253         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
26254
26255 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
26256
26257         * lib/mktime.c (SHR): New macro, which is a portable
26258         substitute for >> that should work even on Crays.
26259         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
26260         Problem reported by Mark D. Baushke in
26261         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
26262         * lib/getdate.y (SHR): Likewise.
26263         (tm_diff): Use it.
26264         * lib/strftime.c (SHR): Likewise.
26265         (tm_diff): Use it.
26266         * lib/quotearg.c (struct quoting_options): Use unsigned int for
26267         quote_these_too, so that right shifts are well defined.  All uses
26268         changed.
26269
26270 2004-11-10  Jim Meyering  <jim@meyering.net>
26271
26272         Ensure that no close failure goes unreported.
26273         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
26274         return early when it seems there's nothing to flush.
26275         Don't include __fpending.h.
26276
26277 2004-11-10  Jim Meyering  <jim@meyering.net>
26278
26279         * modules/closeout (Depends-on): Remove fpending.
26280
26281 2004-11-10  Jim Meyering  <jim@meyering.net>
26282
26283         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
26284
26285 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
26286
26287         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
26288         gl_FUNC_STRFTIME.
26289         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
26290         and AC_REQUIRE when possible, to avoid duplicate checks.
26291         Check for <wchar.h>.
26292
26293 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
26294
26295         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
26296
26297 2004-11-09  Bruno Haible  <bruno@clisp.org>
26298
26299         * m4/sockpfaf.m4: New file.
26300
26301 2004-11-05  Bruno Haible  <bruno@clisp.org>
26302
26303         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
26304         Reported by Mark D. Baushke <mdb@cvshome.org>.
26305
26306 2004-11-04  Bruno Haible  <bruno@clisp.org>
26307
26308         2004-09-11  Bruno Haible  <bruno@clisp.org>
26309                 * allocsa.valgrind: New file.
26310         2004-02-06  Bruno Haible  <bruno@clisp.org>
26311                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
26312                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
26313                 Reported by Christopher Seip <chris.seip@hp.com>.
26314
26315 2004-11-04  Bruno Haible  <bruno@clisp.org>
26316
26317         * modules/allocsa (Files): Add lib/allocsa.valgrind.
26318         (Makefile.am): Distribute it.
26319
26320 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
26321
26322         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
26323         with errno == ERANGE if the buffer is too small.
26324         Problem reported by Mark D. Baushke.
26325
26326 2004-11-03  Albert Chin  <china@thewrittenword.com>
26327             Paul Eggert  <eggert@cs.ucla.edu>
26328
26329         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
26330         equivalent, substitute $ac_type for equivalent type rather than
26331         blindly using uint32_t *always* which won't work if uint32_t is not
26332         available.  Define _UINT32_T to work around typedef of uint32_t if
26333         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
26334         2.5.1.
26335
26336 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
26337
26338         * m4/jm-macros.m4: Sync from coreutils.
26339         (gl_MACROS): Check for mbrlen, for pathchk.
26340         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
26341
26342 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
26343
26344         * lib/xreadlink.c (MAXSIZE): New macro.
26345         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
26346         size does not exceed MAXSIZE.  Avoid cast.
26347         As suggested by Mark D. Baushke in
26348         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
26349         if readlink fails with buffer size just under MAXSIZE, try again
26350         with MAXSIZE.
26351
26352 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
26353
26354         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
26355
26356 2004-11-02  Derek R. Price  <derek@ximbiot.com>
26357         and  Paul Eggert  <eggert@cs.ucla.edu>
26358
26359         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
26360         (get_date): Overparenthesize to avoid GCC warning.
26361
26362 2004-11-02  Bruno Haible  <bruno@clisp.org>
26363
26364         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
26365         returns void.
26366
26367 2004-11-02  Bruno Haible  <bruno@clisp.org>
26368
26369         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
26370         function returns void.
26371
26372 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
26373
26374         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
26375         fflush_unlocked, flockfile, funlockfile, funlockfile,
26376         fputs_unlocked, putc_unlocked.
26377
26378 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
26379
26380         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
26381         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
26382         already declared.
26383
26384 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
26385
26386         * modules/getdate (Files): Add doc/getdate.texi.
26387         (Depends-on): Add setenv, xalloc.
26388
26389 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
26390
26391         * lib/getdate.y: Add support for TZ="foo" within a date string.
26392         Fix some bugs near time_t boundaries.  Reject dates with
26393         out-of-range components, e.g., "Sept 31".
26394         Include <stdlib.h>, "setenv.h", "xalloc.h".
26395         (ISDIGIT_LOCALE): Remove; unused.
26396         Note that the TZ and time functions used here are not reentrant.
26397         (mktime_ok, get_tz): New functions.
26398         (TZBUFSIZE): New constant.
26399         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
26400         This requires that we sometimes generate our own TZ="XXX..." setting.
26401
26402 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
26403
26404         * doc/getdate.texi: New file, from coreutils with modifications for
26405         the new TZ parsing.
26406
26407 2004-10-27  Derek R. Price  <derek@ximbiot.com>
26408
26409         * lib/mktime.c (not_equal_tm): Remove redundant check.
26410
26411 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
26412
26413         * modules/regex (lib_SOURCES): Add regex.c.
26414         Reported by James Youngman in
26415         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
26416
26417 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
26418
26419         * lib/getdate.y: Use Bison 1.875 features, and some minor
26420         code cleanups.  This change does not affect semantics.
26421         Don't include <stdlib.h>; no longer needed.
26422         Don't include unlocked-io.h; only the "#if TEST" code uses
26423         stdio, and performance isn't crucial there.
26424         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
26425         Bison 1.875 features as described below.
26426         All uses of "PC." replaced by "pc->".
26427         (YYSTYPE): Add a forward declaration.
26428         (yylex, yyerror): Use full prototypes in forward decls.
26429         Use "%pure-parser" rather than obsolescent "%pure_parser".
26430         Use %parse-param and %lex-param instead of obsolescent
26431         YYPARSE_PARAM and YYLEX_PARAM.
26432         (meridian_table, month_and_day_table, time_units_table,
26433         relative_time_table, time_zone_table, military_table,
26434         lookup_zone, lookup_word, get_date):
26435         Use NULL instead of 0 where appropriate.
26436         (to_hour): Avoid abort (), to avoid a dependency on
26437         stdlib.h.
26438         (yyerror, yylex): Now accepts parser_control * arg.
26439         (main) [TEST]: Use '\0' rather than 0 for char.
26440
26441 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
26442
26443         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
26444
26445 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
26446
26447         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
26448         It's now the caller's responsibility to handle the case where
26449         !HAVE_GETPAGESIZE && !defined getpagesize.
26450
26451         * lib/mktime.c (leapyear): Arg is long int, not int.
26452
26453 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
26454
26455         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
26456
26457 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
26458
26459         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
26460         missing.  Problem reported by James Youngman.
26461
26462 2004-10-16  Simon Josefsson  <jas@extundo.com>
26463
26464         * gnulib-tool: Fix comments.  Fix parse problem.
26465         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
26466
26467 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
26468
26469         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
26470         implementation of getopt_long.  Problem reported by Alexander Taler in:
26471         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
26472
26473 2004-10-15  Bruno Haible  <bruno@clisp.org>
26474
26475         * gnulib-tool: Untabify. Initialize supplied_libname.
26476         (func_usage): More homogenous output.
26477         (func_modules_transitive_closure, func_modules_to_filelist,
26478         func_emit_lib_Makefile_am): New functions.
26479         (func_import): New function, extracted from big case statement. Use
26480         func_get_license, func_modules_transitive_closure,
26481         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
26482         opt_lgpl. Don't use test -a, as it's not portable.
26483         (func_create_testdir): Use func_modules_transitive_closure,
26484         func_modules_to_filelist, func_emit_lib_Makefile_am.
26485
26486 2004-10-15  Bruno Haible  <bruno@clisp.org>
26487
26488         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
26489
26490 2004-10-15  Bruno Haible  <bruno@clisp.org>
26491
26492         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
26493         the portions belonging to each module.
26494         Suggested by Derek Robert Price <derek@ximbiot.com>.
26495
26496 2004-10-12  Simon Josefsson  <jas@extundo.com>
26497
26498         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
26499         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
26500         to real functions.
26501
26502 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
26503
26504         * modules/vsnprintf: New file.
26505
26506 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
26507
26508         * m4/vsnprintf.m4: New file.
26509
26510 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
26511
26512         * lib/vsnprintf.h: New file.
26513         * lib/vsnprintf.c: New file.
26514
26515 2004-10-11  Bruno Haible  <bruno@clisp.org>
26516
26517         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
26518         vsnprintf.
26519
26520 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
26521
26522         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
26523
26524 2004-10-07  Bruno Haible  <bruno@clisp.org>
26525
26526         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
26527         fits into the provided buffer.
26528
26529 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
26530
26531         * lib/diacrit.c, diacrit.h: Add GPL notice.
26532
26533         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
26534         notice.
26535         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
26536         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
26537         This avoids a potential constant-folding bug.
26538
26539 2004-10-05  Bruno Haible  <bruno@clisp.org>
26540
26541         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
26542         for the declaration of strsep.
26543
26544 2004-10-05  Bruno Haible  <bruno@clisp.org>
26545
26546         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
26547
26548 2004-10-04  Simon Josefsson  <jas@extundo.com>
26549
26550         * modules/memmem: New file.
26551         * tests/test-memmem.c: New file.
26552         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
26553
26554 2004-10-04  Simon Josefsson  <jas@extundo.com>
26555
26556         * m4/memmem.m4: New file.
26557
26558 2004-10-04  Simon Josefsson  <jas@extundo.com>
26559
26560         * lib/memmem.h: New file.
26561         * lib/memmem.c: New file, taken from glibc.
26562
26563 2004-10-04  Simon Josefsson  <jas@extundo.com>
26564
26565         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
26566         '#ifdef USE_UNLOCKED_IO'.
26567
26568 2004-10-04  Simon Josefsson  <jas@extundo.com>
26569
26570         * config/srclist.txt: Add memmem from glibc.
26571
26572 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
26573
26574         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
26575
26576         * modules/argmatch, modules/argp, modules/closeout, modules/error,
26577         modules/exclude, modules/getdate, modules/getline,
26578         modules/getndelim2, modules/getpass, modules/getpass-gnu,
26579         modules/getusershell, modules/linebuffer, modules/md5,
26580         modules/mountlist, modules/posixtm, modules/readtokens,
26581         modules/readutmp, modules/regex, modules/sha1,
26582         modules/version-etc, modules/yesno:
26583         Remove dependency on unlocked-io.
26584
26585 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
26586
26587         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
26588
26589         * m4/unlocked-io.m4: Add copyright notice.
26590         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
26591
26592 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
26593
26594         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
26595         * lib/xmalloc.c (xmemdup): Likewise.
26596         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
26597         XFREE): Remove these long-obsolescent macros.
26598         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
26599         * lib/xstrdup.c: Remove.
26600
26601         * lib/regex.c (re_comp): Cast gettext return value to char *,
26602         Problem reported by Martin Neitzel via Mark D. Baushke.
26603
26604 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
26605
26606         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
26607         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
26608         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
26609         regex.c, sha1.c, version-etc.c, yesno.c:
26610         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
26611         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
26612         the includer's responsibility.
26613
26614         Sync from coreutils.
26615
26616         * lib/modechange.c (mode_compile): Don't decrement a pointer that
26617         points to the start of a string, as the C Standard says the
26618         resulting behavior is undefined.
26619
26620         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
26621         simple -> simple_backups, numbered_existing ->
26622         numbered_existing_backups, numbered -> numbered_backups
26623         to avoid shadowing problems.  All uses changed.
26624         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
26625         * lib/backupfile.c (check_extension, numbered_backup):
26626         Rename locals to avoid shadowing 'basename'.
26627         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
26628         once.
26629
26630         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
26631         * lib/.cvsignore: Add getopt.h.
26632
26633 2004-10-04  Bruno Haible  <bruno@clisp.org>
26634
26635         * modules/README: New file.
26636         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
26637         not a module.
26638
26639 2004-10-02  Jim Meyering  <jim@meyering.net>
26640
26641         * lib/dirfd.h, getpagesize.h: Add copyright notice.
26642
26643 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
26644
26645         * modules/strsep: New file.
26646
26647 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
26648
26649         * m4/strsep.m4: New file.
26650
26651 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
26652
26653         * lib/strsep.h: New file.
26654         * lib/strsep.c: New file.
26655
26656 2004-10-01  Simon Josefsson  <jas@extundo.com>
26657
26658         * lib/snprintf.c (snprintf): Handle size==0.
26659
26660 2004-10-01  Simon Josefsson  <jas@extundo.com>
26661             Bruno Haible  <bruno@clisp.org>
26662
26663         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
26664         (snprintf): Declare 'args'.
26665
26666 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
26667
26668         * lib/snprintf.c: Remove comments as to why each header is needed.
26669
26670 2004-10-01  Bruno Haible  <bruno@clisp.org>
26671
26672         * MODULES.html.sh: Add strsep.
26673
26674 2004-09-30  Simon Josefsson  <jas@extundo.com>
26675
26676         * modules/snprintf: New file.
26677
26678 2004-09-30  Simon Josefsson  <jas@extundo.com>
26679
26680         * m4/snprintf.m4: New file.
26681
26682 2004-09-30  Simon Josefsson  <jas@extundo.com>
26683
26684         * lib/snprintf.h, lib/snprintf.c: New files.
26685
26686 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
26687
26688         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
26689         (hol_entry_help): Never translate an empty string.
26690         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
26691         * lib/argp.h (OPTION_NO_TRANS): New option.
26692
26693 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
26694
26695         * modules/argp (Maintainer): Replace Simon Josefsson
26696         by Sergey Poznyakoff.
26697
26698 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
26699
26700         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
26701         changes merged back into glibc.
26702
26703 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
26704
26705         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
26706
26707 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
26708
26709         * lib/xvasprintf.c: Include xalloc.h.
26710         (xvasprintf): Use xalloc_die, not xmalloc_die.
26711
26712 2004-09-29  Bruno Haible  <bruno@clisp.org>
26713
26714         * modules/alloca-opt: New file, derived from modules/alloca.
26715         * modules/allocsa: Depend on alloca-opt instead of alloca.
26716         * modules/setenv: Likewise.
26717         * modules/vasnprintf: Likewise.
26718         * MODULES.html.sh: Add alloca-opt.
26719
26720 2004-09-28  Simon Josefsson  <jas@extundo.com>
26721
26722         * gnulib-tool: New parameter --lgpl, to asseert that modules are
26723         LGPL, and to replace license template from GPL to LGPL.
26724
26725 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
26726
26727         * modules/dummy: Change license to LGPL.
26728
26729 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
26730
26731         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
26732
26733 2004-09-24  Simon Josefsson  <jas@extundo.com>
26734
26735         * modules/minmax (License): Change from GPL to LGPL.
26736
26737 2004-09-23  Simon Josefsson  <jas@extundo.com>
26738
26739         * gnulib-tool (--import): Typo.
26740
26741 2004-09-23  Simon Josefsson  <jas@extundo.com>
26742
26743         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
26744
26745 2004-09-22  Bruno Haible  <bruno@clisp.org>
26746
26747         * modules/*: Add 'License' field.
26748         * gnulib-tool: Accept --extract-license option.
26749         (func_get_license): New function.
26750
26751 2004-09-21  Bruno Haible  <bruno@clisp.org>
26752
26753         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
26754         Reported by Simon Josefsson.
26755
26756 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
26757
26758         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
26759         gl_AC_TYPE_LONG_LONG.
26760
26761 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
26762
26763         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
26764
26765 2004-09-18  Simon Josefsson  <jas@extundo.com>
26766         and  Paul Eggert  <eggert@cs.ucla.edu>
26767
26768         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
26769         calls with autoreconf.  Define GL_LIB.
26770
26771 2004-09-14  Karl Berry  <karl@gnu.org>
26772
26773         * config/srclist.txt: unsync setenv.c, sigh.
26774
26775 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
26776
26777         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
26778         Problem reported by Bruno Haible in:
26779         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
26780
26781 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
26782
26783         * config/srclist.txt: Comment out argp-pvh.c.
26784
26785 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
26786
26787         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
26788         in case some system header has #define'd it.  Problem reported by
26789         Soeren D. Schulze in
26790         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
26791
26792 2004-09-09  Karl Berry  <karl@gnu.org>
26793
26794         * regex.[ch]: delete from the root.  These were supposed to be
26795                 synced with emacs cvs, but this has not happened for about
26796                 a year, and anyway nothing else uses emacs regex.[ch].
26797                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
26798                 lib/regex[.ch] is untouched.
26799
26800 2004-09-09  Bruno Haible  <bruno@clisp.org>
26801
26802         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
26803
26804 2004-09-09  Bruno Haible  <bruno@clisp.org>
26805
26806         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
26807         modifications.
26808         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
26809
26810 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
26811
26812         * modules/xvasprintf: New file.
26813         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
26814
26815 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
26816
26817         * lib/xvasprintf.h: New file.
26818         * lib/xvasprintf.c: New file.
26819         * lib/xasprintf.c: New file.
26820
26821 2004-09-08  Bruno Haible  <bruno@clisp.org>
26822
26823         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
26824
26825 2004-09-08  Bruno Haible  <bruno@clisp.org>
26826
26827         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
26828         length is > INT_MAX.
26829         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
26830         more.
26831
26832 2004-09-08  Bruno Haible  <bruno@clisp.org>
26833
26834         * lib/stdint_.h: New file, taken from GNU clisp.
26835
26836 2004-09-08  Bruno Haible  <bruno@clisp.org>
26837             Oskar Liljeblad  <oskar@osk.mine.nu>
26838
26839         * modules/stdint: New file.
26840         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
26841
26842 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
26843
26844         Import from coreutils.
26845         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
26846         strings on unbounded length.  alloca's performance benefits aren't
26847         that important here.
26848         (V_STRDUP): Remove.
26849         (parse_with_separator): New function, with most of the internals
26850         of the old parse_user_spec.  Allow user to omit both user and group,
26851         for compatibility with FreeBSD.
26852         Clone only the user name, not the entire spec.
26853         Do not set *uid, *gid unless entirely successful.
26854         Avoid memory leak in some failing cases.
26855         Fix regression for USER.GROUP reported by Dmitry V. Levin in
26856         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
26857         (parse_user_spec): Rewrite to use parse_with_separator.
26858
26859 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
26860
26861         * modules/userspec: Don't depend on alloca.
26862
26863 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
26864
26865         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
26866
26867 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
26868
26869         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
26870         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
26871         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
26872
26873 2004-08-16  Simon Josefsson  <jas@extundo.com>
26874
26875         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
26876         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
26877         Add --dry-run for --import.
26878         Let user provided command line parameters override configure.ac
26879         settings.
26880
26881 2004-08-12  Simon Josefsson  <jas@extundo.com>
26882
26883         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
26884         as discussed with Paul Eggert in threads rooted at
26885         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
26886         and
26887         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
26888         Before, the test was empty, and relied on ELIDE_CODE in source
26889         code.)
26890         (gl_PREREQ_GETOPT): New macro.
26891         (gl_GETOPT): Use them.
26892
26893 2004-08-12  Simon Josefsson  <jas@extundo.com>
26894
26895         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
26896         * lib/getopt_.h: Renamed from getopt.h.
26897
26898 2004-08-12  Simon Josefsson  <jas@extundo.com>
26899
26900         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
26901         Change default library name from libfoo to libgnu.
26902         Now, if you have a configure.ac that says:
26903                 gl_SOURCE_BASE(gl)
26904                 gl_M4_BASE(gl/m4)
26905                 gl_MODULES(error getopt etcetera)
26906                 gl_INIT
26907         you can import all you need by running:
26908                 ../gnulib/gnulib-tool --import
26909
26910         * modules/getopt (Files): Rename getopt.h to getopt_.h.
26911         (Makefile.am): Rewrite, use logic from argz.
26912         (Include): Use <getopt.h> instead of "getopt.h".
26913
26914 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
26915
26916         * modules/argp (Files): Add m4/unlocked-io.m4.
26917         (Depends-on): Add extensions.
26918
26919 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
26920
26921         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
26922         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
26923         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
26924         Check for program_invocation_name, program_invocation_short_name,
26925         flockfile, funlockfile, features.h, _getopt_long_only_r.
26926
26927 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
26928
26929         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
26930         its complicated substitute.
26931         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
26932         and program_invocation_name.
26933         (__argp_basename) [!_LIBC]: Remove; the only use was
26934         replaced by its body.
26935         (__argp_short_program_name): Change condition from
26936         !defined __argp_short_program_name to
26937         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
26938         to match argp-namefrob.h.
26939         (__argp_failure): Don't assume strerror_r returns char *.
26940         * lib/argp-parse.c (N_): Define unconditionally.
26941         (argp_default_options): Fill out initializers with 0 to avoid
26942         gcc warnings.
26943
26944 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
26945
26946         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
26947         getopt1.c.
26948
26949 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
26950
26951         Merge from coreutils.
26952
26953         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
26954
26955         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
26956         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
26957
26958 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
26959
26960         Merge from coreutils.
26961
26962         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
26963         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
26964         for Reliant Unix 5.43.
26965
26966         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
26967         (union fooround): Use uintmax_t, not long int.
26968         The rest is a merge from libc:
26969         [defined _LIBC]: Include <shlib-compat.h>.
26970         (_obstack) [defined _LIBC]: Remove after 2.3.4.
26971
26972         * lib/settime.c (settime): Recode to avoid warning with
26973         Sun Forte C 6U2.
26974
26975         * lib/strverscmp.c: Convert to UTF-8.
26976
26977 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
26978
26979         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
26980         m4/uintmax_t.m4.
26981
26982 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
26983
26984         * modules/xalloc-die: New file.
26985         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
26986
26987         * modules/md5 (Files): Add m4/uint32_t.m4.
26988         * modules/sha1: Renamed from modules/sha.
26989         (Files):
26990         Rename lib/sha.h to lib/sha1.h.
26991         Rename lib/sha.c to lib/sha1.c.
26992         Rename m4/sha.m4 to m4/sha1.m4.
26993         (lib_SOURCES): Likewise.
26994         (configure.ac): Rename gl_SHA to gl_SHA1.
26995         (Include): sha.h -> sha1.h.
26996
26997 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
26998
26999         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
27000         * m4/sha1.m4: Renamed from sha.m4.
27001         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
27002
27003 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
27004
27005         * lib/obstack.h (obstack_empty_p):
27006         Don't assume that chunk->contents is suitably aligned.
27007         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
27008         Likewise. Problem reported by Benno in
27009         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
27010
27011         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
27012         readable.  This could be improved further but it'd take some work.
27013
27014 2004-08-08  Simon Josefsson  <jas@extundo.com>
27015
27016         * modules/xgethostname (Depends-on): Remove exit and error (not
27017         used).
27018
27019         * modules/getpass-gnu: Add getpass.h.
27020         (Depends-on): Add stdbool.
27021         * modules/getpass: Add getpass.h.
27022
27023 2004-08-08  Simon Josefsson  <jas@extundo.com>
27024
27025         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
27026         Check getpass declaration.
27027
27028 2004-08-08  Simon Josefsson  <jas@extundo.com>
27029
27030         * lib/xgethostname.c: Don't include error.h (not used).
27031
27032         * lib/getpass.h: Add.
27033         * lib/getpass.c: Include getpass.h first.
27034
27035 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
27036
27037         * lib/xalloc-die.c: New file.
27038         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
27039         All uses removed.
27040         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
27041         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
27042         xalloc-die.c.
27043         (_, N_, xalloc_die): Move to xalloc-die.c.
27044         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
27045         so that we needn't mess with xalloc_msg_memory_exhausted.
27046
27047         * lib/sha1.h: Renamed from sha.h.
27048         (SHA1_H): Renamed from _SHA_H.
27049         (sha1_ctx): Renamed from sha_ctx.
27050         (sha1_init_ctx): Renamed from sha_init_ctx.
27051         (sha1_process_block): Renamed from sha_process_block.
27052         (sha1_process_bytes): Renamed from sha_process_bytes.
27053         (sha1_finish_ctx): Renamed from sha_finish_ctx.
27054         (sha1_read_ctx): Renamed from sha_read_ctx.
27055         (sha1_stream): Renamed from sha_stream.
27056         (sha1_buffer): Renamed from sha_buffer.
27057         * lib/sha1.c: Likewise; renamed from sha.c.
27058         Do not include <sys/types.h>.
27059         Include <stddef.h> rather than <stdlib.h>.
27060
27061 2004-08-08  Bruno Haible  <bruno@clisp.org>
27062
27063         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
27064         FILESYSTEM_PREFIX_LEN.
27065         * lib/progreloc.c: Likewise.
27066         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
27067
27068 2004-08-06  Simon Josefsson  <jas@extundo.com>
27069
27070         * modules/progname (Depends-on): Don't depend on stdbool.
27071
27072 2004-08-06  Simon Josefsson  <jas@extundo.com>
27073
27074         * modules/getsubopt: New file.
27075         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
27076         getsubopt.
27077
27078 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
27079
27080         More merge from coreutils.
27081
27082         * m4/utimens.m4, m4/utimecmp.m4: New files.
27083         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
27084         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
27085         prereq.m4, sha.m4: Import changes from coreutils.
27086
27087 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
27088
27089         More merge from coreutils.
27090         * modules/raise, modules/readtokens0, modules/utimens:
27091         * modules/utimecmp, module/xnanosleep: New files.
27092         * modules/strftime: Add lib/strftime.h.
27093         Change include from <time.h> to "strftime.h".
27094         * modules/yesno: Add lib/yesno.h.
27095         * modules/backupfile: Remove lib/addext.c.
27096         * modules/euidaccess: Add stat-macros.h.
27097         * modules/canonicalize, modules/euidaccess,
27098         modules/filemode, modules/lchown, modules/makepath,
27099         modules/rmdir, modules/stat: Likewise.
27100
27101 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
27102
27103         Merge from tar.
27104         * lib/argp-help.c (make_hol, hol_append): Don't assume that
27105         SIZE_MAX is a valid preprocessor constant.
27106         (__argp_basename): Change from "#ifndef _LIBC"
27107         to "#ifndef __argp_short_program_name", so that
27108         we don't compile these functions for tar.
27109
27110         More merges from coreutils.
27111         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
27112         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
27113         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
27114         * lib/addext.c: Remove; no longer needed.
27115         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
27116         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
27117         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
27118         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
27119         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
27120         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
27121         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
27122         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
27123         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
27124         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
27125         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
27126         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
27127         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
27128         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
27129         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
27130         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
27131         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
27132         Import changes from coreutils.
27133
27134 2004-08-05  Simon Josefsson  <jas@extundo.com>
27135
27136         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
27137
27138 2004-08-05  Simon Josefsson  <jas@extundo.com>
27139
27140         * m4/getsubopt.m4: New file.
27141
27142 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
27143
27144         Merge from coreutils.
27145
27146         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
27147         * m4/getcwd-path-max.m4: New files.
27148
27149         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
27150         FILESYSTEM_PREFIX_LEN ->
27151         FILE_SYSTEM_PREFIX_LEN.
27152         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
27153         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
27154         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
27155         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
27156
27157         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
27158         prerequisite modules now handle the DOS stuff.
27159         Don't check for unistd.h.
27160
27161 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
27162
27163         Merge from coreutils.
27164
27165         * lib/.gdb-history: Remove; this doesn't belong here.
27166
27167         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
27168         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
27169         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
27170         * lib/getcwd.c: New files.
27171
27172         * lib/dirname.h: Include <stdbool.h>.
27173         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
27174         for consistency with POSIX terminology.  All uses changed.
27175         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
27176         (strip_trailing_slashes): Use bool for booleans.
27177         * lib/stripslash.c (strip_trailing_slashes): Likewise.
27178
27179         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
27180         sometimes returns a positive errno value even when it succeeds.
27181         (print_errno_message) [!LIBC]: Fall back on strerror if
27182         __strerror_r fails.
27183
27184         * lib/path-concat.c (mempcpy): Don't define if a system header defines
27185         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
27186         (longest_relative_suffix): New function.
27187         (path_concat): Use it.  Assume first argument is not NULL.
27188         Port to DOS.  Omit redundant separators.
27189         Report an error instead of returning NULL.
27190         Use mempcpy instead of memcpy.
27191         (xpath_concat): Remove: not declared or used.
27192
27193         * lib/same.h: Include <stdbool.h>
27194         (same_name): Return bool, not int.
27195         * lib/same.c (same_name): Likewise.
27196         (errno): Don't declare; we assume C89 or better now.
27197
27198         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
27199         if not already defined.
27200
27201         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
27202         * lib/dup-safer.c (errno): Likewise.
27203
27204 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
27205
27206         Merge from coreutils.
27207         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
27208         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
27209         * modules/path-concat: Don't depend on strdup.
27210
27211 2004-08-03  Simon Josefsson  <jas@extundo.com>
27212
27213         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
27214         * lib/progname.h: Don't include stdbool.h.
27215
27216 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
27217
27218         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
27219         * MODULES.html.sh (func_all_modules): Remove fatal.
27220
27221 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
27222
27223         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
27224
27225 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
27226
27227         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
27228         working.
27229
27230 2004-08-02  Simon Josefsson  <jas@extundo.com>
27231
27232         * lib/getsubopt.h: New file, with comments from Bruno Haible.
27233         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
27234         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
27235
27236 2004-08-01  Simon Josefsson  <jas@extundo.com>
27237
27238         * lib/xgetdomainname.c: Include stdlib.h, for free().
27239
27240 2004-07-19  Bruno Haible  <bruno@clisp.org>
27241
27242         * MODULES.html.sh (func_all_modules): Add dummy.
27243
27244 2004-07-16  Simon Josefsson  <jas@extundo.com>
27245
27246         * modules/dummy: New file.
27247
27248 2004-07-16  Simon Josefsson  <jas@extundo.com>
27249
27250         * lib/dummy.c: New file.
27251
27252 2004-07-16  Bruno Haible  <bruno@clisp.org>
27253
27254         * lib/backupfile.h: Add extern "C" for C++.
27255         * lib/closeout.h: Likewise.
27256         * lib/copy-file.h: Likewise.
27257         * lib/findprog.h: Likewise.
27258         * lib/full-write.h: Likewise.
27259         * lib/pathname.h: Likewise.
27260         * lib/progname.h: Likewise.
27261         * lib/stpcpy.h: Likewise.
27262         * lib/stpncpy.h: Likewise.
27263         * lib/strcase.h: Likewise.
27264         * lib/strstr.h: Likewise.
27265         * lib/xalloc.h: Likewise.
27266
27267         * lib/mbswidth.h: Add extern "C" for C++.
27268         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
27269
27270 2004-07-13  Robert Millan  <robertmh@gnu.org>
27271
27272         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
27273
27274 2004-07-09  Simon Josefsson  <jas@extundo.com>
27275
27276         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
27277         failed without this.)
27278
27279 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
27280
27281         * modules/chown (Files): Add lib/fchown-stub.c, since
27282         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
27283
27284 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
27285
27286         * lib/fchown-stub.c: New file.
27287
27288 2004-06-24  Jim Meyering  <jim@meyering.net>
27289
27290         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
27291
27292 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
27293
27294         * modules/argz: Omit "#include".
27295
27296         * MODULES.html.sh (func_all_modules): Add calloc, to match
27297         2004-06-01 addition of calloc module.
27298
27299 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
27300
27301         * m4/argz.m4: New file, which is autoupdated from libtool.
27302
27303 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
27304
27305         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
27306         libtool.
27307
27308 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
27309
27310         * config/srclist-update: Don't insist on "USA." before the
27311         close-comment, as libtool omits the period and puts the */ on a
27312         separate line.
27313         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
27314         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
27315
27316 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
27317
27318         * modules/argz: New file.
27319         * MODULES.html.sh (func_all_modules): Add argz.
27320
27321 2004-06-12  Jim Meyering  <jim@meyering.net>
27322         and  Paul Eggert  <eggert@cs.ucla.edu>
27323
27324         * modules/hash (Files): Add lib/xalloc.h.
27325         * modules/pipe (Depends-on): Add wait-process.
27326         * modules/stat (Depends-on): Add xalloc.
27327         * modules/userspec (Files): Add lib/userspec.h.
27328         * modules/xstrto
27329
27330         Upgrade from gettext-0.13.
27331         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
27332         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
27333         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
27334
27335 2004-06-10  Jim Meyering  <jim@meyering.net>
27336
27337         * lib/calloc.c: New file.
27338
27339 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
27340
27341         * lib/getdate.y (yylex): Allow space between sign and number.
27342         Problem reported by Dan Jacobson.
27343
27344 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
27345
27346         Merge from coreutils CVS.
27347
27348         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
27349         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
27350         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
27351         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
27352         xstrtol.m4: Fix copyright date and/or serial number.
27353
27354         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
27355         See if we need an fchown replacement.
27356         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
27357         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
27358         and use the replacement function if we detect either defect.
27359
27360         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
27361         gl_UTIMECMP.
27362
27363 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
27364         and  Jim Meyering  <jim@meyering.net>
27365
27366         Merge from coreutils CVS.
27367
27368         * lib/stat-macros.h: New file, with contents from file-type.h
27369         and coreutils' system.h.
27370         * lib/file-type.c: Include "stat-macros.h".
27371         * lib/file-type.h (file_type): Move all macro definitions to new file,
27372         stat-macros.h.
27373
27374         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
27375         Wrap old code with this conditional.
27376         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
27377         function that does not dereference symlinks.
27378         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
27379
27380         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
27381         dependency problems.
27382         (xreadlink): Accept new arg SIZE, for efficiency.
27383         All decls and uses changed.
27384         * lib/xreadlink.h: Include <stddef.h>, for size_t.
27385
27386         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
27387         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
27388
27389         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
27390         sysexits.h.
27391
27392 2004-06-01  Jim Meyering  <jim@meyering.net>
27393
27394         * m4/calloc.m4: New file.
27395
27396 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
27397
27398         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
27399         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
27400         Also, fix a typo in a diagnostic.
27401
27402 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
27403
27404         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
27405         or AC_FUNC_REALLOC.
27406
27407 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
27408
27409         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
27410         macros to be defined.
27411         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
27412         the allocator returns NULL because the requested size is zero.
27413
27414 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
27415
27416         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
27417         var.  Add comment explaining why libc still defines it.  This
27418         merges the following patch from glibc:
27419         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
27420
27421 2004-05-20  Andreas Schwab  <schwab@suse.de>
27422
27423         * m4/free.m4: Replace free if it not known to work, not the other
27424         way round.
27425
27426 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
27427
27428         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
27429         present in glibc since revision 1.1 of this file.
27430         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
27431         obstack_alignment_mask, obstack_alloc, obstack_base,
27432         obstack_blank, obstack_blank_fast, obstack_chunk_size,
27433         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
27434         obstack_grow0, obstack_init, obstack_int_grow,
27435         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
27436         obstack_next_free, obstack_object_size, obstack_ptr_grow,
27437         obstack_ptr_grow_fast, obstack_room): Remove declarations of
27438         nonexistent functions.
27439
27440 2004-05-18  Karl Berry  <karl@gnu.org>
27441
27442         * config/srclist.txt: break link for vasnprintf.c.
27443
27444 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
27445
27446         Port obstack to the AS/400, where pointers are 16 bytes wide and
27447         you cannot cast an integer to a valid pointer.  This patch is
27448         currently waiting to be integrated into glibc; see
27449         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
27450
27451         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
27452         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
27453         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
27454         (struct obstack): temp member is now a union of a pointer and
27455         an integer, instead of an integer.  All integer uses changed.
27456         This does not affect the physical layout of struct obstack,
27457         except on hosts (like the AS/400) where the size or alignment of
27458         void * is greater than that of ptrdiff_t.
27459         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
27460         __STDC__)]: Store temporary in pointer member of union, not
27461         integer member.
27462         * lib/obstack.c: Include <stddef.h>, for offsetof.
27463         (struct fooalign): Remove; it doesn't need a name.
27464         (union fooround): Change double to long double, and add void *.
27465         (DEFAULT_ALIGNMENT): Use offsetof to compute.
27466         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
27467         not a macro.  Hence the values are always int; so remove all
27468         casts-to-int in uses.
27469
27470 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
27471
27472         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
27473         we can get this patch merged into glibc.
27474
27475 2004-05-17  Derek R. Price  <derek@ximbiot.com>
27476             Paul Eggert  <eggert@cs.ucla.edu>
27477
27478         * m4/argp: Depend on alloca.
27479
27480 2004-05-17  Derek R. Price  <derek@ximbiot.com>
27481             Paul Eggert  <eggert@cs.ucla.edu>
27482
27483         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
27484         freecoding.
27485
27486 2004-05-17  Bruno Haible  <bruno@clisp.org>
27487
27488         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
27489         precision that consists of a '.' followed by an empty digit string.
27490         Patch by Tor Lillqvist <tml@iki.fi>.
27491
27492 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
27493
27494         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
27495         for backward compatibility with older code.  We need our own
27496         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
27497         it under some other name, and our alloca.h will define it.
27498
27499 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
27500             Derek Price  <derek@ximbiot.com>
27501
27502         * lib/alloca.c: Include <alloca.h>, to get our interface.
27503         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
27504         include <alloca.h> first.  Use C89 prototype for alloca; this
27505         requires including <stddef.h> for size_t.  Use extern "C" if C++.
27506         Use #elif for simplicity, since we can assume C89 now.
27507         Don't try to source the system alloca.h since it will not be found
27508         and to prevent recursively including its replacement.
27509         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
27510         * lib/regex.c: Likewise.
27511
27512 2004-05-16  Derek Price  <derek@ximbiot.com>
27513             Paul Eggert  <eggert@cs.ucla.edu>
27514
27515         getline cleanup.  This changes the getndelim2 API: both order of
27516         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
27517         no delimiter).
27518
27519         * lib/getline.c: Don't include stddef.h or stdio.h, since our
27520         interface does that.
27521         (getline): Always use getdelim, so that we don't have two
27522         copies of this code.
27523         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
27524         if available.
27525         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
27526         (GETNDELIM2_MAXIMUM): New macro.
27527         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
27528         instead of the old practice of delim2==0.  All callers changed.
27529         Return -1 on overflow, instead of returning junk.
27530         Do not set *linesize unless allocation succeeds.
27531         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
27532         that we include sys/types.h.
27533         * lib/getnline.h: Likewise.
27534         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
27535         (getndelim2): Reorder arguments.
27536         * lib/getnline.c (getnline, getndelim):
27537         Don't discard the NMAX argument.
27538         (getnline): Invoke getndelim, to avoid code duplication.
27539         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
27540         of (size_t) -1 by callers of the getnline family.
27541
27542 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
27543
27544         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
27545         Check for gettimeofday.
27546         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
27547         Check for settimeofday, stime.
27548
27549 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
27550
27551         * lib/nanosleep.c (suspended): Change its type from int to
27552         sig_atomic_t volatile.
27553         (first_call): Make it private to rpl_nanosleep, and have it
27554         be zero initially as that's a bit faster.
27555         (my_usleep): Round up fractional times instead of truncating them,
27556         as this is the usual meaning for 'sleep'.
27557
27558         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
27559         doesn't work.
27560         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
27561         (ENOSYS): Define if not defined.
27562         (settime): Fall back on stime if it exists and settimeofday fails.
27563         But don't bother with fallbacks if a method fails with errno == EPERM.
27564
27565 2004-05-11  Jim Meyering  <jim@meyering.net>
27566
27567         Prior to this change, the save_cwd caller required read access to the
27568         current directory on most systems (ones with the fchdir function).
27569
27570         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
27571         fails, try write-only, and finally, resort to using xgetcwd.
27572
27573 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
27574
27575         * lib/obstack.c, obstack.h: Import changes from libc.
27576
27577 2004-04-28  Bruno Haible  <bruno@clisp.org>
27578
27579         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
27580         also implicitly appends .exe to executables.
27581         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
27582         accepts Windows pathnames.
27583         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
27584         Treat Cygwin like Windows, since it now accepts Windows pathnames.
27585         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
27586         Treat Cygwin like Windows, since it now accepts Windows pathnames.
27587         Reported by Derek Robert Price <derek@ximbiot.com>.
27588
27589 2004-04-21  Karl Berry  <karl@gnu.org>
27590
27591         * config/srclist.txt (localcharset.c): break sync.
27592
27593 2004-04-20  Paul Eggert  <eggert@twinsun.com>
27594
27595         * m4/host-os.m4: Add a copyright notice.
27596
27597 2004-04-20  Jim Meyering  <jim@meyering.net>
27598
27599         Change UTILS_ to gl_ in AC_DEFINE'd names.
27600         Change utils_- and jm_-prefixed variables, too.
27601         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
27602         UTILS_FUNC_MKDIR_TRAILING_SLASH.
27603         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
27604
27605         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
27606         Don't emit trailing blanks.
27607         Also rename jm_-prefixed variables to have gl_ prefix.
27608
27609         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
27610         Also rename jm_-prefixed variables to have gl_ prefix.
27611
27612         * m4/jm-macros.m4: Reflect the renamings.
27613         * m4/prereq.m4: Likewise.
27614
27615 2004-04-20  Jim Meyering  <jim@meyering.net>
27616
27617         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
27618         memory.
27619
27620 2004-04-20  Jim Meyering  <jim@meyering.net>
27621             Bruno Haible  <bruno@clisp.org>
27622
27623         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
27624         memory when realloc fails.
27625
27626 2004-04-19  Jim Meyering  <jim@meyering.net>
27627
27628         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
27629         now that readutmp.c may call `free (0)'.
27630
27631 2004-04-19  Bruno Haible  <bruno@clisp.org>
27632
27633         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
27634         * m4/inttypes_h.m4: Likewise.
27635         * m4/stdint_h.m4: Likewise.
27636         * m4/intmax_t.m4: Likewise.
27637         * m4/uintmax_t.m4: Likewise.
27638
27639 2004-04-18  Jim Meyering  <jim@meyering.net>
27640
27641         * m4/prereq.m4: Don't forbid jm_ prefix.
27642
27643         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
27644         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
27645         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
27646         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
27647         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
27648         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
27649         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
27650         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
27651         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
27652         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
27653         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
27654         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
27655         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
27656         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
27657         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
27658         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
27659         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
27660         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
27661         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
27662
27663 2004-04-18  Jim Meyering  <jim@meyering.net>
27664
27665         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
27666         failure, don't leak memory and do call END_UTMP_ENT.
27667
27668 2004-04-16  Jim Meyering  <jim@meyering.net>
27669
27670         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
27671         coreutils' stat program.
27672         (gl_PREREQ): Don't require jm_PREREQ_STAT.
27673
27674 2004-04-11  Paul Eggert  <eggert@twinsun.com>
27675
27676         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
27677         C89.
27678         (CHAR_BIT): Remove, since we assume C89.
27679         Include <stdint.h> if available, as per current Autoconf CVS advice.
27680
27681 2004-03-31  Jim Meyering  <jim@meyering.net>
27682
27683         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
27684         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
27685         * m4/xalloc.m4: Likewise.
27686
27687 2004-03-30  Paul Eggert  <eggert@twinsun.com>
27688
27689         Merge from coreutils.
27690
27691         * m4/inttostr.m4: New file.
27692         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
27693         Require AM_STDBOOL_H and gl_TIMESPEC instead.
27694         Require gl_CLOCK_TIME.
27695         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
27696
27697 2004-03-30  Paul Eggert  <eggert@twinsun.com>
27698
27699         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
27700         not bool, to be more consistent with Unix conventions.
27701         Suggested by Bruno Haible.
27702
27703         Merge from coreutils.
27704
27705         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
27706         * lib/umaxtostr.c: New files.
27707
27708         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
27709         the usual <time.h> dance.
27710         (get_date): Change signature to support fractional time stamps.
27711         All callers changed.
27712         * lib/getdate.y: Include "getdate.h" first, as we can now
27713         assume C89 and don't need to worry about 'const'.
27714         Similarly, include "unlocked-io.h" near start, not in middle.
27715         Include <limits.h>.
27716         (textint.value): Use long int rather than int.
27717         (textint.digits): Use size_t rather than int.
27718         (BILLION, LOG10_BILLION): New constants.
27719         (parser_control): New member rel_ns.  Members day_ordinal,
27720         time_zone, month, day, hour, minutes, rel_year, rel_month,
27721         rel_day, rel_hour, rel_minutes, rel_seconds
27722         are now long int, not int.  Member seconds is now struct timespec,
27723         not int.  New member timespec_seen.  Members dates_seen, days_seen,
27724         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
27725         not int.
27726         (%union.intval): Now long int, not int.
27727         New member timespec.
27728         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
27729         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
27730         (spec): Now is a timespec or an item list.
27731         (timespec, items): New nonterminals.
27732         (time, rel, relunit, number, get_date):
27733         Add support for fractional seconds.
27734         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
27735         (gmtime, localtime, mktime): Remove decls; not needed with C89.
27736         (to_hour): First arg is now long int, not int.
27737         (to_year): Returns long int, not int.
27738         Don't treat year -70 like 70.
27739         (tm_diff): Returns long int, not int.
27740         (lookup_word): Use bool instead of int when appropriate.
27741         (yylex): Use size_t for count, not int.
27742         Detect overflow when parsing large integer constants.
27743         Add support for fractions.
27744         (get_date): Make pointers 'const' if possible.
27745         Use more-portable code to detect integer overflow.
27746         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
27747         Don't use ctime; it's not reliable if the year has >4 digits.
27748
27749         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
27750         This is for compatibility with BSD.
27751
27752         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
27753         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
27754         From coreutils' system.h.
27755
27756         * lib/userspec.c: Don't include "posixver.h".
27757         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
27758         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
27759         compatible extension.  Simplify code by removing a boolean int
27760         that was always nonzero if a string was nonnull.
27761
27762 2004-03-30  Jim Meyering  <jim@meyering.net>
27763
27764         Merge from coreutils.
27765
27766         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
27767         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
27768         on some systems one must include <grp.h> before it.
27769         Reported by Christian Krackowizer.
27770
27771 2004-03-30  Jim Meyering  <jim@meyering.net>
27772
27773         Merge from coreutils.
27774
27775         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
27776
27777         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
27778         an empty input stream.
27779
27780         * lib/readtokens.c: Include <stdbool.h>.
27781         (readtoken): Use `size_t' rather than int/long.
27782         All callers adjusted.
27783         Use `bool' rather than `int' where appropriate.
27784         Use memset rather than an explicit loop.
27785         Use x2nrealloc rather than xrealloc.
27786         Allow the use of `\0' as a delimiter.
27787         (readtokens): Likewise.
27788         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
27789
27790 2004-03-30  Jim Meyering  <jim@meyering.net>
27791
27792         * m4/realloc.m4: Remove file, since now it does no more than
27793         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
27794         the `configure.ac' section of module/realloc.
27795         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
27796
27797 2004-03-30  Bruno Haible  <bruno@clisp.org>
27798
27799         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
27800         nonnull.
27801
27802 2004-03-29  Paul Eggert  <eggert@twinsun.com>
27803
27804         Merge changes to getloadavg.c from coreutils and Emacs.
27805
27806         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
27807         Define to an expression, not to the empty string.
27808         Include cloexec.h and xalloc.h.
27809         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
27810         Use set_cloexec_flag rather than rolling our own.
27811         * lib/cloexec.c, lib/cloexec.h: New files.
27812
27813 2004-03-29  Paul Eggert  <eggert@twinsun.com>
27814
27815         * m4/cloexec.m4: New file.
27816
27817 2004-03-18  Paul Eggert  <eggert@twinsun.com>
27818
27819         * lib/getopt.h: Sync with libc CVS.
27820
27821 2004-03-18  Paul Eggert  <eggert@twinsun.com>
27822             Bruno Haible  <bruno@clisp.org>
27823
27824         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
27825         mbswidth.
27826
27827 2004-03-18  Paul Eggert  <eggert@twinsun.com>
27828             Bruno Haible  <bruno@clisp.org>
27829
27830         * lib/mbswidth.h: Include <wchar.h> only if
27831         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
27832         <wchar.h>.
27833         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
27834
27835 2004-03-09  Paul Eggert  <eggert@twinsun.com>
27836
27837         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
27838         Sync with libc CVS.
27839         * lib/getopt_int.h: New file, also synced from libc.
27840
27841 2004-03-09  Paul Eggert  <eggert@twinsun.com>
27842
27843         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
27844         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
27845         Bring back getopt.c, getopt.h, getopt1.c.
27846
27847 2004-03-07  Paul Eggert  <eggert@twinsun.com>
27848
27849         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
27850         All uses changed.  Check for sa_sigaction member; this fixes
27851         a bug first reported by Jason Andrade in
27852         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
27853
27854 2004-03-07  Paul Eggert  <eggert@twinsun.com>
27855
27856         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
27857         '#if' expressions.  Unlike the code it replaces, it does not
27858         depend on (defined _SC_PAGESIZE).  However, it does depend on
27859         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
27860         first reported by Jason Andrade in
27861         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
27862
27863 2004-02-25  Simon Josefsson  <jas@extundo.com>
27864
27865         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
27866
27867 2004-02-25  Simon Josefsson  <jas@extundo.com>
27868
27869         * lib/strdup.h: New file.
27870         * lib/strdup.c: Include it.
27871         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
27872         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
27873
27874 2004-02-23  Karl Berry  <karl@gnu.org>
27875
27876         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
27877         (from fencepost.gnu.org:/gd/gnuorg).
27878
27879 2004-02-23  Karl Berry  <karl@gnu.org>
27880
27881         * config/srclistvars.sh (GNUORG) [karl]: redefine.
27882         * config/srclist.txt: add maintain/standards documents.
27883
27884 2004-02-18  Bruno Haible  <bruno@clisp.org>
27885
27886         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
27887         Reported by Derek Robert Price <derek@ximbiot.com>.
27888
27889 2004-02-16  Karl Berry  <karl@gnu.org>
27890
27891         * config/mkinstalldirs, install-sh: update from automake.
27892
27893 2004-02-06  Karl Berry  <karl@gnu.org>
27894
27895         * m4/po.m4: update from gettext 0.14.1.
27896
27897 2004-02-06  Karl Berry  <karl@gnu.org>
27898
27899         * lib/config.charset: update from gettext 0.14.1.
27900
27901 2004-02-05  Paul Eggert  <eggert@twinsun.com>
27902
27903         Add comments and code, prompted by suggestions from Bruno Haible
27904         for sh-quote.
27905         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
27906         describing the enum quoting_style values.
27907         * lib/quotearg.c (quotearg_alloc): New function.
27908         (quotearg_buffer_restyled): Treat lone { and } as special.
27909         Treat = as special.  Work around bug with older shells
27910         that "see" a '\' that is really the 2nd byte of a multibyte char.
27911         Quote empty string with shell_quoting_style.
27912
27913 2004-02-03  Bruno Haible  <bruno@clisp.org>
27914
27915         * m4/pipe.m4: New file, from GNU gettext.
27916
27917 2004-02-03  Bruno Haible  <bruno@clisp.org>
27918
27919         * lib/pipe.h: New file, from GNU gettext.
27920         * lib/pipe.c: New file, from GNU gettext.
27921
27922 2004-01-27  Bruno Haible  <bruno@clisp.org>
27923
27924         * m4/execute.m4: New file, from GNU gettext.
27925
27926 2004-01-27  Bruno Haible  <bruno@clisp.org>
27927
27928         * lib/execute.h: New file, from GNU gettext.
27929         * lib/execute.c: New file, from GNU gettext.
27930         * lib/w32spawn.h: New file, from GNU gettext.
27931
27932 2004-01-24  Paul Eggert  <eggert@twinsun.com>
27933
27934         Merge from diffutils.
27935
27936         * lib/file-type.c (file_type): Add typed memory objects.
27937         * lib/file-type.h (S_TYPEISTMO): New macro.
27938
27939         * lib/c-stack.h (c_stack_action): Remove argv argument.
27940         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
27941         (die): Don't calculate message unless segv_action returns.
27942         (get_stack_location, min_address_from_argv, max_address_from_argv,
27943         volatile stack_base, volatile_stack_size): Remove.
27944         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
27945         that every segmentation violation is a stack overflow.  (Ouch!)
27946         See Debian bug 136249 (still outstanding) for more info about why
27947         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
27948
27949 2004-01-24  Paul Eggert  <eggert@twinsun.com>
27950
27951         Exit-status fix from coreutils.
27952
27953         Use exit_failure consistently in place of EXIT_FAILURE,
27954         so that program exit statuses are consistent on failure.
27955
27956         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
27957         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
27958         * lib/argmatch.h: Comment fix to match the above.
27959         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
27960         Now a macro referring to exit_failure, instead of a separate
27961         variable.  Include "exitfail.h" to get it.
27962         * lib/xstrtol.h: Include "exitfail.h".
27963         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
27964
27965         * lib/long-options.c (parse_long_options): Use prototype
27966         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
27967         for clarity.
27968
27969 2004-01-21  Jim Meyering  <jim@meyering.net>
27970
27971         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
27972         so as not to conflict with a different-sized __mktime_internal
27973         function in GNU libc.
27974         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
27975         Problem building statically-linked `ls' reported by Michael Brunnbauer.
27976
27977 2004-01-20  Karl Berry  <karl@gnu.org>
27978
27979         * config/config.guess: update from config.
27980
27981         * config/srclistvars.sh: GNUWWWLICENSES for karl.
27982
27983 2004-01-20  Bruno Haible  <bruno@clisp.org>
27984
27985         Safer stack allocation.
27986         * lib/setenv.c: Include allocsa.h.
27987         (alloca): Remove fallback definition.
27988         (freea): Remove macro.
27989         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
27990         instead of freea.
27991
27992 2004-01-20  Bruno Haible  <bruno@clisp.org>
27993
27994         * m4/eealloc.m4: New file, from GNU gettext.
27995
27996 2004-01-20  Bruno Haible  <bruno@clisp.org>
27997
27998         * m4/allocsa.m4: New file, from GNU gettext.
27999
28000 2004-01-20  Bruno Haible  <bruno@clisp.org>
28001
28002         * lib/xallocsa.h: New file, from GNU gettext.
28003         * lib/xallocsa.c: New file, from GNU gettext.
28004
28005 2004-01-20  Bruno Haible  <bruno@clisp.org>
28006
28007         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
28008
28009 2004-01-20  Bruno Haible  <bruno@clisp.org>
28010
28011         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
28012         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
28013         specially.
28014
28015 2004-01-20  Bruno Haible  <bruno@clisp.org>
28016
28017         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
28018         patch.
28019
28020 2004-01-20  Bruno Haible  <bruno@clisp.org>
28021
28022         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
28023
28024 2004-01-20  Bruno Haible  <bruno@clisp.org>
28025
28026         * lib/eealloc.h: New file.
28027
28028 2004-01-20  Bruno Haible  <bruno@clisp.org>
28029
28030         * lib/binary-io.h: Avoid warnings on Cygwin.
28031
28032 2004-01-20  Bruno Haible  <bruno@clisp.org>
28033
28034         * lib/allocsa.h: New file, from GNU gettext.
28035         * lib/allocsa.c: New file, from GNU gettext.
28036
28037 2004-01-18  Karl Berry  <karl@gnu.org>
28038
28039         * doc/gpl.texi, doc/lgpl.texi: new files.
28040
28041 2004-01-18  Karl Berry  <karl@gnu.org>
28042
28043         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
28044         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
28045
28046 2004-01-15  Paul Eggert  <eggert@twinsun.com>
28047
28048         Merge from coreutils.
28049
28050         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
28051         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
28052         (gl_DEFAULT_POSIX2_VERSION): Move
28053         the documentation from 'configure' into 'config.hin',
28054         so that 'configure --help' isn't burdened by it and
28055         we don't have to worry about its formatting there.
28056         Reword the documentation so that it's more succinct
28057         and can be run together into a single paragraph.
28058         * m4/same.m4 (gl_SAME): Check for pathconf.
28059
28060 2004-01-15  Paul Eggert  <eggert@twinsun.com>
28061
28062         Merge from coreutils.
28063
28064         * lib/posixver.c: Include posixver.h.
28065
28066         * lib/same.c: Include <stdbool.h>, <limits.h>.
28067         (_POSIX_NAME_MAX): Define if not defined.
28068         (MIN): New macro.
28069         (same_name): If file names are silently truncated, report
28070         that the file names are the same if they are the same after
28071         the silent truncation.
28072
28073         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
28074         conversion function.
28075         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
28076         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
28077         longer needed.
28078
28079 2004-01-15  Jim Meyering  <jim@meyering.net>
28080
28081         Merge from coreutils.
28082
28083         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
28084         if no library is required.
28085         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
28086         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
28087         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
28088         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
28089         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
28090         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
28091         value, $ac_cv_search_crypt, if it's "none required".
28092         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
28093         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
28094         not gl_FUNC_GETLOADAVG.
28095         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
28096         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
28097
28098 2004-01-15  Jim Meyering  <jim@meyering.net>
28099
28100         Merge from coreutils.
28101
28102         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
28103         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
28104         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
28105
28106         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
28107         optional configure-time default.
28108
28109         * lib/version-etc.c (version_etc_copyright): Update copyright date.
28110
28111         * lib/xreadlink.c (xreadlink): Correct outdated comment.
28112
28113 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
28114
28115         Merge from coreutils.
28116
28117         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
28118         value, $ac_cv_search_nanosleep, if it's "none required".
28119
28120 2004-01-14  Paul Eggert  <eggert@twinsun.com>
28121
28122         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
28123         with like-named macro in fnmatch.c.
28124         (EXT): Use an internal constant instead.
28125
28126         Merge fnmatch patches from glibc.
28127         * lib/fnmatch.c (mbsinit): Remove define.
28128         Add libc_hidden_ver (__fnmatch, fnmatch).
28129         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
28130         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
28131
28132 2004-01-14  Karl Berry  <karl@gnu.org>
28133
28134         * config/install-sh: update from automake.
28135
28136 2004-01-13  Karl Berry  <karl@gnu.org>
28137
28138         * config/install-sh: update from automake.
28139
28140 2004-01-09  Karl Berry  <karl@gnu.org>
28141
28142         * config/install-sh: update from automake.
28143
28144 2004-01-05  Karl Berry  <karl@gnu.org>
28145
28146         * config/config.{sub,guess}: update from config.
28147
28148 2003-12-31  Karl Berry  <karl@gnu.org>
28149
28150         * config/depcomp: update from automake.
28151
28152 2003-12-14  Karl Berry  <karl@gnu.org>
28153
28154         * lib/config.charset: update from gettext-runtime.
28155
28156 2003-12-03  Paul Eggert  <eggert@twinsun.com>
28157
28158         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
28159         Bug reported by Alfred M. Szmidt.
28160
28161 2003-12-03  Bruno Haible  <bruno@clisp.org>
28162
28163         * m4/gettext.m4: Upgrade from gettext-0.13.
28164         * m4/po.m4: Upgrade from gettext-0.13.
28165         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
28166         * m4/intmax.m4: New file, from gettext-0.13.
28167         * m4/printf-posix.m4: New file, from gettext-0.13.
28168
28169 2003-11-29  Karl Berry  <karl@gnu.org>
28170
28171         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
28172
28173 2003-11-25  Paul Eggert  <eggert@twinsun.com>
28174             Bruno Haible  <bruno@clisp.org>
28175
28176         * lib/printf-parse.h: Don't include sys/types.h.
28177         (ARG_NONE): New macro.
28178         (char_directive): Change type of *arg_index fields to size_t.
28179         * lib/printf-parse.c: Don't include sys/types.h.
28180         (SSIZE_MAX): Remove macro.
28181         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
28182         Remove unnecessary overflow check.
28183         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
28184         fields.
28185
28186 2003-11-25  Bruno Haible  <bruno@clisp.org>
28187
28188         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
28189
28190 2003-11-25  Bruno Haible  <bruno@clisp.org>
28191
28192         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
28193         gt_TYPE_SSIZE_T.
28194
28195 2003-11-24  Paul Eggert  <eggert@twinsun.com>
28196
28197         * modules/alloca: Remove dependency on xalloc.
28198
28199 2003-11-24  Paul Eggert  <eggert@twinsun.com>
28200
28201         * lib/alloca.c: Remove dependency on xalloc module.
28202         (xalloc_die): Remove.
28203         (memory_full) [!defined emacs]: New macro.
28204         [!defined emacs]: Don't include xalloc.h.
28205         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
28206         address arithmetic overflows.  Change datatypes a bit to avoid
28207         unnecessary casts.
28208
28209 2003-11-22  Jim Meyering  <jim@meyering.net>
28210
28211         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
28212         s/size/size_t/.
28213
28214 2003-11-21  Karl Berry  <karl@gnu.org>
28215
28216         * config/config.{sub,guess}: update from config.
28217
28218 2003-11-18  Karl Berry  <karl@gnu.org>
28219
28220         * config/config.{sub,guess}: update from config.
28221
28222         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
28223
28224 2003-11-17  Paul Eggert  <eggert@twinsun.com>
28225
28226         * README: Mention that S+T cannot overflow if S is the size of
28227         an existing object and T is sufficiently small.
28228
28229 2003-11-17  Jim Meyering  <jim@meyering.net>
28230
28231         On systems without utime and without a utimes function capable of
28232         dealing with a NULL struct utimbuf* argument, this utime replacement
28233         could -- in unusual circumstances -- leak a file descriptor.
28234         * lib/utime.c: Include <unistd.h> and <errno.h>.
28235         (utime_null): Be sure to close `fd' and to preserve errno.
28236         Reported by Geoff Collyer via Arnold Robbins.
28237
28238 2003-11-17  Bruno Haible  <bruno@clisp.org>
28239
28240         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
28241         (Depends-on): Add xsize.
28242
28243 2003-11-17  Bruno Haible  <bruno@clisp.org>
28244
28245         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
28246
28247 2003-11-17  Bruno Haible  <bruno@clisp.org>
28248
28249         * lib/vasnprintf.c (alloca): Remove fallback definition.
28250         (freea): Remove definition.
28251         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
28252         Reported by Paul Eggert.
28253
28254 2003-11-16  Paul Eggert  <eggert@twinsun.com>
28255             Bruno Haible  <bruno@clisp.org>
28256
28257         Protect against address arithmetic overflow.
28258         * lib/printf-args.h: Include stddef.h.
28259         (arguments): Change type of field 'count' to size_t.
28260         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
28261         'unsigned int' where appropriate.
28262         * lib/printf-parse.h: Include sys/types.h.
28263         (char_directive): Change type of *arg_index fields to ssize_t.
28264         (char_directives): Change type of fields 'count', max_*_length to
28265         size_t.
28266         * lib/printf-parse.c: Include sys/types.h and xsize.h.
28267         (SSIZE_MAX): Define fallback value.
28268         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
28269         instead of 'int' where appropriate. Check a_allocated, d_allocated
28270         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
28271         * lib/vasnprintf.c: Include xsize.h.
28272         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
28273         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
28274         overflow. Avoid wraparound when converting a width or precision from
28275         decimal to binary.
28276
28277 2003-11-16  Bruno Haible  <bruno@clisp.org>
28278
28279         Update from GNU gettext.
28280         * lib/printf-parse.c: Generalize to it can be compiled for wide
28281         strings.
28282         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
28283         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
28284         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
28285         SNPRINTF): New macros.
28286         Don't include <alloca.h> if the file is used inside libintl.
28287         (local_wcslen): New function, for Solaris 2.5.1.
28288         (VASNPRINTF): Use it instead of wcslen.
28289
28290 2003-11-16  Bruno Haible  <bruno@clisp.org>
28291
28292         * lib/xsize.h (xmax): New function.
28293         (xsum, xsum3, xsum4): Declare as "pure" functions.
28294
28295 2003-11-12  Paul Eggert  <eggert@twinsun.com>
28296
28297         * modules/xalloc (Files): Undo latest change, since xalloc.h
28298         no longer needs SIZE_MAX or PTRDIFF_MAX.
28299
28300 2003-11-12  Paul Eggert  <eggert@twinsun.com>
28301
28302         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
28303         gl_PTRDIFF_MAX.
28304
28305 2003-11-12  Paul Eggert  <eggert@twinsun.com>
28306
28307         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
28308         "return", to pacify some unknown compiler.  Problem reported
28309         by Joerg Schilling.
28310
28311 2003-11-12  Paul Eggert  <eggert@twinsun.com>
28312
28313         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
28314         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
28315         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
28316         heuristic is just as accurate as far as we know, and it removes a
28317         dependency on size_max.m4 and ptrdiff_max.m4.
28318
28319 2003-11-11  Bruno Haible  <bruno@clisp.org>
28320
28321         * modules/xsize (Files): Add m4/size_max.m4.
28322         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
28323
28324 2003-11-11  Bruno Haible  <bruno@clisp.org>
28325
28326         * m4/size_max.m4: New file.
28327         * m4/ptrdiff_max.m4: New file.
28328         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
28329         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
28330         (gl_XALLOC): Invoke it.
28331
28332 2003-11-11  Bruno Haible  <bruno@clisp.org>
28333
28334         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
28335         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
28336         defined.
28337
28338 2003-11-10  Paul Eggert  <eggert@twinsun.com>
28339
28340         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
28341         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
28342         rejected some allocations of exactly SIZE_MAX - 2 bytes.
28343         From Bruno Haible.
28344         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
28345         not (size_t) -1, since it's defined here.
28346
28347 2003-11-09  Karl Berry  <karl@gnu.org>
28348
28349         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
28350
28351 2003-11-06  Paul Eggert  <eggert@twinsun.com>
28352
28353         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
28354         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
28355         Reject sizes of exactly SIZE_MAX bytes.
28356         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
28357         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
28358
28359 2003-11-05  Bruno Haible  <bruno@clisp.org>
28360
28361         * lib/xsize.h: Include limits.h, to avoid a possible collision with
28362         SIZE_MAX defined in <limits.h> on Solaris.
28363
28364 2003-11-04  Jim Meyering  <jim@meyering.net>
28365
28366         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
28367         variable names, rather than @VAR@.
28368         * modules/poll: Likewise.
28369
28370 2003-11-04  Bruno Haible  <bruno@clisp.org>
28371
28372         * modules/xsize: New file.
28373         * modules/linebreak: Depend on xsize.
28374         * MODULES.html.sh (func_all_modules): Add xsize.
28375
28376 2003-11-04  Bruno Haible  <bruno@clisp.org>
28377
28378         * m4/xsize.m4: New file.
28379
28380 2003-11-04  Bruno Haible  <bruno@clisp.org>
28381
28382         * lib/xsize.h: New file.
28383         * lib/linebreak.c: Include xsize.h.
28384         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
28385         argument for overflow.
28386         Suggested by Paul Eggert.
28387
28388 2003-11-03  Karl Berry  <karl@gnu.org>
28389
28390         * config/config.{guess,sub}: update from config.
28391
28392 2003-11-03  Jim Meyering  <jim@meyering.net>
28393
28394         * modules/userspec (lib_SOURCES): Add userspec.h.
28395         (Include): Add "userspec.h".
28396         Improve description.
28397
28398 2003-11-03  Jim Meyering  <jim@meyering.net>
28399
28400         * lib/userspec.c: Include "userspec.h".
28401         * lib/userspec.h: New file.
28402
28403 2003-11-03  Bruno Haible  <bruno@clisp.org>
28404
28405         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
28406
28407 2003-11-03  Bruno Haible  <bruno@clisp.org>
28408
28409         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
28410         available, to avoid (extremely rare) race condition.
28411         Suggested by Paul Eggert.
28412
28413 2003-11-02  Karl Berry  <karl@gnu.org>
28414
28415         * config/srclist.txt (vasprintf.c): sync broken, sigh.
28416
28417 2003-10-31  Paul Eggert  <eggert@twinsun.com>
28418
28419         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
28420         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
28421         (read_filesystem_list): Set and use me_type_malloced.
28422         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
28423         whatever the type happens to be), for brevity and consistency.
28424         Check for size calculation overflow on Alphas running OSF/1.
28425
28426 2003-10-31  Jim Meyering  <jim@meyering.net>
28427
28428         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
28429
28430         * lib/linebuffer.c: Include <string.h> for declaration of memset.
28431
28432 2003-10-30  Paul Eggert  <eggert@twinsun.com>
28433             Bruno Haible  <bruno@clisp.org>
28434
28435         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
28436         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
28437
28438 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
28439
28440         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
28441         netbsd*-gnu*.  Suggested by Robert Millan.
28442
28443 2003-10-29  Paul Eggert  <eggert@twinsun.com>
28444
28445         * modules/group-member: Depend on stdbool.
28446
28447 2003-10-29  Paul Eggert  <eggert@twinsun.com>
28448
28449         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
28450
28451 2003-10-29  Paul Eggert  <eggert@twinsun.com>
28452
28453         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
28454         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
28455         after the 'gnu' in these cases.  This fixes some bugs in the
28456         previous change, and is based on suggestions by Robert Millan.
28457
28458 2003-10-29  Paul Eggert  <eggert@twinsun.com>
28459
28460         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
28461         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
28462         no longer needed.
28463         * lib/quotearg.c (quotearg_n_options): Use it.
28464         * lib/group-member.c: Include <stdbool.h>.
28465         (free_group_info): Arg is now const *; don't free arg.
28466         (get_group_info): Now returns bool and accepts struct group_info *,
28467         rather than returning a malloc'ed struct group_info *.
28468         All uses changed.  Check for overflow in internal size calculation.
28469
28470         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
28471         rather than xmalloc/xrealloc.
28472         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
28473         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
28474         conformance bug: the old code used a pointer after freeing the
28475         storage that it addressed.
28476         * lib/hash.c (hash_initialize): Simplify the code by using
28477         xalloc_oversized rather than doing it by hand.
28478         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
28479         the buffer preserved.  Use free and xmalloc instead.
28480         * lib/quotearg.c (quotearg_n_options): Likewise.
28481         Use a simpler test for size overflow.  Don't use xalloc_oversized
28482         because unsigned int might be wider than size_t (!); this suggests
28483         that we should switch from unsigned int to size_t for slot numbers.
28484
28485 2003-10-28  Paul Eggert  <eggert@twinsun.com>
28486
28487         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
28488         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
28489         NetBSD kernels.  Requested by Richard Stallman.
28490
28491 2003-10-27  Paul Eggert  <eggert@twinsun.com>
28492
28493         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
28494         to allocate the returned structure.  Do not allocate a subarray,
28495         as x2nrealloc will do that.
28496         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
28497         instead of xnrealloc.
28498         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
28499
28500 2003-10-27  Bruno Haible  <bruno@clisp.org>
28501
28502         * lib/stdbool_.h: Better support for BeOS.
28503
28504 2003-10-26  Paul Eggert  <eggert@twinsun.com>
28505
28506         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
28507         now uses inline.
28508
28509 2003-10-26  Paul Eggert  <eggert@twinsun.com>
28510
28511         * lib/xalloc.h (xalloc_oversized): New static inline function, for
28512         callers that want to do their own size-overflow checking.  Include
28513         <stdbool.h>, since xalloc_oversized returns bool.
28514         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
28515         to use xalloc_oversized.
28516
28517         Add two functions x2realloc, x2nrealloc, for programs that grow
28518         arrays dynamically by doubling their sizes.
28519         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
28520         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
28521         New functions.
28522
28523         Port to C99 semantics for 'inline' of external functions.
28524         Bug reported by Bruno Haible.
28525         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
28526         with the old contents of xnmalloc.
28527         (xnmalloc, xmalloc): Use it.
28528         (xnrealloc_inline): New static inline function,
28529         with the old contents of xnrealloc.
28530         (xnrealloc, xrealloc): Use it.
28531
28532         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
28533         that.
28534
28535 2003-10-26  Karl Berry  <karl@gnu.org>
28536
28537         * config/srclist.txt (COPYING.DOC): no longer available from
28538         /gd/gnuorg; don't know where the ultimate source is.
28539
28540 2003-10-25  Paul Eggert  <eggert@twinsun.com>
28541
28542         Fix several address-calculation bugs in the hash modules,
28543         plus some minor code cleanup.
28544
28545         * lib/hash.h: Include <stdbool.h>, for bool.
28546         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
28547         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
28548         hash_get_n_entries, hash_get_max_bucket_length,
28549         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
28550         hash_rehash): Use size_t rather than unsigned.
28551         * lib/hash.c (struct hash_table, hash_get_n_buckets,
28552         hash_get_n_buckets_used, hash_get_n_entries,
28553         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
28554         hash_get_entries, hash_do_for_each, hash_string, is_prime,
28555         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
28556         Likewise.
28557         (SIZE_MAX): Define if not defined.
28558         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
28559         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
28560         hash_print):
28561         Use const * when possible.
28562         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
28563         (check_tuning): Fix bug: if tuning parameters were very close to
28564         0 or 1, rounding errors could have caused subscript violations.
28565         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
28566         (hash_initialize): Add 'fail:' label
28567         to free table and return NULL, and use it to simplify code.
28568         Use calloc rather than clearing the storage ourself.
28569         (hash_initialize, hash_rehash): Check for arithmetic overflow in
28570         buffer size calculations.
28571         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
28572         Include <stddef.h>, for size_t.
28573         * lib/hash-pjw.c (hash_pjw): Likewise.
28574         Switch to method described by Bruno Haible.
28575         Include <limits.h>, for CHAR_BIT.
28576         (SIZE_BITS): New macro.
28577
28578 2003-10-23  Paul Eggert  <eggert@twinsun.com>
28579
28580         * m4/getline.m4 (AM_FUNC_GETLINE):
28581         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
28582         hosts.  Problem reported by Derek Robert Price in
28583         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
28584         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
28585         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
28586
28587 2003-10-21  Paul Eggert  <eggert@twinsun.com>
28588
28589         * lib/getndelim2.c (getndelim2): When size calculation overflows,
28590         ceiling the allocation at NMAX bytes rather than silently
28591         discarding input bytes before NMAX is reached.  This makes
28592         a difference only if NMAX exceeds SIZE_MAX / 2.
28593
28594         * lib/obstack.c: Merge from glibc.
28595         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
28596         Add libc_hidden_def (_obstack_newchunk).
28597         (_obstack_free) [! defined _LIBC]: Remove.
28598         [defined _LIBC]: Make a strong alias from obstack_free, rather than
28599         a clone of the function body.
28600         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
28601         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
28602
28603         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
28604         glibc.
28605         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
28606         arg to memcpy.
28607
28608         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
28609         (obstack_ptr_grow_fast, obstack_int_grow_fast):
28610         Don't use lvalue casts, as GCC plans to remove support for them
28611         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
28612         was also present in the non-GCC version, indicating that this
28613         code had always been buggy and had never been widely used.
28614         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
28615         Use the fast variant of each macro, rather than copying the
28616         definiens of the fast variant; that way, we'll be more likely to
28617         catch future bugs in the fast variants.
28618
28619 2003-10-20  Bruno Haible  <bruno@clisp.org>
28620
28621         * modules/wait-process: New file.
28622         * MODULES.html.sh (func_all_modules): Add wait-process.
28623
28624 2003-10-20  Bruno Haible  <bruno@clisp.org>
28625
28626         * m4/wait-process.m4: New file.
28627
28628 2003-10-20  Bruno Haible  <bruno@clisp.org>
28629
28630         * lib/wait-process.h: New file, from GNU gettext.
28631         * lib/wait-process.c: New file, from GNU gettext.
28632
28633 2003-10-19  Jim Meyering  <jim@meyering.net>
28634
28635         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
28636         HPUX 10.20.
28637
28638 2003-10-18  Karl Berry  <karl@gnu.org>
28639
28640         * config/config.guess: update from config.
28641
28642 2003-10-16  Paul Eggert  <eggert@twinsun.com>
28643
28644         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
28645         (getgroups): First arg is int, not size_t.
28646         Don't let 'free' mangle errno.
28647
28648 2003-10-16  Paul Eggert  <eggert@twinsun.com>
28649
28650         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
28651
28652 2003-10-16  Karl Berry  <karl@gnu.org>
28653
28654         * config/config.{guess,sub}: update from config.
28655
28656 2003-10-16  Jim Meyering  <jim@meyering.net>
28657
28658         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
28659         memcpy.
28660
28661 2003-10-15  Paul Eggert  <eggert@twinsun.com>
28662
28663         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
28664         (SIZE_MAX): Remove.
28665         (new_exclude, add_exclude_file): Initial size no longer needs to
28666         be a power of 2.
28667         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
28668         our own address arithmetic overflow checking.
28669
28670         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
28671         (fnmatch): Do not alloca more than 2000 wide characters;
28672         instead, use malloc for large buffers.
28673         Check for address arithmetic overflow, and return -1
28674         with errno set to ENOMEM in that case.
28675         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
28676         (NEW_PATTERN): Do not alloca more than 8000 bytes;
28677         instead, return -1.  Check for address arithmetic overflow.
28678
28679 2003-10-14  Paul Eggert  <eggert@twinsun.com>
28680
28681         Handle invalid suffixes and overflow independently, so that
28682         callers can treat them independently as needed.  Fix some bugs in
28683         suffix handling, e.g., "100k@" was not diagnosed as an invalid
28684         suffix for a human-readable blocksize.  The major caller-visible
28685         change is the addition of a new
28686         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
28687         that both overflow and suffix chars were found.
28688
28689         * lib/human.c (humblock): Don't check separately for invalid suffix
28690         char; that is xstrtoumax's job (now that its bug is fixed).
28691         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
28692         INTMAX_MAX]: New macros.
28693         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
28694         TYPE_MAXIMUM): New macros.
28695         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
28696         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
28697         if overflow occurs, as it's what __strtol does and it's more useful
28698         in practice.
28699         (__xstrtol): If __strtol reports some error other than ERANGE,
28700         reflect it to the caller as LONGINT_INVALID.  If it reports
28701         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
28702         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
28703         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
28704         value.
28705         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
28706         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
28707         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
28708         [defined UINTMAX_MAX]: New macros.
28709
28710 2003-10-14  Bruno Haible  <bruno@clisp.org>
28711
28712         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
28713
28714 2003-10-14  Bruno Haible  <bruno@clisp.org>
28715
28716         * m4/sig_atomic_t: New file, from GNU gettext.
28717         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
28718
28719 2003-10-14  Bruno Haible  <bruno@clisp.org>
28720
28721         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
28722         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
28723         Also use volatile where needed.
28724
28725 2003-10-12  Paul Eggert  <eggert@twinsun.com>
28726
28727         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
28728         Change maintainer from Bruno Haible to 'all'.
28729
28730 2003-10-12  Paul Eggert  <eggert@twinsun.com>
28731
28732         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
28733
28734 2003-10-12  Paul Eggert  <eggert@twinsun.com>
28735
28736         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
28737         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
28738         and define in terms of the other primitives.
28739         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
28740         (SIZE_MAX): Define if not already defined.
28741         (array_size_overflow): New function.
28742         (xalloc_die): Abort instead of exiting if 'error' returns.
28743         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
28744         (xmalloc, xrealloc): Use them.
28745         (xcalloc): Check for address arithmetic overflow.
28746         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
28747         a bit faster than strcpy.
28748
28749 2003-10-10  Simon Josefsson  <jas@extundo.com>
28750
28751         * modules/argp (Depends-on): Add restrict and strcase.
28752
28753 2003-10-10  Simon Josefsson  <jas@extundo.com>
28754
28755         * m4/argp.m4: Add AC_C_INLINE.
28756
28757 2003-10-08  Paul Eggert  <eggert@twinsun.com>
28758
28759         Merge getpass from libc, plus a few fixes.
28760
28761         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
28762         Include <stdbool.h>.
28763         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
28764         __fsetlocking to empty.
28765         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
28766         do include <bits/libc-lock.h>.
28767         Do not include <fcntl.h>; not needed.
28768         [_LIBC]: Include <wchar.h>.
28769         (NOTCANCEL_MODE): New macro.
28770         (flockfile, funlockfile) [_LIBC]: New macros.
28771         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
28772         [!_LIBC]: New macros.
28773         (call_fclose): New function.
28774         (getpass): Use it.  Save tty stream separately; this simplifies the
28775         code and makes it more reliable if stdin happens to equal stdout.
28776         Invoke __fsetlocking on tty.
28777         Handle thread cancellation if needed.
28778         Namespace cleanup (use __tcgetattr, __getline).
28779         Use bool for Booleans.
28780         [USE_IN_LIBIO]: Handle wide streams.
28781         [!_LIBC]: Unconditionally do the fseek, since we don't know what
28782         stream might go where.
28783
28784         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
28785         doesn't have to include <stdio.h> before us.
28786         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
28787         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
28788         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
28789         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
28790         if not declared, so that we can use getpass.c code from libc without
28791         rewriting it.
28792         (flockfile, ftrylockfile, funlockfile): New macros.
28793
28794 2003-10-08  Paul Eggert  <eggert@twinsun.com>
28795
28796         * modules/getpass: Depend on stdbool.
28797
28798 2003-10-08  Paul Eggert  <eggert@twinsun.com>
28799
28800         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
28801
28802 2003-10-07  Karl Berry  <karl@gnu.org>
28803
28804         * config/config.{guess,sub}: update from config.
28805
28806 2003-10-06  Jim Meyering  <jim@meyering.net>
28807             Bruno Haible  <bruno@clisp.org>
28808
28809         This lets translators provide better translations for the
28810         "Written by ..." part of --version output.
28811         * lib/version-etc.h: Include stdarg.h.
28812         (version_etc_copyright): Declare as readonly.
28813         (version_etc): Make this function variadic with a NULL-terminated list
28814         of author name strings.
28815         (version_etc_va): New declaration.
28816         * lib/version-etc.c: Include stdarg.h, stdlib.h.
28817         (version_etc_copyright): Declare as readonly.
28818         (version_etc_va): New function. Provide a different translatable string
28819         for each possible number of authors < 10. Abbreviate when there are 10
28820         authors or more.
28821         (version_etc): Make this function variadic. Call version_etc_va.
28822         Suggestion from Gary V. Vaughan.
28823
28824         * lib/long-options.h (parse_long_options): Change prototype: the
28825         authors string is moved to the end and becomes variadic.
28826         * lib/long-options.c: Include stdarg.h.
28827         (parse_long_options): Make this function variadic, too.
28828         Call version_etc_va, not version_etc.
28829
28830 2003-10-06  Bruno Haible  <bruno@clisp.org>
28831
28832         * modules/version-etc-2: Remove file.
28833         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
28834
28835 2003-10-06  Bruno Haible  <bruno@clisp.org>
28836
28837         * modules/fatal-signal: New file.
28838         * MODULES.html.sh (func_all_modules): Add fatal-signal.
28839
28840 2003-10-06  Bruno Haible  <bruno@clisp.org>
28841
28842         * m4/fatal-signal.m4: New file.
28843         * m4/signalblocking.m4: New file, from GNU gettext.
28844
28845 2003-10-06  Bruno Haible  <bruno@clisp.org>
28846
28847         * lib/version-etc-2.h: Remove file.
28848         * lib/version-etc-2.c: Remove file.
28849
28850 2003-10-06  Bruno Haible  <bruno@clisp.org>
28851
28852         * lib/fatal-signal.h: New file, from GNU gettext.
28853         * lib/fatal-signal.c: New file, from GNU gettext.
28854
28855 2003-10-05  Paul Eggert  <eggert@twinsun.com>
28856
28857         * README: Rework advice for preventing empty .o files.
28858         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
28859         not <sys/types.h>.
28860
28861 2003-10-04  Karl Berry  <karl@gnu.org>
28862
28863         * lib/argp*: update from libc.
28864
28865 2003-10-04  Karl Berry  <karl@gnu.org>
28866
28867         * config/config.{guess,sub}: update from config.
28868
28869 2003-10-02  Bruno Haible  <bruno@clisp.org>
28870
28871         * modules/lchown (Include): Add lchown.h.
28872         * modules/time_r (Include): Use "..." syntax.
28873         * modules/xgetdomainname (Include): Add xgetdomainname.h.
28874
28875 2003-10-01  Simon Josefsson  <jas@extundo.com>
28876
28877         * MODULES.html.sh (func_all_modules): Move gethostname from section
28878         'based on' to section 'lacking' POSIX:2001.
28879
28880 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
28881
28882         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
28883         to output mode on the same stream.
28884
28885 2003-09-29  Paul Eggert  <eggert@twinsun.com>
28886
28887         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
28888         Fix arg typo in previous patch.
28889
28890 2003-09-28  Jim Meyering  <jim@meyering.net>
28891
28892         * lib/error.c: Correct cpp indentation.
28893
28894 2003-09-27  Paul Eggert  <eggert@twinsun.com>
28895
28896         * modules/free: New file.
28897
28898 2003-09-27  Paul Eggert  <eggert@twinsun.com>
28899
28900         * m4/free.m4: New file.
28901
28902 2003-09-27  Paul Eggert  <eggert@twinsun.com>
28903
28904         * lib/minmax.h (MIN, MAX)
28905         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
28906         Omit the special code that used __typeof__, since we worry that
28907         it could be more trouble than it's worth.  See:
28908         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
28909         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
28910
28911         * lib/free.c: New file.
28912
28913 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
28914
28915         Trivial fixes to Makefile.am parts of module listings.
28916         * modules/strstr: Append strstr.h to lib_SOURCES.
28917         * modules/strcase: Likewise, for strcase.h.
28918
28919 2003-09-27  Karl Berry  <karl@gnu.org>
28920
28921         * config/mkinstalldirs: update from automake.
28922
28923 2003-09-26  Paul Eggert  <eggert@twinsun.com>
28924
28925         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
28926         (error_tail): Do not loop, reallocating temporary buffer, since
28927         the output cannot contain more wide characters than the input
28928         contains bytes, the size must be big enough already.  This avoids
28929         one potential size overflow calculation.  Check for size overflow
28930         when calculating temporary buffer size.  Free temporary buffer
28931         when done, if it was allocated with malloc; this plugs a memory
28932         leak.  Remove casts from void * to pointers, that are no longer
28933         needed now that we're assuming C89 or better.
28934
28935         Merge error changes from glibc.
28936
28937         * lib/error.c, error.h: Update copyright notice header to match glibc.
28938         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
28939         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
28940         Disable cancellation while printing error.
28941         * lib/error.h: Prepend __ to parameter names.
28942
28943 2003-09-26  Jim Meyering  <jim@meyering.net>
28944
28945         * lib/error.c (error_tail): Move some declarations
28946         into inner scope where the local variables are used.
28947
28948 2003-09-26  Bruno Haible  <bruno@clisp.org>
28949
28950         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
28951         stpncpy().
28952         Don't define stpncpy through config.h; it's now done through stpncpy.h.
28953
28954 2003-09-26  Bruno Haible  <bruno@clisp.org>
28955
28956         * lib/stpncpy.h (gnu_stpncpy): New declaration.
28957         (stpncpy): Define as alias for gnu_stpncpy.
28958         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
28959
28960 2003-09-25  Simon Josefsson  <jas@extundo.com>
28961
28962         * lib/xgetdomainname.h: New file.
28963         * lib/xgetdomainname.c: New file.
28964
28965 2003-09-25  Simon Josefsson  <jas@extundo.com>
28966             Bruno Haible  <bruno@clisp.org>
28967
28968         * modules/getdomainname: New file.
28969         * modules/xgetdomainname: New file.
28970         * MODULES.html.sh (func_all_modules): Add getdomainname,
28971         xgetdomainname.
28972
28973 2003-09-25  Simon Josefsson  <jas@extundo.com>
28974             Bruno Haible  <bruno@clisp.org>
28975
28976         * m4/getdomainname.m4: New file.
28977
28978 2003-09-25  Simon Josefsson  <jas@extundo.com>
28979             Bruno Haible  <bruno@clisp.org>
28980
28981         * lib/getdomainname.h: New file.
28982         * lib/getdomainname.c: New file.
28983
28984 2003-09-25  Karl Berry  <karl@gnu.org>
28985
28986         * lib/argp-fmtstream.c, argp-help.c: update from libc.
28987
28988 2003-09-25  Karl Berry  <karl@gnu.org>
28989
28990         * config/install-sh: update from automake.
28991
28992 2003-09-25  Bruno Haible  <bruno@clisp.org>
28993
28994         * modules/version-etc-2: New file, from modules/version-etc with
28995         modifications.
28996         * MODULES.html.sh (func_all_modules): Add version-etc-2.
28997
28998 2003-09-25  Bruno Haible  <bruno@clisp.org>
28999
29000         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
29001         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
29002
29003 2003-09-24  Simon Josefsson  <jas@extundo.com>
29004
29005         * modules/xgethostname: Add xgethostname.h.
29006
29007 2003-09-24  Paul Eggert  <eggert@twinsun.com>
29008
29009         * lib/linebuffer.c (freebuffer): Don't free the argument, just
29010         the buffer associated with the argument.  Bug reported by
29011         Simon Josefsson.
29012
29013 2003-09-24  Paul Eggert  <eggert@twinsun.com>
29014
29015         * README: Document assumptions that 'int' is at least 32 bits
29016         wide, that integer arithmetic is 2's complement without overflow,
29017         that there are no holes in integer values, that adding sizes of
29018         two nonoverlapping objects can't overflow, and that all-bits-zero
29019         yields scalar zero.  Fix spelling and capitalization typos.
29020
29021 2003-09-19  Karl Berry  <karl@gnu.org>
29022
29023         * lib/argp.h: update from libc.
29024
29025 2003-09-17  Paul Eggert  <eggert@twinsun.com>
29026
29027         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
29028         to avoid spurious warnings like "AC_RUN_IFELSE was called before
29029         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
29030
29031 2003-09-17  Paul Eggert  <eggert@twinsun.com>
29032
29033         * gnulib-tool: Use "test -h", not "test -L", for portability
29034         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
29035         (tags_regexp): Remove, since \| doesn't conform to POSIX.
29036         (sed_extract_prog): Issue s commands one-by-one, rather than
29037         using \| in one s command.
29038
29039 2003-09-16  Paul Eggert  <eggert@twinsun.com>
29040
29041         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
29042         input error, instead of returning NULL the next time we are called
29043         (and therefore losing track of errno).
29044
29045 2003-09-16  Bruno Haible  <bruno@clisp.org>
29046
29047         * gnulib-tool (func_create_testdir): Warn about duplicated
29048         dependencies.
29049
29050 2003-09-15  Paul Eggert  <eggert@twinsun.com>
29051
29052         * modules/argmatch, modules/fatal, modules/obstack,
29053         modules/xalloc, modules/xgethostname: Sort dependencies by
29054         importance, not alphabetically.
29055
29056 2003-09-15  Paul Eggert  <eggert@twinsun.com>
29057
29058         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
29059         fails, so that the caller gets the proper errno.
29060
29061         * lib/readutmp.c (read_utmp): Likewise.
29062         Check for fstat error.  Close stream and free storage
29063         when failing.
29064
29065 2003-09-14  Karl Berry  <karl@gnu.org>
29066
29067         * config/srclist.txt (strdup.c): disable for c89 changes.
29068
29069 2003-09-14  Jim Meyering  <jim@meyering.net>
29070
29071         * lib/getloadavg.c: Correct cpp indentation.
29072         * lib/strdup.c: Likewise.
29073         * lib/vasnprintf.c: Likewise.
29074
29075 2003-09-14  Bruno Haible  <bruno@clisp.org>
29076
29077         * modules/fwriteerror: New file.
29078         * MODULES.html.sh (func_all_modules): Add fwriteerror.
29079
29080 2003-09-14  Bruno Haible  <bruno@clisp.org>
29081
29082         * lib/fwriteerror.h: New file.
29083         * lib/fwriteerror.c: New file.
29084
29085 2003-09-12  Paul Eggert  <eggert@twinsun.com>
29086
29087         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
29088         modules/xgethostname, modules/xalloc: Depend on exit.
29089
29090 2003-09-12  Paul Eggert  <eggert@twinsun.com>
29091
29092         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
29093
29094         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
29095         and AC_MINIX, too, so that their extensions are available.
29096
29097         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
29098         This macro has been superseded by gl_BACKUPFILE.
29099
29100         More patches to assume C89 or better.
29101
29102         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
29103
29104         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
29105         unconditionally.
29106         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
29107         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
29108         Include <string.h>, <stdlib.h> unconditionally.
29109         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
29110         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
29111         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
29112         headers or for string.h.
29113         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
29114         or strtoul.
29115
29116         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
29117         headers.
29118         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
29119         * m4/userspec.m4 (gl_USERSPEC): Likewise.
29120         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
29121         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
29122         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
29123         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
29124         memcpy, memset.
29125         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
29126         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
29127         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
29128         strtol.
29129         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
29130         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
29131         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
29132         strtoul.
29133
29134 2003-09-12  Paul Eggert  <eggert@twinsun.com>
29135
29136         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
29137         * lib/obstack.c [!defined _LIBC]: Likewise.
29138         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
29139         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
29140         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
29141
29142         More changes to assume C89 or better.
29143
29144         * lib/error.c (error_tail): Assume vprintf.
29145
29146         * lib/argmatch.c (getenv): Remove decl.
29147         * lib/progreloc.c (get_full_program_name): Define via prototype.
29148         * lib/setenv.c (clearenv): Likewise.
29149         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
29150         needed.
29151         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
29152         (malloc, memcpy): Remove decls.
29153         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
29154         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
29155         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
29156         (memcpy): Remove macro.
29157         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
29158         (__P): Remove.  All uses removed.
29159         (PTR): Remove.  All uses changed to void *.
29160         (CHAR_BIT, NULL): Remove.
29161         (spaces, zeros, memset_space, memset_zero)
29162         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
29163         Remove.
29164         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
29165         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
29166         Define with prototype.
29167         Remove now-unnecessary prototype decl.
29168         (extra_args_spec): Assume ANSI C.  All uses changed.
29169         (extra_args_spec_iso): Remove.
29170         (my_strftime, emacs_strftimeu): Define via prototype.
29171         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
29172         unconditionally.
29173         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
29174         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
29175         (strtoul, strtol): Remove decls.
29176         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
29177         LONG_MAX): Remove.
29178         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
29179         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
29180         (LOCALE_PARAM_PROTO): New macro.
29181         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
29182         (INTERNAL (strtol), strtol): Define with a prototype.
29183         (PARAMS): Remove.  All uses removed.
29184         * lib/tempname.c: Include <string.h> unconditionally.
29185         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
29186         * lib/xgethostname.c (main): Define with a prototype.
29187         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
29188         Include <stdlib.h> unconditionally.
29189         (calloc, malloc, realloc, free): Remove decls.
29190         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
29191         Include <stdlib.h> unconditionally.  Sort include file names.
29192         (strtod): Remove.
29193         (xstrtod): Define with a prototype.
29194         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
29195         (strtol, strtoul): Remove decls.
29196
29197 2003-09-11  Paul Eggert  <eggert@twinsun.com>
29198
29199         More patches to assume C89 or better.
29200         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
29201         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
29202         string.h, memchr, STDC_HEADERS.
29203
29204 2003-09-11  Paul Eggert  <eggert@twinsun.com>
29205
29206         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
29207         Include <stdlib.h>, <string.h> unconditionally.
29208         Remove now-unnecessary cast to char *.
29209         * lib/strnlen.c: Include <string.h> unconditionally.
29210         * lib/yesno.c (yesno): Define with a prototype.
29211
29212 2003-09-11  Bruno Haible  <bruno@clisp.org>
29213
29214         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
29215
29216 2003-09-10  Jim Meyering  <jim@meyering.net>
29217
29218         * lib/error.c: Correct indentation of cpp directives.
29219
29220 2003-09-10  Bruno Haible  <bruno@clisp.org>
29221
29222         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
29223         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
29224         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
29225         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
29226         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
29227         <stdlib.h> and <string.h> checks.
29228         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
29229         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
29230
29231 2003-09-10  Bruno Haible  <bruno@clisp.org>
29232
29233         * lib/strcspn.c: Include <string.h> unconditionally.
29234         * lib/strpbrk.c: Include <string.h> unconditionally.
29235         * lib/strstr.c: Include <string.h> unconditionally.
29236         * lib/unicodeio.c: Include <string.h> unconditionally.
29237         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
29238         * lib/unsetenv.c: Likewise.
29239         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
29240         * lib/yesno.c: Include <stdlib.h> unconditionally.
29241         (rpmatch): Add prototype.
29242
29243 2003-09-09  Paul Eggert  <eggert@twinsun.com>
29244
29245         More patches to assume C89 or better.
29246         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
29247         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
29248         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
29249         or for string.h.
29250         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
29251         stdlib.h.
29252         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
29253         C headers.
29254         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
29255         string.h.
29256         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
29257         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
29258         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
29259         or for string.h.
29260         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
29261         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
29262         C headers.
29263         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
29264         memcpy.
29265         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
29266         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
29267         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
29268         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
29269         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
29270         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
29271         string.h, free.
29272         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
29273         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
29274         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
29275         C headers, or for string.h.
29276         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
29277         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
29278         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
29279         headers, memory.h, stdlib.h, string.h, strings.h.
29280         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
29281         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
29282         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
29283         strchr.
29284         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
29285         headers, memory.h, string.h.
29286         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
29287         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
29288         free.
29289         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
29290         headers.
29291         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
29292         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
29293         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
29294         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
29295         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
29296
29297 2003-09-09  Paul Eggert  <eggert@twinsun.com>
29298
29299         More K&R removal.
29300
29301         * lib/acosl.c (main): Use a prototype.
29302         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
29303         tanl.c: Likewise.
29304
29305         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
29306
29307         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
29308         (getopt, etopt_long, getopt_long_only, _getopt_internal)
29309         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
29310         with a prototype.
29311         * lib/getopt.c (const): Remove macro.
29312         Include <string.h> unconditionally.
29313         (my_index): Remove; all uses changed to strchr.
29314         (strlen): Remove decl.
29315         (exchange): Remove forward decl; no longer needed.
29316         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
29317         Define with prototype.
29318         * lib/getopt1.c (const): Remove macro.
29319         (getopt_long, getopt_long_only, main): Define with prototype.
29320
29321         * lib/getugroups.c: Include <string.h> unconditionally.
29322
29323         * lib/getusershell.c: Include <stdlib.h> unconditionally.
29324         (getusershell, setusershell, endusershell, readname, main):
29325         Define with prototypes.
29326
29327         * lib/group-member.c: Include group-member.h first.
29328         Include <stdlib.h> unconditionally.
29329
29330         * lib/hard-locale.c: Include hard-locale.h first.
29331         Include <stdlib.h>, <string.h> unconditionally.
29332
29333         * lib/hash.c (free, malloc): Remove decls.
29334         Include <stdlib.h> unconditionally.
29335
29336         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
29337         (getenv): Do not declare.
29338
29339         * lib/idcache.c: Include <string.h> unconditionally.
29340
29341         * lib/long-options.c: Include long-options.h first, to test interface.
29342         Include <stdlib.h> unconditionally.
29343
29344         * lib/makepath.c: Include makepath.h first, to test interface.
29345         Include <stdlib.h> and <string.h> unconditionally.
29346
29347         * lib/linebuffer.c: Include <stdlib.h>.
29348         (free): Remove decl.
29349
29350         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
29351         stddef.h. rpl_malloc returns void *, not char *.
29352         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
29353         prototype.
29354
29355         * lib/md5.h: Include <limits.h> unconditionally.
29356         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
29357         (__P): Remove; all uses removed.
29358         * lib/md5.c: Include "md5.h" first.
29359         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
29360         md5_buffer, md5_process_bytes, md5_process_block):
29361         Define with prototypes.
29362         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
29363         * lib/sha.c: Include "sha.h" first.
29364         Include <stdlib.h>, <string.h> unconditionally.
29365
29366         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
29367         * lib/memcmp.c (__ptr_t): Likewise.
29368         * lib/memrchr.c (__ptr_t): Likewise.
29369         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
29370         Include <string.h> unconditionally.
29371         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
29372         * lib/memchr.c: Include <stdlib.h> unconditionally.
29373         * lib/memchr.c (LONG_MAX): Remove.
29374         * lib/memrchr.c (LONG_MAX): Likewise.
29375         * lib/memchr.c (__memchr): Define via a prototype.
29376         * lib/memrchr.c (__memrchr): Likewise.
29377         * lib/memcmp.c (__P): Remove, and remove all uses.
29378         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
29379         Remove forward decls; no longer needed.
29380         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
29381         Use types required by C89 in prototype.
29382
29383         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
29384         * lib/savedir.c: Likewise.
29385         * lib/mkdir.c (free): Remove decl.
29386         * lib/rmdir.c (rmdir): Define with a prototype.
29387         * lib/savedir.c: Include savedir.h first, to test interface.
29388
29389         * lib/mktime.c (STDC_HEADERS): Remove.
29390         Include <stdlib.h>, <string.h> unconditionally.
29391
29392         * lib/modechange.c: Include <stdlib.h> unconditionally.
29393         (malloc): Remove decl.
29394
29395         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
29396         (free): Remove decl.
29397
29398         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
29399         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
29400         (This type really should be intptr_t, but that's a C99ism.)
29401         (_obstack_memcpy): Remove: all uses changed to memcpy.
29402         Include <string.h> unconditionally.
29403         (struct obstack): Assume __STDC__ for types of members
29404         chunkfun, freefun, extra_arg.
29405         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
29406         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
29407         obstack_begin, obstack_specify_allocation,
29408         obstack_specify_allocation_with_arg, obstack_chunkfun,
29409         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
29410         Remove unprototyped decls and the macros that use them.
29411         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
29412         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
29413         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
29414         (defined __STDC__ && __STDC__)]:
29415         Remove nonprototyped code.
29416         Include <stdlib.h> unconditionally.
29417         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
29418         _obstack_allocated_p, _obstack_free, obstack_free,
29419         _obstack_memory_used, print_and_abort):
29420         Define using prototypes.
29421         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
29422         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
29423         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
29424         obstack_next_free, obstack_object_size, obstack_room) [0]:
29425         Remove unused, unprototyped code.
29426
29427         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
29428
29429         * lib/physmem.c (physmem_total, physmem_available, main): Define
29430         with prototypes.
29431
29432         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
29433         (main): Define with a prototype.
29434
29435         * lib/posixver.c (getenv): Remove decl.
29436
29437         * lib/putenv.c (malloc): Returns void *, not char *.
29438         Include <string.h> unconditionally.
29439         (strchr, memcpy, NULL): Do not define.
29440
29441         * lib/readtokens.c: Include readtokens.h first, to test interface.
29442         Include <stdlib.h>, <string.h> unconditionally.
29443         (init_tokenbuffer): Define with a prototype.
29444
29445         * lib/regex.c (PARAMS): Remove.  All uses removed.
29446         All uses of _RE_ARGS removed, too.
29447         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
29448         unconditionally.
29449         (bzero): Assume memset exists.
29450         (memcmp, memcpy, NULL): Remove.
29451         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
29452         char, or assignments to local vars of type signed char.
29453         (init_syntax_once, PREFIX(extract_number_and_incr),
29454         PREFIX(print_partial_compiled_pattern),
29455         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
29456         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
29457         PREFIX(regex_grow_registers), PREFIX(regex_compile),
29458         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
29459         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
29460         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
29461         wcs_compile_range, byte_compile_range, truncate_wchar,
29462         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
29463         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
29464         count_mbs_length, wcs_re_match_2_internal,
29465         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
29466         PREFIX(alt_match_null_string_p),
29467         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
29468         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
29469         regfree, PREFIX(extract_number)): Define with prototype.  Remove
29470         now-unnecessary declaration, if any.
29471         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
29472         regcomp, regexec):
29473         Remove now-unnecessary casts among pointer types.
29474         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
29475
29476         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
29477         (free): Remove decl.
29478
29479         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
29480
29481         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
29482         (free): Remove decl.
29483
29484         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
29485         * lib/xgetcwd.c: Likewise.
29486
29487         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
29488         (free): Remove decl.
29489
29490         * lib/strchrnul.c (strchrnul): Define with a prototype.
29491         Fix bug: c_in was not converted to char before searching.
29492
29493         The following changes are not K&R related:
29494
29495         * lib/group-member.h: Include <sys/types.h>, so that this file is
29496         self-contained.
29497         * lib/makepath.h: Likewise.
29498
29499         * lib/getusershell.c (readname, default_index, line_size, readname):
29500         Use size_t, not int, for sizes.
29501         (readname): If the size overflows, report an error instead of
29502         looping forever.
29503
29504 2003-09-09  Paul Eggert  <eggert@twinsun.com>
29505
29506         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
29507         libc.
29508
29509 2003-09-09  Paul Eggert  <eggert@twinsun.com>
29510
29511         * README: New section: portability guidelines.
29512
29513 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
29514
29515         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
29516         C89 spec.
29517
29518 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
29519
29520         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
29521
29522 2003-09-08  Paul Eggert  <eggert@twinsun.com>
29523
29524         Assume C89 or better; remove K&R cruft.
29525         A few of these changes were first proposed by Derek Robert Price
29526         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
29527
29528         * lib/addext.c: Include <string.h> unconditionally.
29529         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
29530         Don't declare getenv or malloc.
29531
29532         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
29533         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
29534         (NULL): Remove.
29535         (find_stack_direction, alloca): Use prototypes.
29536
29537         * lib/atexit.c (atexit): Define using a prototype.
29538
29539         * lib/basename.c, dirname.c, stripslash.c:
29540         Include <string.h> unconditionally.
29541
29542         * lib/bcopy.c: Include <stddef.h>.
29543         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
29544
29545         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
29546
29547         * lib/error.h (error, error_at_line, error_print_progname)
29548         [! (defined (__STDC__) && __STDC__)]: Remove decls.
29549         * lib/error.c: Include error.h first, to check interface.
29550         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
29551         (VA_START): Remove; all uses changeed to va_start.
29552         (exit, strerror): Remove decls.
29553         (error_print_progname): Prototype uncondionally.
29554         Don't include <errno.h>; no longer needed.
29555         (private_strerror): Remove.
29556         (error_tail): Always define.
29557         (error, error_at_line): Assume C89 or better; always use prototypes.
29558         * lib/fatal.c: Include "fatal.h" first, to test interface.
29559         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
29560         (VA_START): Remove; all uses changed to va_start.
29561         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
29562         this case.
29563         (exit): Remove decl.
29564         (fatal): Prototype unconditionally.  Assume va_start works.
29565         Abort at end, to pacify gcc.
29566
29567         * lib/euidaccess.c (main): Define with a prototype.
29568
29569         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
29570
29571         * lib/exitfail.c: Include <stdlib.h> unconditionally.
29572
29573         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
29574         prototypes.
29575         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
29576         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
29577         (getenv): Remove decl.
29578         (fnmatch): Define using a prototype.
29579         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
29580         (FCT): Define using a prototype.
29581
29582         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
29583
29584         * lib/gethostname.c: Include <stddef.h>.
29585         (gethostname): Define with prototype.  Length is size_t, not int.
29586
29587 2003-09-08  Paul Eggert  <eggert@twinsun.com>
29588
29589         Assume C89 or better; remove K&R cruft.
29590         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
29591         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
29592         string.h, getenv, malloc.
29593         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
29594         headers.
29595         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
29596         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
29597         do not check for strerror.
29598         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
29599         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
29600         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
29601         do not check for doprnt or vprintf.
29602         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
29603         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
29604
29605 2003-09-08  Paul Eggert  <eggert@twinsun.com>
29606
29607         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
29608         getversion.c should have been removed then, but was accidentally
29609         preserved.
29610
29611         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
29612         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
29613
29614 2003-09-08  Karl Berry  <karl@gnu.org>
29615
29616         * config/config.sub, config.guess, srclistvars.sh: update from savannah
29617                 config, forget about prep.
29618
29619         * config/depcomp, missing: update from automake.
29620
29621 2003-09-07  Paul Eggert  <eggert@twinsun.com>
29622
29623         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
29624         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
29625
29626 2003-09-07  Paul Eggert  <eggert@twinsun.com>
29627
29628         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
29629         copy_tm_result.  Bug reported by Simon Josefsson in
29630         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
29631
29632 2003-09-06  Paul Eggert  <eggert@twinsun.com>
29633
29634         * m4/time_r.m4: New file.
29635         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
29636         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
29637         is. Check for timegm declaration.
29638         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
29639         Do not check for gmtime_r.
29640         Replace mktime if __mktime_internal does not exist and if mktime
29641         hasn't been replaced already.
29642
29643 2003-09-06  Paul Eggert  <eggert@twinsun.com>
29644
29645         * lib/time_r.c, lib/time_r.h: New files.
29646
29647         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
29648         __localtime_r.
29649         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
29650         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
29651
29652         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
29653         __gmtime_r.
29654         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
29655         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
29656         Include <time_r.h>.
29657
29658         * lib/timegm.c: Switch to glibc implementation, with the following
29659         changes:
29660         [defined HAVE_CONFIG_H]: Include <config.h>.
29661         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
29662         (__mktime_internal) [!defined _LIBC]: New decl.
29663         (__gmtime_r) [!defined _LIBC]: New macro and function.
29664         (timegm): Use a prototype, since gnulib assumes C89.
29665         Do not bother declaring tmp to be const, as it's not really usefu.
29666         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
29667         (timegm): Declare only if HAVE_DECL_TIMEGM.
29668
29669 2003-09-06  Paul Eggert  <eggert@twinsun.com>
29670
29671         * MODULES.html.sh (func_all_modules): Add time_r.
29672         * modules/time_r: New file.
29673         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
29674         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
29675
29676 2003-09-03  Paul Eggert  <eggert@twinsun.com>
29677
29678         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
29679         Bug reported by Lute Kamstra in
29680         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
29681
29682         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
29683         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
29684         course with correspondingly smaller numbers for tomorrow and
29685         yesterday.  From Tadayoshi Funaba.  Originally installed into
29686         sh-utils on 1999-08-07, but the patch got lost (I guess during the
29687         coreutils merge?).
29688
29689 2003-08-31  Simon Josefsson  <jas@extundo.com>
29690
29691         * modules/timegm: New file.
29692         * MODULES.html.sh (func_all_modules): Add timegm.
29693
29694 2003-08-31  Simon Josefsson  <jas@extundo.com>
29695
29696         * m4/timegm.m4: New file.
29697
29698 2003-08-31  Simon Josefsson  <jas@extundo.com>
29699
29700         * lib/timegm.h: New file.
29701         * lib/timegm.c: New file.  Based on
29702         wget-1.8.2/src/http.c:mktime_from_utc.
29703
29704 2003-08-31  Karl Berry  <karl@gnu.org>
29705
29706         * lib/argp.h: update from libc.
29707
29708 2003-08-28  Bruno Haible  <bruno@clisp.org>
29709
29710         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
29711         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
29712         followed by '#define fnmatch fnmatch_posix' gives an error.
29713
29714 2003-08-28  Bruno Haible  <bruno@clisp.org>
29715
29716         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
29717         warning on QNX, which defines O_BINARY to 000000.
29718
29719 2003-08-27  Jim Meyering  <jim@meyering.net>
29720
29721         * m4/mkstemp.m4: Require that the system mkstemp be able to create
29722         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
29723         would fail after 32.  Reported by Danny Levinson.  Details here:
29724         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
29725
29726 2003-08-24  Bruno Haible  <bruno@clisp.org>
29727
29728         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
29729         MSVC7 <stdio.h> is included later.
29730
29731 2003-08-22  Simon Josefsson  <jas@extundo.com>
29732
29733         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
29734
29735 2003-08-20  Karl Berry  <karl@gnu.org>
29736
29737         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
29738
29739 2003-08-20  Bruno Haible  <bruno@clisp.org>
29740
29741         * modules/progname: New file.
29742         * MODULES.html.sh (func_all_modules): Add progname.
29743
29744 2003-08-20  Bruno Haible  <bruno@clisp.org>
29745
29746         * lib/progname.h: New file, from GNU gettext.
29747         * lib/progname.c: New file, from GNU gettext.
29748         * lib/progreloc.c: New file, from GNU gettext.
29749
29750 2003-08-19  Jim Meyering  <jim@meyering.net>
29751
29752         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
29753         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
29754
29755 2003-08-19  Bruno Haible  <bruno@clisp.org>
29756
29757         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
29758         more.
29759
29760 2003-08-19  Bruno Haible  <bruno@clisp.org>
29761
29762         * lib/xstrdup.c: Assume <string.h> exists.
29763
29764 2003-08-18  Paul Eggert  <eggert@twinsun.com>
29765
29766         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
29767         in makefile rules.
29768
29769 2003-08-18  Jim Meyering  <jim@meyering.net>
29770
29771         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
29772         * m4/lib-ld.m4: Likewise.
29773
29774 2003-08-18  Jim Meyering  <jim@meyering.net>
29775
29776         * lib/setenv.h: Indent nested cpp directive.
29777         * lib/vasnprintf.c: Remove trailing blanks.
29778
29779 2003-08-17  Simon Josefsson  <jas@extundo.com>
29780
29781         * modules/xstrndup: New file.
29782         * MODULES.html.sh (func_all_modules): Add xstrndup.
29783
29784 2003-08-17  Simon Josefsson  <jas@extundo.com>
29785
29786         * modules/argp: Fix autoconf macro name. Add more dependencies.
29787
29788 2003-08-17  Simon Josefsson  <jas@extundo.com>
29789
29790         * m4/xstrndup.m4: New file.
29791
29792 2003-08-17  Simon Josefsson  <jas@extundo.com>
29793
29794         * m4/argp.m4: New file.
29795
29796 2003-08-17  Simon Josefsson  <jas@extundo.com>
29797             Bruno Haible  <bruno@clisp.org>
29798
29799         * lib/xstrndup.h: New file.
29800         * lib/xstrndup.c: New file.
29801
29802 2003-08-17  Bruno Haible  <bruno@clisp.org>
29803
29804         * modules/strndup (Files, Include): Add lib/strndup.h.
29805
29806 2003-08-17  Bruno Haible  <bruno@clisp.org>
29807
29808         * modules/euidaccess (Files): Add lib/euidaccess.h.
29809
29810 2003-08-17  Bruno Haible  <bruno@clisp.org>
29811
29812         * lib/strndup.h: New file.
29813
29814 2003-08-17  Bruno Haible  <bruno@clisp.org>
29815
29816         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
29817         like AC_GNU_SOURCE.
29818         * modules/extensions (configure.ac): Comment out the invocation of
29819         gl_USE_SYSTEM_EXTENSIONS.
29820
29821 2003-08-16  Paul Eggert  <eggert@twinsun.com>
29822
29823         Merges from coreutils, etc.
29824         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
29825         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
29826         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
29827         fixing a typo.
29828         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
29829         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
29830
29831 2003-08-16  Paul Eggert  <eggert@twinsun.com>
29832
29833         Document merge from coreutils.
29834         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
29835         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
29836         * modules/utime: Add m4/utimes-null.m4.
29837
29838 2003-08-16  Paul Eggert  <eggert@twinsun.com>
29839
29840         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
29841         space, undoing this 2003-08-12 change:
29842         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
29843
29844 2003-08-16  Paul Eggert  <eggert@twinsun.com>
29845
29846         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
29847         strtoul.c from libc, undoing this 2003-08-12 change:
29848         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
29849
29850 2003-08-16  Jim Meyering  <jim@meyering.net>
29851
29852         Merges from coreutils.
29853         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
29854         prefix.  Adjust cache variables similarly.  Create 500 rather than
29855         just 300 files, to exercise bug on Darwin6.5, too.
29856         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
29857         $missing_dir.
29858         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
29859         AM_SYS_POSIX_TERMIOS.
29860         Reported by mkc@mathdogs.com.
29861         Also change use of $am_cv_sys_posix_termios
29862         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
29863         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
29864         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
29865         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
29866         in /proc/mounts until it finds one with matching device number.  This
29867         is unnecessary when the FILE argument *is* a mount point.  No stat call
29868         is necessary in that case.  So, disable the statvfs-testing code on
29869         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
29870         as RedHat bug# 84846.
29871         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
29872         to 1MB, so as not to render systems with no stack size limit (e.g.,
29873         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
29874         Include <unistd.h>.  On some systems,
29875         it is required for the definition of _SC_PAGESIZE.
29876
29877 2003-08-16  Jim Meyering  <jim@meyering.net>
29878
29879         Merge from coreutils.
29880         * lib/xstrtoimax.c: #else #if -> #elif.
29881         * lib/xstrtoumax.c: Likewise.
29882
29883 2003-08-16  Jim Meyering  <jim@meyering.net>
29884
29885         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
29886         * m4/utimes.m4: Removed.
29887         * m4/utimes-null.m4: Renamed from utimes.m4.
29888
29889         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
29890         to 1MB, so as not to render systems with no stack size limit (e.g.,
29891         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
29892         Include <unistd.h>.  On some systems,
29893         it is required for the definition of _SC_PAGESIZE.
29894
29895 2003-08-16  Jim Meyering  <jim@meyering.net>
29896         and Paul Eggert  <eggert@cs.ucla.edu>
29897
29898         Merges from coreutils, etc.
29899
29900         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
29901         using the latest version from cvs.  This avoids problems with #line
29902         directives using a vendor (Sun) compiler.
29903         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
29904         Don't set GETGROUPS_LIB here; now it's
29905         done via getgroups.m4's wrapper function.
29906         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
29907         rather than just in sh-util/configure.in, so that the
29908         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
29909         same.
29910         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
29911         AC_FUNC_GETLOADAVG where to find getloadavg.c.
29912         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
29913         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
29914         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
29915         Remove code that is now done by the newly-required macros.
29916         Append $(EXEEXT) to DF_PROG.
29917         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
29918         Do not invoke or require the following here,
29919         since prereq.m4 or some gnulib .m4 now does this for us:
29920         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
29921         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
29922         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
29923         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
29924         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
29925         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
29926         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
29927         AC_FUNC_OBSTACK.
29928         Do not replace the following functions, as this is now the job
29929         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
29930         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
29931         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
29932         atexit getpass, strdup, getpagesize.
29933         Replace 'raise'.
29934         Do not check for the following functions, as this is now the job
29935         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
29936         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
29937         setregid.
29938         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
29939         Check for sys/sysctl.h.
29940         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
29941         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
29942         of checking for ssize_t ourselves.
29943
29944         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
29945         Require every macro that gnulib/modules/* suggests for us.
29946         (jm_PREREQ_ADDEXT): New macro.
29947         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
29948         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
29949
29950         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
29951         (gl_PHYSMEM): Use it.
29952         Also check for `table' function.
29953         Check for new headers and functions.
29954         Add check for sys/sysmp.h.
29955         With suggestions from Kaveh Ghazi.
29956         Ignore headers that are present but cannot be compiled.  This
29957         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
29958         C 5.4.
29959
29960 2003-08-15  Paul Eggert  <eggert@twinsun.com>
29961
29962         Document merge from coreutils.
29963         * modules/userspec: Depend on posixver.
29964         * modules/strftime: Depend on tzset.
29965
29966 2003-08-15  Paul Eggert  <eggert@twinsun.com>
29967
29968         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
29969         rather than tab, after '#' in shell-script copyright notices.
29970         Suggested by Bruno Haible.
29971
29972 2003-08-15  Paul Eggert  <eggert@twinsun.com>
29973
29974         * config/srclist-update: Use three spaces, rather than tab, after '#'
29975         in shell-script copyright notices.  Suggested by Bruno Haible.
29976         Remove unnecessary parenthesization in regular expression.
29977
29978 2003-08-15  Jim Meyering  <jim@meyering.net>
29979
29980         Merge from coreutils.
29981         * lib/xgethostname.c: Include <stdlib.h>.
29982         (xghostname): Don't exit for anything other than memory-related
29983         failure; just return NULL.
29984         * lib/userspec.c: Include "posixver.h".
29985         (parse_user_spec): Accept `.' as a separator only
29986         in pre-POSIX-200112 mode.
29987         * lib/strtoimax.c: Use #elif rather than #else #if.
29988         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
29989         Remove function, now that we can rely on a working tzset function.
29990         [!_LIBC]: Ensure that the required autoconf test has been run.
29991         [!defined _NL_CURRENT && HAVE_STRFTIME]:
29992         Use underlying_strftime for %r.
29993         * lib/sha.c: Merge in some clean-up and optimization changes from
29994         glibc.
29995         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
29996         Ensure that it is a multiple of 64.
29997         Rearrange loop exit tests so as to avoid performing an
29998         additional fread after encountering an error or EOF.
29999         * lib/realloc.c: Update copyright date.
30000
30001 2003-08-15  Jim Meyering  <jim@meyering.net>
30002         and Paul Eggert  <eggert@twinsun.com>
30003
30004         Merge from coreutils.
30005         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
30006         member but strut utmpx does not.  Needed for AIX 4.3.3.
30007         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
30008
30009 2003-08-15  Jim Meyering  <jim@meyering.net>
30010         and Paul Eggert  <eggert@cs.ucla.edu>
30011
30012         Merges from coreutils, etc.
30013         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
30014         Require gl_FUNC_TZSET_CLOBBER.
30015         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
30016         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
30017         members.
30018
30019 2003-08-14  Paul Eggert  <eggert@twinsun.com>
30020
30021         Help the merge from coreutils.
30022         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
30023         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
30024         * m4/tzset.m4: Use it too.
30025
30026 2003-08-14  Paul Eggert  <eggert@twinsun.com>
30027
30028         * modules/tzset: New file.
30029
30030 2003-08-14  Jim Meyering  <jim@meyering.net>
30031
30032         Merges from coreutils.
30033         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
30034         variable names, rather than @FNMATCH_H@.
30035         * modules/alloca: Likewise for $(ALLOCA_H).
30036
30037         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
30038         the three copies of the literal target, `fnmatch.h'.
30039         * modules/alloca (alloca.h): Likewise.
30040
30041 2003-08-14  Jim Meyering  <jim@meyering.net>
30042
30043         Merge from coreutils.
30044         * m4/tzset.m4: New file.
30045         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
30046         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
30047         otherwise, AIX 5.1 systems would end up using the latter.
30048         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
30049         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
30050         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
30051         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
30052
30053 2003-08-14  Jim Meyering  <jim@meyering.net>
30054
30055         Merge from coreutils.
30056         * lib/obstack.h: Whitespace changes.
30057         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
30058         and xcalloc return values.
30059         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
30060         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
30061         hang on OSF/1 5.1 for DIR on both local and remote file systems.
30062         Reported by (and fix confirmed by) Nelson H. F. Beebe.
30063         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
30064         error from mntctl.
30065         Use mntctl's return value to drive the entry-processing loop, since
30066         we can't rely on the value of the vmt_length member in the last
30067         entry.  On some systems doing so could result in exhausting
30068         virtual memory.  Based in part on a patch from Mike Jetzer.
30069
30070 2003-08-14  Jim Meyering  <jim@meyering.net>
30071         and Paul Eggert  <eggert@twinsun.com>
30072
30073         Merges from coreutils, plus other fixes.
30074         * lib/physmem.c: Merge in portability changes from gcc/libiberty
30075         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
30076         for credits and details.  Thanks to Kaveh Ghazi for helping
30077         to keep these files in sync.
30078         (ARRAY_SIZE): Define it.
30079         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
30080         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
30081         (memcasecmp): Don't assume size_t fits in unsigned int.
30082         Remove casts and duplicate code.
30083         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
30084         (memcpy): Remove definition.
30085         Merge in some clean-up and optimization changes from glibc.
30086         [BLOCKSIZE]: Move definition to top of file.
30087         Ensure that it is a multiple of 64.
30088         Rearrange loop exit tests so as to avoid performing an
30089         additional fread after encountering an error or EOF.
30090         * lib/md5.h (md5_uintptr): Define.
30091         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
30092         return to the initial working directory.  Preserve errno
30093         for caller.
30094         * lib/idcache.c: Include "xalloc.h".
30095         (xmalloc, xrealloc): Remove decls.
30096         (getuser): Remove casts no longer required in C89.
30097         * lib/human.c: Include stdio.h, for sprintf.
30098         * lib/group-member.c: Include "xalloc.h".
30099         (xmalloc, xrealloc): Remove decls.
30100         (get_group_info): Remove casts no longer required in C89.
30101         * lib/getusershell.c (readname): Remove casts no longer required in
30102         C89.
30103         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
30104         * lib/getline.c: Whitespace fix, from coreutils.
30105
30106 2003-08-13  Paul Eggert  <eggert@twinsun.com>
30107
30108         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
30109         Check for isascii.
30110
30111         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
30112         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
30113         Undo previous (whitespace-only) change.
30114
30115 2003-08-13  Paul Eggert  <eggert@twinsun.com>
30116
30117         * lib/exclude.c: Include <ctype.h>
30118         (IN_CTYPE_DOMAIN): New macro.
30119         (is_space): New fn.
30120         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
30121         and empty lines.
30122
30123         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
30124         Undo previous (whitespace-only) change.
30125
30126 2003-08-13  Paul Eggert  <eggert@twinsun.com>
30127
30128         * config/srclist-update: Change update back to the old behavior,
30129         leaving whitespace alone.  Use one 'sed' command rather than a
30130         pipeline.
30131         (fixlicense): Now a variable, not a function.
30132         (remove_trailing_blanks): Remove.
30133         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
30134         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
30135         Undo previous (whitespace-only) change.
30136
30137 2003-08-12  Paul Eggert  <eggert@twinsun.com>
30138
30139         Merge from coreutils.
30140         * modules/euidaccess: Add lib_SOURCES, include for new
30141         file euidaccess.h
30142
30143 2003-08-12  Paul Eggert  <eggert@twinsun.com>
30144
30145         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
30146         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
30147         Normalize leading white space and remove trailing white space.
30148
30149         Merge from coreutils
30150         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
30151
30152         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
30153         0.12.1.  These files are now being upgraded automatically by
30154         ../config/srclist-update.
30155
30156 2003-08-12  Paul Eggert  <eggert@twinsun.com>
30157
30158         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
30159         Normalize leading white space and remove trailing white space.
30160         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
30161         notice, as per ../config/srclist-update.
30162
30163         Merge from coreutils.
30164         * lib/euidaccess.h: New file.
30165         * lib/euidaccess.c: Include it.
30166         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
30167         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
30168         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
30169
30170 2003-08-12  Paul Eggert  <eggert@twinsun.com>
30171
30172         * config/srclist-update: Add copyright notice.
30173         (remove_id_lines, remove_trailing_blanks): New constants.
30174         (fixfile): Use them to normalize spacing a bit in copied files.
30175         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
30176         Normalize leading white space and remove trailing white space.
30177
30178         * config/texinfo.tex: Sync with texinfo.
30179
30180         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
30181         strtoul.c from libc, to merge coreutils whitespace changes.
30182
30183         * config/srclist.txt: Get the following m4 files from gettext:
30184         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
30185         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
30186         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
30187         wint_t.m4.
30188
30189 2003-08-12  Karl Berry  <karl@gnu.org>
30190
30191         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
30192         been made.
30193
30194 2003-08-11  Paul Eggert  <eggert@twinsun.com>
30195
30196         * modules/gnu-source, m4/gnu-source.m4:
30197         Remove; we're assuming Autoconf 2.54 or later now.
30198         Suggested by Bruno Haible.
30199         * MODULES.html.sh (func_all_modules): Remove gnu-source.
30200
30201 2003-08-11  Bruno Haible  <bruno@clisp.org>
30202
30203         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
30204
30205 2003-08-11  Bruno Haible  <bruno@clisp.org>
30206
30207         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
30208         (vasnprintf): Use it instead of wcslen.
30209
30210 2003-08-11  Bruno Haible  <bruno@clisp.org>
30211
30212         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
30213         value to ensure that _Bool promotes to int. Use #define for _Bool when
30214         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
30215
30216 2003-08-10  Karl Berry  <karl@gnu.org>
30217
30218         * lib/regex.h: update from libc (whitespace fix).
30219
30220 2003-08-09  Paul Eggert  <eggert@twinsun.com>
30221
30222         Merge some files from coreutils.  These changes were
30223         originally made by Jim Meyering.
30224         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
30225         many older Unixes require this.
30226         * lib/alloca.c (alloca): Remove cast to argument of free;
30227         no longer needed in C89.
30228         * lib/alloca_.h, regex.h: Fix white space to match
30229         what GNU indent does.
30230
30231 2003-08-09  Paul Eggert  <eggert@twinsun.com>
30232
30233         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
30234         apparently Emacs's Unicode mode got confused before my 2003-08-05
30235         checkin.
30236
30237 2003-08-08  Paul Eggert  <eggert@twinsun.com>
30238
30239         * m4/extensions.m4: New file.
30240         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
30241         Require gl_USE_SYSTEM_EXTENSIONS.
30242         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
30243         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
30244
30245 2003-08-08  Paul Eggert  <eggert@twinsun.com>
30246
30247         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
30248         * modules/extensions, modules/gnu-source: New files.
30249         * modules/timespec, modules/unlocked-io: Depend on extensions.
30250
30251 2003-08-07  Paul Eggert  <eggert@twinsun.com>
30252
30253         * modules/restrict: New file.
30254         * MODULES.html.sh (func_all_modules): Add restrict.
30255         * modules/regex: Depend on restrict.
30256
30257 2003-08-07  Paul Eggert  <eggert@twinsun.com>
30258
30259         * m4/restrict.m4: New file.
30260         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
30261
30262 2003-08-07  Bruno Haible  <bruno@clisp.org>
30263
30264         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
30265         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
30266
30267 2003-08-07  Bruno Haible  <bruno@clisp.org>
30268
30269         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
30270         makes the module 'getndelim2' compatible with the module 'getline'.
30271
30272 2003-08-05  Paul Eggert  <eggert@twinsun.com>
30273
30274         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
30275         byte with "\201" to avoid glitches when editing that source file
30276         with multi-gnome-terminal.
30277
30278 2003-08-05  Paul Eggert  <eggert@twinsun.com>
30279
30280         * lib/bumpalloc.h: Remove.
30281
30282 2003-08-05  Paul Eggert  <eggert@twinsun.com>
30283
30284         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
30285         * modules/bumpalloc: Remove.
30286
30287 2003-08-04  Paul Eggert  <eggert@twinsun.com>
30288
30289         * lib/getloadavg.c: Change copyright notice and spacing to conform to
30290         GNU coding style.
30291
30292         Merge from coreutils.
30293         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
30294         1. From glibc.
30295         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
30296         from Karl Berry, implemented by Jim Meyering.
30297         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
30298         from Dmitry V. Levin.
30299         Remove anachronistic cast of xrealloc.
30300         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
30301         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
30302         type. Otherwise, it wouldn't compile with at least /bin/cc on
30303         ymp-cray-unicos9.0.2.X.
30304         Combine two mostly-identical uses of alloca into one.
30305         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
30306
30307 2003-08-04  Dave Love  <d.love@dl.ac.uk>
30308
30309         [From Emacs.]
30310
30311         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
30312         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
30313         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
30314         obsolete NLIST_NAME_UNION.
30315         [__GNU__]: Undef BSD and FSCALE.
30316         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
30317
30318 2003-08-03  Paul Eggert  <eggert@twinsun.com>
30319
30320         * lib/stdbool_.h (_Bool): Make it signed char, instead of
30321         an enum type, so that it's guaranteed to promote to int.  See:
30322         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
30323
30324 2003-08-03  Karl Berry  <karl@gnu.org>
30325
30326         * config/depcomp: update from automake.
30327
30328 2003-07-31  Paul Eggert  <eggert@twinsun.com>
30329
30330         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
30331         (strerror): Don't assume that a printable int fits in 14 bytes.
30332
30333 2003-07-31  Bruno Haible  <bruno@clisp.org>
30334
30335         * modules/getpass-gnu: New file.
30336         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
30337
30338 2003-07-31  Bruno Haible  <bruno@clisp.org>
30339
30340         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
30341
30342 2003-07-24  Karl Berry  <karl@gnu.org>
30343
30344         * config/missing: update from automake.
30345
30346 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
30347             Bruno Haible  <bruno@clisp.org>
30348
30349         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
30350         * lib/getline.c (getline, getdelim): Likewise.
30351         Remove _GNU_SOURCE define; now it's defined in config.h through
30352         m4/getline.m4.
30353
30354 2003-07-23  Karl Berry  <karl@gnu.org>
30355
30356         * config/config.sub: update from prep.
30357
30358 2003-07-22  Paul Eggert  <eggert@twinsun.com>
30359
30360         * modules/xalloc (Depends-on): Add exitfail.
30361         * modules/xmemcoll: Likewise.
30362
30363 2003-07-22  Paul Eggert  <eggert@twinsun.com>
30364
30365         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
30366         over-parenthesization in macros.
30367
30368         Sync with coreutils.
30369
30370         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
30371         required by C99.
30372
30373         Use `exit_failure' for xalloc and xmemcoll instead of their own
30374         private exit-failure variables.
30375         * lib/xalloc.h (xalloc_exit_failure): Remove.
30376         * lib/xmalloc.c: Likewise.  Include exitfail.h.
30377         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
30378         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
30379         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
30380         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
30381
30382 2003-07-20  Jim Meyering  <jim@meyering.net>
30383
30384         * modules/closeout (Depends-on): Add exitfail.
30385         Suggestion from Bruno Haible.
30386
30387 2003-07-19  Karl Berry  <karl@gnu.org>
30388
30389         * config/config.sub: update from prep.
30390
30391 2003-07-18  Paul Eggert  <eggert@twinsun.com>
30392
30393         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
30394         Remove.
30395         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
30396         to test that it can stand by itself.  Include "exitfail.h".
30397         Clients should set exit_failure instead.
30398         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
30399
30400 2003-07-18  Bruno Haible  <bruno@clisp.org>
30401
30402         * modules/getndelim2: New file.
30403         * modules/getline: Share files with module getndelim2.
30404         * modules/getnline: Depend on getndelim2 instead of sharing files with
30405         it. Add getnline.c to lib_SOURCES.
30406         * MODULES.html.sh (func_all_modules): Add getndelim2.
30407
30408 2003-07-18  Bruno Haible  <bruno@clisp.org>
30409
30410         * m4/getndelim2.m4: New file.
30411         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
30412         invoke gl_PREREQ_GETNDELIM2.
30413         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
30414         gl_PREREQ_GETNDELIM2.
30415         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
30416         gl_GETNDELIM2.
30417
30418 2003-07-18  Bruno Haible  <bruno@clisp.org>
30419
30420         * lib/getndelim2.h: New file.
30421         * lib/getndelim2.c: Make into a module of its own. Include config.h,
30422         getndelim2.h.
30423         (getndelim2): Make non-static. Change return type to ssize_t.
30424         * lib/getline.h: Change argument names.
30425         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
30426         * lib/getnline.c: Include getndelim2.h.
30427
30428 2003-07-18  Andreas Schwab  <schwab@suse.de>
30429
30430         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
30431
30432 2003-07-17  Karl Berry  <karl@gnu.org>
30433
30434         * config/config.sub: update from prep.
30435
30436 2003-07-17  Bruno Haible  <bruno@clisp.org>
30437
30438         * modules/getnline: New file.
30439         * modules/getline: Add lib/getndelim2.c to source file list.
30440         * MODULES.html.sh (func_all_modules): Add getnline.
30441
30442 2003-07-17  Bruno Haible  <bruno@clisp.org>
30443
30444         * m4/getnline.m4: New file.
30445
30446 2003-07-17  Bruno Haible  <bruno@clisp.org>
30447
30448         * m4/Makefile.am.in: Remove file.
30449         * m4/Makefile.am: Remove file.
30450         * m4/Makefile.in: Remove file.
30451
30452 2003-07-17  Bruno Haible  <bruno@clisp.org>
30453
30454         * lib/getnline.h: New file.
30455         * lib/getnline.c: New file.
30456         * lib/getndelim2.c: New file, extracted from getline.c.
30457         (getndelim2): Renamed from getdelim2, with added nmax argument.
30458         * lib/getline.c: Include getndelim2.c.
30459         (getdelim2): Moved out to getndelim2.c.
30460         (getline, getdelim): Update.
30461
30462 2003-07-17  Bruno Haible  <bruno@clisp.org>
30463
30464         * lib/Makefile.am: Remove file.
30465         * lib/Makefile.in: Remove file.
30466
30467 2003-07-17  Bruno Haible  <bruno@clisp.org>
30468
30469         * configure.in: Remove file.
30470         * Makefile.in: Remove file.
30471
30472 2003-07-17  Bruno Haible  <bruno@clisp.org>
30473
30474         * MODULES.html.sh: Put the </BODY> right before </HTML>.
30475
30476 2003-07-16  Karl Berry  <karl@gnu.org>
30477
30478         * config/srclist-update: was running fixlicense twice, which caused
30479                 texinfo.tex to be nullified for some reason.  Simplify,
30480                 $gplsrc is no longer needed as far as I can see?
30481
30482 2003-07-16  Jim Meyering  <jim@meyering.net>
30483
30484         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
30485
30486 2003-07-15  Paul Eggert  <eggert@twinsun.com>
30487
30488         * config/srclist.txt: Get the following files from gettext-runtime/intl
30489         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
30490         ref-del.sin.  From Bruno Haible.
30491         * config/srclist-update (fixfile): Change grep pattern again, since the
30492         previous fix didn't work (there was another trailing $).  Use
30493         '[$]' to escape the $s.
30494
30495 2003-07-15  Karl Berry  <karl@gnu.org>
30496
30497         * lib/vasnprintf.c: update from gettext.
30498
30499 2003-07-15  Karl Berry  <karl@gnu.org>
30500
30501         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
30502         gets expanded when surrounded by '$'.
30503
30504 2003-07-15  Jim Meyering  <jim@meyering.net>
30505
30506         * modules/save-cwd: Don't depend on error.  From Derek Price.
30507
30508 2003-07-15  Jim Meyering  <jim@meyering.net>
30509
30510         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
30511
30512 2003-07-14  Simon Josefsson  <jas@extundo.com>
30513
30514         * modules/mempcpy: New file.
30515         * MODULES.html.sh (func_all_modules): Add mempcpy.
30516
30517 2003-07-14  Simon Josefsson  <jas@extundo.com>
30518
30519         * m4/mempcpy.m4: New file.
30520
30521 2003-07-14  Simon Josefsson  <jas@extundo.com>
30522
30523         * lib/mempcpy.h: New file.
30524         * lib/mempcpy.c: New file.
30525
30526 2003-07-14  Paul Eggert  <eggert@twinsun.com>
30527
30528         * modules/getdate, modules/posixtm: Depend on mktime.
30529
30530 2003-07-14  Paul Eggert  <eggert@twinsun.com>
30531
30532         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
30533         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
30534         unicodeio.c, unicodeio.h, unlocked-io.h:
30535         Switch from LGPL to GPL.
30536
30537 2003-07-14  Paul Eggert  <eggert@twinsun.com>
30538
30539         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
30540         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
30541         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
30542         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
30543         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
30544         updated automatically by ../config/srclist-update.  This changes
30545         their license from LPGL to GPL.
30546
30547 2003-07-14  Paul Eggert  <eggert@twinsun.com>
30548
30549         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
30550         assumed to refer to the root of the most recent stable gettext version.
30551         * config/srclistvars.sh: Add defaults for eggert.
30552         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
30553         Match "This program" as well as "The program".  This is needed
30554         for gettext.
30555
30556 2003-07-14  Jim Meyering  <jim@meyering.net>
30557
30558         Don't emit diagnostics.  Let callers do that.
30559         * lib/save-cwd.c: Don't include "error.h".
30560         (save_cwd): Don't call error.  Ensure that errno is valid
30561         when returning nonzero.
30562
30563         * lib/save-cwd.h (restore_cwd): Update prototype.
30564         * lib/save-cwd.c (restore_cwd): Remove two parameters.
30565         Simplify.  Don't call error upon failure.  Let callers do that.
30566         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
30567         when auditing is enabled.  But don't bother updating the #if.
30568
30569 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
30570
30571         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
30572         it breaks C++ compilation.
30573         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
30574
30575 2003-07-10  Simon Josefsson  <jas@extundo.com>
30576
30577         * modules/strchrnul (Makefile.am): Add strchrnul.h.
30578
30579 2003-07-10  Jim Meyering  <jim@meyering.net>
30580
30581         * m4/clock_time.m4: Remove trailing blank.
30582         * m4/intmax_t.m4: Likewise.
30583
30584 2003-07-10  Jim Meyering  <jim@meyering.net>
30585
30586         * lib/vasnprintf.c: Remove trailing blanks.
30587         Make cpp indentation consistent.
30588
30589 2003-07-09  Paul Eggert  <eggert@twinsun.com>
30590
30591         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
30592         posixver.c, strftime.c, strnlen.c, strverscmp.c:
30593         Switch from LGPL to GPL.
30594
30595 2003-07-09  Paul Eggert  <eggert@twinsun.com>
30596
30597         * config/srclist.txt: Sort sublists.  Add
30598         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
30599         that differ from gnulib for one reason or another; we'd like this list
30600         to be smaller but for now let's document what we have.
30601
30602 2003-07-08  Paul Eggert  <eggert@twinsun.com>
30603
30604         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
30605         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
30606         and sweeter "eval x=$x".
30607         * config/srclist.txt: Get lib/argp* from glibc.
30608
30609 2003-07-07  Paul Eggert  <eggert@twinsun.com>
30610
30611         * lib/mktime.c: Fix some boundary cases and remove need for floating
30612         point.
30613
30614         Issue a compile-time diagnostic if time_t is floating point, or if
30615         two's complement arithmetic is not in effect, or if arithmetic
30616         right shift does not propagate the sign.  These assumptions were
30617         all in the original code but they weren't checked.
30618
30619         (TIME_T_MIDPOINT, verify): New macros.
30620         (__isleap): Remove; it has integer overflow problems.
30621         (leapyear): New function, without those problems.
30622         (ydhms_tm_diff): Remove; splitting into two parts.
30623         (ydhms_diff): New function, containing the arithmetic part of
30624         the old ydhms_tm_diff function.  Issue a compile-time
30625         diagnostic if we are not using C99 integer division.
30626         Avoid casts when possible.
30627         (guess_time_tm): New function, containing the checking part of
30628         the old ydhms_tm_diff function.  Return the new value, rather than
30629         the difference between it and the old.  Accept a new argument T
30630         so that *T specifies the old value.  Check for overflow in the result.
30631
30632         (__mktime_internal): Use a time_t offset, not a long int offset.
30633         This undoes the 2003-06-04 change, which is no longer needed now
30634         that we have better overflow checking.
30635         (localtime_offset): Likewise.
30636
30637         (__mktime_internal): Avoid harmful overflow on hosts where time_t
30638         and long are 64-bit but int is only 32-bit.
30639         (ydhms_diff): Use long int to store year1 and yday1.
30640         Issue a compile-time diagnostic if long int is not wide enough.
30641
30642         (__mktime_internal): Use long int to store adjusted year and yday.
30643         Use plain C rather than preprocessor commands, if that doesn't
30644         affect efficiency.
30645         Check for overflow (and try to repair) after each probe
30646         rather than checking only at the very end.  This avoids some bugs
30647         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
30648         does not equal GMT offset at maximum time).
30649         Use integer to check for overflow rather than floating point; this
30650         is more portable to non-IEEE hosts, and is a tad faster.
30651         When we detect that we are oscillating between two values,
30652         don't check whether tm_isdst has the requested value, since
30653         we already know the answer.  When tm_isdst has the wrong value,
30654         use a different heuristic to find the right one, based on the
30655         extreme values actually observed in practice in tz2003a,
30656         rather than the (overly optimistic) "previous 3 calendar quarters".
30657
30658         (not_equal_tm, print_tm, check_result): Use "const T" rather than
30659         "T const" to accommodate glibc style.
30660         (check_result): Use less-confusing report format.  "long" -> "long int.
30661         (main): Likewise.
30662         Don't loop if the iteration overflows time_t.
30663         Allow a negative step in the iteration.
30664
30665 2003-07-06  Karl Berry  <karl@gnu.org>
30666
30667         * config/depcomp: update from automake.
30668         * config/config.sub: update from prep.
30669
30670 2003-07-03  Karl Berry  <karl@gnu.org>
30671
30672         * config/config.guess: update from prep.
30673
30674 2003-07-01  Paul Eggert  <eggert@twinsun.com>
30675
30676         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
30677         xreadlink.c now includes it unconditionally.
30678
30679 2003-07-01  Paul Eggert  <eggert@twinsun.com>
30680
30681         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
30682         having it depend on HAVE_SYS_TYPES_H.
30683
30684 2003-07-01  Bruno Haible  <bruno@clisp.org>
30685
30686         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
30687         <sys/types.h> should be sufficient.
30688         Reported by Paul Eggert.
30689
30690 2003-06-26  Karl Berry  <karl@gnu.org>
30691
30692         * config/depcomp: update from automake.
30693
30694 2003-06-26  Bruno Haible  <bruno@clisp.org>
30695
30696         * modules/human: Depend on module stdbool.
30697
30698 2003-06-25  Bruno Haible  <bruno@clisp.org>
30699
30700         * modules/readlink: New file.
30701         * modules/xreadlink: Depend on it.
30702         * MODULES.html.sh (func_all_modules): Add readlink.
30703
30704 2003-06-25  Bruno Haible  <bruno@clisp.org>
30705
30706         * m4/readlink.m4: New file.
30707
30708 2003-06-25  Bruno Haible  <bruno@clisp.org>
30709
30710         * lib/readlink.c: New file.
30711
30712 2003-06-22  Karl Berry  <karl@gnu.org>
30713
30714         * config/srclist.txt: update mkinstalldirs from automake.
30715         * config/mkinstalldirs: update.
30716
30717 2003-06-22  Bruno Haible  <bruno@clisp.org>
30718
30719         Portability to mingw32.
30720         * m4/ssize_t.m4: New file, from GNU gettext.
30721         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
30722         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
30723
30724 2003-06-22  Bruno Haible  <bruno@clisp.org>
30725
30726         * modules/safe-read: Add m4/ssize_t.m4.
30727         * modules/xreadlink: Add m4/ssize_t.m4.
30728
30729 2003-06-20  Bruno Haible  <bruno@clisp.org>
30730
30731         Assume C89, so PARAMS isn't needed.
30732         * lib/unicodeio.h (PARAMS): Remove.
30733         * lib/unicodeio.c: Don't use PARAMS.
30734
30735 2003-06-18  Karl Berry  <karl@gnu.org>
30736
30737         * config/config.{guess,sub}: update from prep.
30738
30739 2003-06-18  Jim Meyering  <jim@meyering.net>
30740
30741         Merge changes from coreutils.
30742         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
30743         Remove explicit declarations of xmalloc and realloc.
30744         Include xalloc.h.
30745         (read_utmp): Remove anachronistic cast of xmalloc.
30746
30747 2003-06-17  Paul Eggert  <eggert@twinsun.com>
30748
30749         Assume C89, so PARAMS isn't needed.
30750         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
30751         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
30752         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
30753         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
30754         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
30755         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
30756         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
30757         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
30758         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
30759         lib/xstrtod.h, lib/xstrtol.h: Likewise.
30760         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
30761         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
30762         no longer needed. Anyway, config.h should always be included before any
30763         other file.
30764
30765 2003-06-11  Simon Josefsson  <jas@extundo.com>
30766
30767         * modules/sysexits: New file.
30768         * MODULES.html.sh (func_all_modules): Add sysexits.
30769
30770 2003-06-11  Simon Josefsson  <jas@extundo.com>
30771
30772         * lib/sysexit_.h: New file.
30773
30774 2003-06-11  Derek Price  <derek@ximbiot.com>
30775
30776         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
30777         necessary.
30778
30779 2003-06-11  Bruno Haible  <bruno@clisp.org>
30780
30781         * m4/sysexits.m4: New file.
30782
30783 2003-06-10  Simon Josefsson  <jas@extundo.com>
30784
30785         * lib/argp.h: New file, from glibc.
30786         * lib/argp-ba.c: New file, from glibc.
30787         * lib/argp-eexst.c: New file, from glibc.
30788         * lib/argp-fmtstream.c: New file, from glibc.
30789         * lib/argp-fmtstream.h: New file, from glibc.
30790         * lib/argp-fs-xinl.c: New file, from glibc.
30791         * lib/argp-help.c: New file, from glibc.
30792         * lib/argp-namefrob.h: New file, from glibc.
30793         * lib/argp-parse.c: New file, from glibc.
30794         * lib/argp-pv.c: New file, from glibc.
30795         * lib/argp-pvh.c: New file, from glibc.
30796         * lib/argp-xinl.c: New file, from glibc.
30797
30798 2003-06-10  Simon Josefsson  <jas@extundo.com>
30799
30800         * modules/strchrnul: New file.
30801
30802 2003-06-10  Simon Josefsson  <jas@extundo.com>
30803
30804         * modules/argp: New file.
30805
30806 2003-06-10  Simon Josefsson  <jas@extundo.com>
30807
30808         * m4/strchrnul.m4: New file.
30809
30810 2003-06-10  Simon Josefsson  <jas@extundo.com>
30811
30812         * lib/strchrnul.h: New file.
30813         * lib/strchrnul.c: New file.
30814
30815 2003-06-10  Bruno Haible  <bruno@clisp.org>
30816
30817         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
30818
30819 2003-06-07  Karl Berry  <karl@gnu.org>
30820
30821         * config/config.{guess,sub}: update from prep.
30822
30823 2003-06-07  Jim Meyering  <jim@meyering.net>
30824
30825         * modules/strtod: Use $(...) notation, not @...@ for
30826         AC_REPLACE'd variables.
30827         * modules/localcharset: Likewise.
30828
30829 2003-06-07  Jim Meyering  <jim@meyering.net>
30830
30831         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
30832         in place of my name in the copyright comment.
30833         Remove definition and uses of __P.
30834
30835         From coreutils.
30836         * lib/stat.c: Don't declare xmalloc explicitly.
30837         Instead, include "xalloc.h".
30838         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
30839         xrealloc, and xcalloc return values.
30840         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
30841         Improve comment.
30842         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
30843
30844 2003-06-07  Bruno Haible  <bruno@clisp.org>
30845
30846         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
30847         avoid AC_CONFIG_LINKS.
30848         * modules/fnmatch (Makefile.am): Use explicit creation rule for
30849         fnmatch.h, to avoid AC_CONFIG_LINKS.
30850         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
30851
30852 2003-06-07  Bruno Haible  <bruno@clisp.org>
30853
30854         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
30855         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
30856         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
30857         directory.
30858         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
30859         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
30860         directory.
30861
30862 2003-06-06  Jim Meyering  <jim@meyering.net>
30863
30864         Merge from coreutils.
30865         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
30866         Consolidate declarations and initializations of *_base* locals.
30867
30868         Merge from coreutils.
30869         This avoids a core dump on systems without GNU putenv,
30870         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
30871         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
30872         (unsetenv): New static function, from GNU libc.
30873         (rpl_putenv): Use it.
30874
30875         * lib/modechange.c: Remove trailing blanks.
30876
30877         Merge from coreutils.
30878         * lib/fsusage.c: Remove declaration of statfs.
30879         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
30880
30881         * lib/posixtm.c: Include <stdbool.h> unconditionally.
30882
30883 2003-06-06  Jim Meyering  <jim@meyering.net>
30884
30885         * lib/stdbool_.h: Renamed from stdbool.h.in.
30886
30887 2003-06-06  Jim Meyering  <jim@meyering.net>
30888             Bruno Haible  <bruno@clisp.org>
30889
30890         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
30891         Adjust Makefile.am snippet not to redirect directly to target.
30892         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
30893
30894 2003-06-05  Paul Eggert  <eggert@twinsun.com>
30895
30896         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
30897         mismatch, look in future quarters as well as past.  This fixes a
30898         bug when processing fall-backwards gaps immediately after a long
30899         period of daylight-saving time.
30900
30901         * lib/mktime.c: Assume freestanding C89 or better.
30902         (HAVE_LIMITS_H): Remove.  Assume it's 1.
30903         (__P): Remove; not used.
30904         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
30905         (mktime, not_equal_tm, print_tm, check_result,
30906         main): Use prototypes.  Use const * where appropriate.
30907         (main): Fix typo in testing code that uncovered by above changes.
30908         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
30909
30910 2003-06-04  Paul Eggert  <eggert@twinsun.com>
30911
30912         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
30913         locale.h, localeconv.  This merges changes from coreutils.
30914
30915         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
30916         It can be removed after the next Autoconf is released.
30917         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
30918         needed.
30919
30920 2003-06-04  Paul Eggert  <eggert@twinsun.com>
30921
30922         * lib/mktime.c: Fix Debian bug 177940
30923         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
30924         (localtime_offset): Now long int, not time_t, because we want it
30925         to be guaranteed to be signed.  All uses changed.
30926         (__mktime_internal): If overflow would occur when adding offset,
30927         don't add it.
30928
30929         Merge 'human' changes from coreutils.  Rewrite to support
30930         locale-specific notations like thousands separators.
30931         * lib/human.c: Simplify authorship notice.
30932         Include human.h immediately after config.h.
30933         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
30934         <limits.h>: Do not include, since human.h does.
30935         (SIZE_MAX, UINTMAX_MAX): New macros.
30936         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
30937         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
30938         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
30939         (power_letter): Renamed from suffixes.
30940         (generate_suffix_backwards): Remove.
30941         (adjust_value): Now takes int style (because of human.h changes)
30942         and long double value (for greater precision on some platforms).
30943         (group_number): New function.
30944         (human_readable): Use it.  Use integer options, not enum.
30945         Put the options before the sizes in the arg list.
30946         Support all the new options.
30947         The old human_readable function has been removed;
30948         use inttostr.h instead.
30949         (human_readable, default_block_size, humblock):
30950         Use uintmax_t, not int, for block sizes.
30951         (human_readable_inexact, block_size_types): Remove.
30952         (block_size_opts): New constant.
30953         (human_options): Renamed from human_block_size, with new signature
30954         that allows block sizes up to UINTMAX_MAX.  All callers changed.
30955         * lib/human.h: Add copyright and authorship notice.
30956         Include <limits.h> and <stdbool.h> unconditionally.
30957         (PARAMS): Remove.  All uses removed.
30958         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
30959         (enum human_inexact_style): Remove tag; now a nameless enum.
30960         (human_floor, human_ceiling, human_round_to_even): Now have
30961         values 2, 0, 1 rather than -1, 1, 0.
30962         (human_group_digits, human_suppress_point_zero, human_autoscale,
30963         human_base_1024, human_SI, human_B): New constants.
30964         (human_readable_inexact, human_block_size): Remove.
30965         (human_readable): Size args are now uintmax_t, not int.
30966         (human_options): New decl.
30967
30968         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
30969         unnecessary now that we assume C89 or better.  This change
30970         imported from coreutils.
30971
30972         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
30973         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
30974         in the 2003-05-30 sync from glibc.
30975
30976         .h files should stand alone, but we shouldn't include <sys/types.h>
30977         if we can get away with just <stddef.h>.
30978
30979         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
30980         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
30981         rather than <sys/types.h>, as we merely need size_t.
30982         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
30983         to get size_t.
30984         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
30985         Include <stdio.h>, to get FILE.
30986         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
30987         memcasecmp.h has included <stddef.h> and all we need is size_t.
30988         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
30989         our interface, instead of including <sys/types.h>
30990
30991 2003-06-04  Paul Eggert  <eggert@twinsun.com>
30992
30993         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
30994         now, as glibc mktime is buggy on non-glibc systems.
30995
30996 2003-06-03  Karl Berry  <karl@gnu.org>
30997
30998         * config/config.sub: update from prep.
30999
31000 2003-06-02  Paul Eggert  <eggert@twinsun.com>
31001
31002         [from coreutils]
31003         Fix some minor time-related bugs with POSIX time arguments.
31004         Some valid time stamps were being rejected (notably -1, and
31005         time stamps before 1900 on 64-bit hosts).  And some invalid
31006         time stamps were being accepted, e.g. September 31.
31007
31008         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
31009         that we can return (time_t) -1 successfully.
31010         * lib/posixtm.c: Likewise.
31011         [HAVE_STDBOOL_H]: Include <stdbool.h>.
31012         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
31013         (t): Remove static var.
31014         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
31015         of static var.  All uses changed.
31016         (year): Do not reject years before 1900; they can occur with
31017         64-bit time_t.
31018         (posix_time_parse): Do not check for out-of-range components;
31019         that is now the caller's responsibility, since our checks were
31020         only approximations.
31021         (posixtime): Use mktime to check for out-of-range components,
31022         since it knows them exactly.
31023         If mktime returns (time_t) -1, check whether an error actually occurred
31024         by invoking localtime on -1.
31025         (main) [TEST_POSIXTIME]: Check for input data errors, and report
31026         posixtime failures better.
31027         Improve the test data (in comments only).
31028
31029 2003-06-02  Karl Berry  <karl@gnu.org>
31030
31031         * config/mkinstalldirs (version): new variable.
31032         (--version): new option.
31033         (usage): improve message.
31034
31035 2003-05-30  Karl Berry  <karl@gnu.org>
31036
31037         * lib/mktime.c: update from libc.
31038
31039 2003-05-30  Bruno Haible  <bruno@clisp.org>
31040
31041         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
31042         * config/config.rpath: Upgrade to gettext-0.12.1.
31043
31044 2003-05-30  Bruno Haible  <bruno@clisp.org>
31045
31046         * m4/gettext.m4: Upgrade to gettext-0.12.1.
31047         * m4/nls.m4: New file, from gettext-0.12.1.
31048         * m4/po.m4: New file, from gettext-0.12.1.
31049         * m4/progtest.m4: Upgrade to gettext-0.12.1.
31050
31051 2003-05-30  Bruno Haible  <bruno@clisp.org>
31052
31053         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
31054         * lib/localcharset.h: Likewise.
31055         * lib/localcharset.c: Likewise.
31056
31057 2003-05-29  Karl Berry  <karl@gnu.org>
31058
31059         * config/config.rpath: update from gettext.
31060
31061 2003-05-28  Paul Eggert  <eggert@twinsun.com>
31062
31063         Assume the headers required for C89 freestanding compilers.
31064         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
31065         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
31066         * m4/human.m4 (gl_HUMAN): Likewise.
31067         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
31068         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
31069         * m4/userspec.m4 (gl_USERSPEC): Likewise.
31070         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
31071         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
31072         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
31073
31074 2003-05-28  Paul Eggert  <eggert@twinsun.com>
31075
31076         Assume the headers required for C89 freestanding compilers.
31077         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
31078         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
31079         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
31080         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
31081         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
31082         define, since <limits.h> is guaranteed to do that.
31083         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
31084         * lib/exclude.c: Include <stdbool.h> unconditionally.
31085         * lib/tempname.c: Include <stddef.h> unconditionally.
31086         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
31087         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
31088         <stddef.h> does that.
31089         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
31090         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
31091         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
31092         needed.
31093         * lib/xstrtol.c: Likewise.
31094         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
31095         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
31096
31097         * lib/addext.c (addext): Use assignment rather than cast, to avoid
31098         warnings on some platforms.
31099
31100         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
31101         arbitrarily.
31102
31103 2003-05-26  Jim Meyering  <jim@meyering.net>
31104
31105         Merge in a change from coreutils:
31106         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
31107         that is guaranteed to be `no'.  Use `no_such_member' to indicate
31108         that condition, rather than `-1' which is slightly misleading.
31109         Change the name of the cache variable to have the gl_ prefix.
31110         Prompted by a patch from Richard Dawe for DJGPP.
31111
31112 2003-05-24  Karl Berry  <karl@gnu.org>
31113
31114         * config/config.guess: update from prep.
31115
31116 2003-05-22  Karl Berry  <karl@gnu.org>
31117
31118         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
31119
31120 2003-05-20  Karl Berry  <karl@gnu.org>
31121
31122         * config/config.guess: update from prep.
31123
31124 2003-05-18  Karl Berry  <karl@gnu.org>
31125
31126         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
31127         might actually be set by the user.
31128
31129         * config/depcomp, install-sh, mdate-sh: update from automake.
31130
31131 2003-05-17  Bruno Haible  <bruno@clisp.org>
31132
31133         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
31134         invalid expansion for AC_EGREP_CPP.
31135         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
31136         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
31137         Suggested by Akim Demaille <akim@epita.fr> in
31138         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
31139
31140 2003-05-12  Jim Meyering  <jim@meyering.net>
31141
31142         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
31143         the space-padded-by-default conversion specifiers, %e, %k, %l.
31144
31145 2003-05-12  Bruno Haible  <bruno@clisp.org>
31146
31147         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
31148         the string is longer than 4 KB.
31149
31150 2003-05-11  Karl Berry  <karl@gnu.org>
31151
31152         * config/config.{guess,sub}: update from prep.
31153
31154 2003-05-09  Bruno Haible  <bruno@clisp.org>
31155
31156         * modules/error: Add m4/strerror_r.m4 to file list.
31157
31158 2003-05-03  Bruno Haible  <bruno@clisp.org>
31159
31160         Upgrade to Unicode-4.0.
31161         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
31162         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
31163         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
31164         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
31165         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
31166         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
31167         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
31168         Change width of U+E0100..U+E01EF from 1 to 0.
31169
31170 2003-04-25  Jim Meyering  <jim@meyering.net>
31171
31172         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
31173         of type size_t, not int.
31174
31175 2003-04-25  Bruno Haible  <bruno@clisp.org>
31176
31177         * lib/copy-file.c: Include <stddef.h>, for size_t.
31178
31179 2003-04-21  Paul Eggert  <eggert@twinsun.com>
31180
31181         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
31182         code which expansion is under static control.  Patch imported from
31183         Akim Demaille's patch to Bison; see
31184         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
31185
31186 2003-04-14  Bruno Haible  <bruno@clisp.org>
31187
31188         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
31189
31190 2003-04-11  Jim Meyering  <jim@meyering.net>
31191
31192         Merge changes from Coreutils.
31193
31194         2003-03-22  Jim Meyering  <jim@meyering.net>
31195
31196         * lib/strftime.c (widen): Cast alloca return value to proper type.
31197
31198         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
31199
31200         From GNU libc.
31201         * lib/strftime.c (my_strftime): Handle very large width
31202         specifications for numeric values correctly.  Improve checks for
31203         overflow.
31204
31205         2003-01-19  Jim Meyering  <jim@meyering.net>
31206
31207         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
31208         definitions.
31209         (nl_get_alt_digit) [! defined my_strftime]: Define.
31210         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
31211         _nl_get_alt_digit and _nl_get_walt_digit.
31212
31213         * lib/strftime.c (my_strftime): Merge in locale-related changes from
31214         libc. These changes have no effect outside of _LIBC.
31215
31216 2003-04-10  Bruno Haible  <bruno@clisp.org>
31217
31218         * modules/findprog: New file.
31219         * MODULES.html.sh (func_all_modules): Add it.
31220
31221 2003-04-10  Bruno Haible  <bruno@clisp.org>
31222
31223         * m4/findprog.m4: New file.
31224         * m4/eaccess.m4: New file.
31225
31226 2003-04-10  Bruno Haible  <bruno@clisp.org>
31227
31228         * lib/findprog.h: New file, from GNU gettext.
31229         * lib/findprog.c: New file, from GNU gettext.
31230
31231 2003-04-05  Jim Meyering  <jim@meyering.net>
31232
31233         Merge changes from Coreutils.
31234
31235         * lib/exclude.h (PARAMS): Remove definition and uses.
31236         * lib/exclude.c: Remove uses of `PARAMS'.
31237
31238         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
31239         Add test-cases for DOS filenames. Declare program_name.
31240         (main): Set up program_name.  Patch by Rich Dawe.
31241
31242         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
31243         error from mntctl.
31244         Use mntctl's return value to drive the entry-processing loop, since
31245         we can't rely on the value of the vmt_length member in the last
31246         entry.  On some systems doing so could result in exhausting
31247         virtual memory.  Based in part on a patch from Mike Jetzer.
31248
31249 2003-04-04  Bruno Haible  <bruno@clisp.org>
31250
31251         * modules/linebreak: New file.
31252         * MODULES.html.sh (func_all_modules): Add it.
31253
31254 2003-04-04  Bruno Haible  <bruno@clisp.org>
31255
31256         * m4/linebreak.m4: New file.
31257
31258 2003-04-04  Bruno Haible  <bruno@clisp.org>
31259
31260         * lib/linebreak.h: New file, from GNU gettext.
31261         * lib/linebreak.c: New file, from GNU gettext with slight
31262         modifications.
31263         * lib/lbrkprop.h: New file, from GNU gettext.
31264
31265 2003-04-03  Bruno Haible  <bruno@clisp.org>
31266
31267         * modules/utf8-ucs4: New file.
31268         * modules/utf16-ucs4: New file.
31269         * modules/ucs4-utf8: New file.
31270         * modules/ucs4-utf16: New file.
31271         * MODULES.html.sh (func_all_modules): Add them.
31272
31273 2003-04-03  Bruno Haible  <bruno@clisp.org>
31274
31275         * m4/utf-ucs4.m4: New file.
31276         * m4/ucs4-utf.m4: New file.
31277
31278 2003-04-03  Bruno Haible  <bruno@clisp.org>
31279
31280         * lib/utf8-ucs4.h: New file, from GNU gettext.
31281         * lib/utf16-ucs4.h: New file, from GNU gettext.
31282         * lib/ucs4-utf8.h: New file, from GNU gettext.
31283         * lib/ucs4-utf16.h: New file, from GNU gettext.
31284
31285 2003-04-02  Bruno Haible  <bruno@clisp.org>
31286
31287         * modules/binary-io: New file.
31288         * MODULES.html.sh (func_all_modules): Add it.
31289
31290 2003-04-02  Bruno Haible  <bruno@clisp.org>
31291
31292         * lib/binary-io.h: New file, from GNU gettext.
31293
31294 2003-04-01  Bruno Haible  <bruno@clisp.org>
31295
31296         * modules/pathname: New file.
31297         * MODULES.html.sh (func_all_modules): Add it.
31298
31299 2003-04-01  Bruno Haible  <bruno@clisp.org>
31300
31301         * lib/pathname.h: New file, from GNU gettext.
31302         * lib/concatpath.c: New file, from GNU gettext.
31303
31304 2003-03-30  Bruno Haible  <bruno@clisp.org>
31305
31306         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
31307
31308 2003-03-30  Bruno Haible  <bruno@clisp.org>
31309
31310         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
31311         function chown() doesn't exist.
31312
31313 2003-03-28  Bruno Haible  <bruno@clisp.org>
31314
31315         * modules/copy-file: New file.
31316         * MODULES.html.sh (func_all_modules): Add it.
31317
31318 2003-03-28  Bruno Haible  <bruno@clisp.org>
31319
31320         * m4/copy-file.m4: New file.
31321
31322 2003-03-28  Bruno Haible  <bruno@clisp.org>
31323
31324         * lib/copy-file.h: New file, from GNU gettext.
31325         * lib/copy-file.c: New file, from GNU gettext.
31326
31327 2003-03-18  Jim Meyering  <jim@meyering.net>
31328
31329         * lib/quote.c (quote_n): Fix typo in comment.
31330
31331 2003-03-18  Bruno Haible  <bruno@clisp.org>
31332
31333         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
31334         checking.
31335         * m4/onceonly_2_57.m4: Likewise.
31336
31337 2003-03-17  Bruno Haible  <bruno@clisp.org>
31338
31339         * m4/onceonly.m4: Require autoconf 2.54 or newer.
31340         (m4_quote): Remove macro.
31341         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
31342
31343 2003-03-14  Jim Meyering  <jim@meyering.net>
31344
31345         Merge changes from Coreutils.
31346         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
31347         to be const, in order to avoid warnings.
31348         (obstack_room): Likewise.
31349         (obstack_empty_p): Likewise.
31350
31351 2003-03-14  Bruno Haible  <bruno@clisp.org>
31352
31353         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
31354         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
31355
31356 2003-03-13  Paul Eggert  <eggert@twinsun.com>
31357
31358         Merge changes from Bison.
31359         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
31360         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
31361         when compiling Bison 1.875's `bitset bset = obstack_alloc
31362         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
31363         * lib/hash.c: Include <stdbool.h> unconditionally.
31364
31365 2003-03-13  Paul Eggert  <eggert@twinsun.com>
31366
31367         * m4/onceonly.m4 (m4_quote): New macro.
31368         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
31369         Quote AC_FOREACH variable-expansions properly.
31370
31371 2003-03-13  Paul Eggert  <eggert@twinsun.com>
31372
31373         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
31374
31375 2003-03-09  Paul Eggert  <eggert@twinsun.com>
31376
31377         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
31378         Reported by Bruce Becker; see:
31379         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
31380
31381 2003-03-03  Paul Eggert  <eggert@twinsun.com>
31382             Bruno Haible  <bruno@clisp.org>
31383
31384         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
31385         Reported by John Hughes, see
31386         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
31387
31388 2003-02-20  Bruno Haible  <bruno@clisp.org>
31389
31390         * MODULES.html.sh (func_all_modules): Add poll.
31391
31392 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
31393
31394         * modules/poll: New file.
31395
31396 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
31397
31398         * lib/poll_.h: New file.
31399         * lib/poll.c: New file.
31400
31401 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
31402
31403         * m4/poll.m4: New file.
31404
31405 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
31406
31407         * modules/mathl: New file.
31408
31409 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
31410
31411         * lib/mathl.h: New file.
31412         * lib/acosl.c: New file.
31413         * lib/asinl.c: New file.
31414         * lib/atanl.c: New file.
31415         * lib/ceill.c: New file.
31416         * lib/cosl.c: New file.
31417         * lib/expl.c: New file.
31418         * lib/floorl.c: New file.
31419         * lib/frexpl.c: New file.
31420         * lib/ldexpl.c: New file.
31421         * lib/logl.c: New file.
31422         * lib/sincosl.c: New file.
31423         * lib/sinl.c: New file.
31424         * lib/sqrtl.c: New file.
31425         * lib/tanl.c: New file.
31426         * lib/trigl.c: New file.
31427         * lib/trigl.h: New file.
31428
31429 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
31430
31431         * m4/mathl.m4: New file.
31432
31433 2003-02-18  Bruno Haible  <bruno@clisp.org>
31434
31435         * MODULES.html.sh (func_all_modules): Add mathl.
31436
31437 2003-02-17  Bruno Haible  <bruno@clisp.org>
31438
31439         * modules/mkdtemp: New module.
31440         * MODULES.html.sh (func_all_modules): Add it.
31441
31442 2003-02-17  Bruno Haible  <bruno@clisp.org>
31443
31444         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
31445
31446 2003-02-17  Bruno Haible  <bruno@clisp.org>
31447
31448         * lib/mkdtemp.h: New file, from GNU gettext.
31449         * lib/mkdtemp.c: New file, from GNU gettext.
31450
31451 2003-02-02  Jim Meyering  <jim@meyering.net>
31452
31453         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
31454         e.g. glibc-2.2.93.
31455
31456 2003-01-31  Bruno Haible  <bruno@clisp.org>
31457
31458         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
31459         'rpl_rename'.
31460         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
31461         'rpl_strnlen'.
31462         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
31463         'rpl_strtod'.
31464         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
31465         'rpl_utime'.
31466
31467 2003-01-31  Bruno Haible  <bruno@clisp.org>
31468
31469         * lib/rename.c: #undef rename before defining rpl_rename.
31470         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
31471
31472 2003-01-30  Bruno Haible  <bruno@clisp.org>
31473
31474         * modules/vasnprintf, modules/vasprintf: New modules.
31475         * MODULES.html.sh (func_all_modules): Add them.
31476
31477 2003-01-30  Bruno Haible  <bruno@clisp.org>
31478
31479         * m4/signed.m4: New file, from GNU gettext.
31480         * m4/longdouble.m4: New file, from GNU gettext.
31481         * m4/wchar_t.m4: New file, from GNU gettext.
31482         * m4/wint_t.m4: New file, from GNU gettext.
31483         * m4/vasnprintf.m4: New file.
31484         * m4/vasprintf.m4: New file.
31485
31486 2003-01-30  Bruno Haible  <bruno@clisp.org>
31487
31488         * lib/printf-args.h: New file, from GNU gettext.
31489         * lib/printf-args.c: New file, from GNU gettext.
31490         * lib/printf-parse.h: New file, from GNU gettext.
31491         * lib/printf-parse.c: New file, from GNU gettext.
31492         * lib/vasnprintf.h: New file, from GNU gettext.
31493         * lib/vasnprintf.c: New file, from GNU gettext.
31494         * lib/asnprintf.c: New file, from GNU gettext.
31495         * lib/vasprintf.h: New file, from GNU gettext with modifications.
31496         * lib/vasprintf.c: New file, from GNU gettext.
31497         * lib/asprintf.c: New file, from GNU gettext.
31498
31499 2003-01-29  Bruno Haible  <bruno@clisp.org>
31500
31501         * modules/stpncpy: New module.
31502         * MODULES.html.sh (func_all_modules): Add it.
31503
31504 2003-01-29  Bruno Haible  <bruno@clisp.org>
31505
31506         * m4/stpncpy.m4: New file.
31507
31508 2003-01-29  Bruno Haible  <bruno@clisp.org>
31509
31510         * lib/stpncpy.h: New file, from GNU gettext with modifications.
31511         * lib/stpncpy.c: New file, from GNU gettext with modifications.
31512
31513 2003-01-28  Bruno Haible  <bruno@clisp.org>
31514
31515         * modules/c-ctype: New module.
31516         * MODULES.html.sh (func_all_modules): Add it.
31517
31518 2003-01-28  Bruno Haible  <bruno@clisp.org>
31519
31520         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
31521         Paul Eggert.
31522         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
31523         Paul Eggert.
31524
31525 2003-01-27  Bruno Haible  <bruno@clisp.org>
31526
31527         * modules/xsetenv: New module.
31528         * MODULES.html.sh (func_all_modules): Add it.
31529
31530 2003-01-27  Bruno Haible  <bruno@clisp.org>
31531
31532         * lib/xsetenv.h: New file, from GNU gettext.
31533         * lib/xsetenv.c: New file, from GNU gettext.
31534
31535 2003-01-23  Jim Meyering  <jim@meyering.net>
31536
31537         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
31538         from working on systems without dirfd (at least Irix and OSF1/Tru64).
31539
31540 2003-01-23  Bruno Haible  <bruno@clisp.org>
31541
31542         * modules/minmax: New module.
31543         * MODULES.html.sh (func_all_modules): Add it.
31544
31545 2003-01-23  Bruno Haible  <bruno@clisp.org>
31546
31547         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
31548         Eggert.
31549
31550 2003-01-22  Bruno Haible  <bruno@clisp.org>
31551
31552         * modules/exit: New module.
31553         * MODULES.html.sh (func_all_modules): Add it.
31554
31555 2003-01-22  Bruno Haible  <bruno@clisp.org>
31556
31557         * lib/exit.h: New file, from GNU gettext.
31558
31559 2003-01-19  Bruno Haible  <bruno@clisp.org>
31560
31561         * gnulib-tool: Recognize option --extract-maintainer.
31562         (func_get_maintainer): New function.
31563         * modules/*: Add Maintainer entry.
31564
31565 2003-01-16  Jim Meyering  <jim@meyering.net>
31566
31567         * m4/regex.m4: The `regex' struct is both input and output.
31568         Initialize it before each use.  Patch by Tim Waugh.
31569
31570 2003-01-16  Bruno Haible  <bruno@clisp.org>
31571
31572         * MODULES.html.sh: Add a table of contents. Add the module name as
31573         leftmost column. Add hyperlinks.
31574
31575 2003-01-15  Bruno Haible  <bruno@clisp.org>
31576
31577         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
31578
31579 2003-01-15  Bruno Haible  <bruno@clisp.org>
31580
31581         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
31582         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
31583         suffix.
31584
31585 2003-01-15  Bruno Haible  <bruno@clisp.org>
31586
31587         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
31588
31589 2003-01-15  Bruno Haible  <bruno@clisp.org>
31590
31591         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
31592         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
31593
31594 2003-01-14  Jim Meyering  <jim@meyering.net>
31595
31596         * lib/same.c (same_name): Tweak a comment.
31597
31598 2003-01-14  Bruno Haible  <bruno@clisp.org>
31599
31600         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
31601         when a string comparison is sufficient.
31602
31603 2003-01-14  Bruno Haible  <bruno@clisp.org>
31604
31605         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
31606         'unsigned int'.
31607
31608 2003-01-14  Bruno Haible  <bruno@clisp.org>
31609
31610         * lib/hash-pjw.c: Add comment about low quality of this function.
31611
31612 2003-01-13  Bruno Haible  <bruno@clisp.org>
31613
31614         * modules/stpcpy: Distribute lib/stpcpy.h.
31615         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
31616
31617 2003-01-13  Bruno Haible  <bruno@clisp.org>
31618
31619         * modules/*: Add a description.
31620         * modules/strpbrk: Fix Makefile.am snippet.
31621         * modules/strtoimax: Fix dependencies.
31622         * modules/strtoumax: Likewise.
31623
31624 2003-01-13  Bruno Haible  <bruno@clisp.org>
31625
31626         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
31627         * modules/alloca (Makefile.am): All object files depend on alloca.h.
31628         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
31629
31630 2003-01-13  Bruno Haible  <bruno@clisp.org>
31631
31632         * gnulib-tool (func_create_testdir): Store config/* files in the main
31633         directory.
31634         * config.rpath: Move to ...
31635         * config/config.rpath: ... here.
31636         * modules/gettext: Contains config/config.rpath, not config.rpath.
31637         * modules/iconv: Likewise.
31638
31639 2003-01-12  Paul Eggert  <eggert@twinsun.com>
31640
31641         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
31642         to avoid collisions with libcurses and libreadline.
31643
31644         * m4/getstr.m4: Remove.
31645         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
31646
31647 2003-01-12  Paul Eggert  <eggert@twinsun.com>
31648
31649         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
31650         to avoid collisions with libcurses and libreadline.
31651
31652         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
31653         * lib/getstr.h, getstr.c: Remove.
31654         * lib/getline.c: Include "getline.h", to check interface.
31655         Move body of old getstr.c here: this defines MIN_CHUNK and
31656         declares getdelim2, which is renamed from getstr.
31657         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
31658
31659         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
31660         All uses changed.
31661         * lib/linebuffer.h: Likewise.
31662         (readline): Remove backward-compatibility macro.
31663
31664 2003-01-12  Paul Eggert  <eggert@twinsun.com>
31665
31666         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
31667         to avoid collisions with libcurses and libreadline.
31668         * getstr: Remove.
31669         * MODULES.html.sh: Remove getstr.
31670         * modules/getline: Depend on unlocked-io, not getstr.
31671
31672 2003-01-12  Jim Meyering  <jim@meyering.net>
31673
31674         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
31675
31676 2003-01-10  Bruno Haible  <bruno@clisp.org>
31677
31678         * modules/alloca: Change Makefile.am requirements. Simplify Include
31679         requirements. Add lib/alloca_.h to file list.
31680
31681 2003-01-10  Bruno Haible  <bruno@clisp.org>
31682
31683         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
31684
31685 2003-01-10  Bruno Haible  <bruno@clisp.org>
31686
31687         * lib/alloca_.h: New file.
31688         * lib/getdate.y: Unconditionally include alloca.h.
31689         * lib/makepath.c: Likewise.
31690         * lib/setenv.c: Likewise.
31691         * lib/userspec.c: Likewise.
31692
31693 2003-01-09  Karl Berry  <karl@gnu.org>
31694
31695         * MODULES.html.sh: include `dirname $0` in PATH, to find
31696         gnulib-tool.
31697
31698 2003-01-09  Bruno Haible  <bruno@clisp.org>
31699
31700         * modules/stdbool: Change configure.ac, Makefile.am requirements.
31701         Simplify Include requirements. Add lib/stdbool.h.in to file list.
31702
31703 2003-01-09  Bruno Haible  <bruno@clisp.org>
31704
31705         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
31706
31707 2003-01-09  Bruno Haible  <bruno@clisp.org>
31708
31709         * lib/stdbool.h.in: New file.
31710
31711 2003-01-09  Bruno Haible  <bruno@clisp.org>
31712
31713         * gnulib-tool (func_all_modules): Ignore files ending in ~.
31714         * MODULES.html.sh: Likewise.
31715
31716 2003-01-08  Jim Meyering  <jim@meyering.net>
31717
31718         * lib/full-write.c: Undefine and define-away `const' after inclusion
31719         of errno.h, not before.  Suggestion from Bruno Haible.
31720
31721 2003-01-08  Bruno Haible  <bruno@clisp.org>
31722
31723         * modules/full-read: Depend on full-write.
31724
31725 2003-01-08  Bruno Haible  <bruno@clisp.org>
31726
31727         * lib/safe-read.c: Include specification header first, to ensure its
31728         selfcontainedness.
31729         * lib/full-write.c: Likewise.
31730
31731 2003-01-07  Jim Meyering  <jim@meyering.net>
31732
31733         * lib/full-write.c: Rework so that it may serve to define full_read,
31734         too.
31735         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
31736
31737 2003-01-07  Bruno Haible  <bruno@clisp.org>
31738
31739         * lib/strtoimax.c: Include <stdint.h> as an alternative to
31740         <inttypes.h>.
31741         * lib/xstrtol.h: Likewise.
31742         * lib/xstrtoimax.c: Likewise.
31743         * lib/xstrtoumax.c: Likewise.
31744         * lib/human.h: Likewise.
31745
31746         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
31747         on systems that have <inttypes.h> but not <stdint.h>.
31748
31749 2003-01-07  Bruno Haible  <bruno@clisp.org>
31750
31751         * MODULES.html.sh: Add copyright notice.
31752         (missed_files): Omit CVS directory entries.
31753         (func_module): Make it work with sed-3.02.
31754         * MODULES.txt: Remove file.
31755
31756 2003-01-06  Jim Meyering  <jim@meyering.net>
31757
31758         * lib/version-etc.c: Update year in translatable copyright string.
31759
31760 2003-01-03  Karl Berry  <karl@gnu.org>
31761
31762         * config/config.{guess,sub}: update from prep.
31763
31764 2003-01-02  Karl Berry  <karl@gnu.org>
31765
31766         * doc/COPYING.DOC: belatedly updated to 1.2.
31767
31768 2003-01-01  Karl Berry  <karl@gnu.org>
31769
31770         * gnulib-tool (func_verify_module): report module name $module in
31771         error message, not $1.
31772         * gnulib-tool (create-testdir): don't complain if destdir couldn't
31773         be created, only if it doesn't exist.
31774         * gnulib-tool (last_checkin_date): don't expand the $Date here.
31775
31776 2002-12-31  Paul Eggert  <eggert@twinsun.com>
31777
31778         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
31779
31780 2002-12-31  Paul Eggert  <eggert@twinsun.com>
31781
31782         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
31783         memcmp if strcoll doesn't work.
31784
31785 2002-12-31  Bruno Haible  <bruno@clisp.org>
31786
31787         * lib/utime.c (utime_null): No need to call ftruncate if the file was
31788         nonempty.
31789
31790 2002-12-31  Bruno Haible  <bruno@clisp.org>
31791
31792         * lib/memcoll.c (STRCOLL): New macro.
31793         (memcoll): Use it.
31794
31795 2002-12-31  Bruno Haible  <bruno@clisp.org>
31796
31797         * lib/localcharset.h: New file.
31798         * lib/localcharset.c: Include it.
31799         * lib/unicodeio.c: Likewise.
31800
31801 2002-12-31  Bruno Haible  <bruno@clisp.org>
31802
31803         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
31804         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
31805
31806 2002-12-31  Bruno Haible  <bruno@clisp.org>
31807
31808         * lib/getline.h: Include <stddef.h>, for size_t.
31809
31810         * lib/unicodeio.h: Include <stddef.h>, for size_t.
31811         * lib/unicodeio.c: Don't include <stddef.h>.
31812
31813 2002-12-31  Bruno Haible  <bruno@clisp.org>
31814
31815         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
31816         HAVE_TM_ZONE.
31817
31818 2002-12-24  Karl Berry  <karl@gnu.org>
31819
31820         * config/config.guess: update from prep.
31821
31822 2002-12-24  Bruno Haible  <bruno@clisp.org>
31823
31824         General infrasructure.
31825         * m4/README: Rewritten.
31826         * m4/onceonly.m4: New file.
31827         * m4/onceonly_2_57.m4: New file.
31828
31829         Module atexit.
31830         * m4/atexit.m4: New file.
31831
31832         Module strtod.
31833         * m4/strtod.m4: New file.
31834
31835         Module strtol.
31836         * m4/strtol.m4: New file.
31837
31838         Module strtoul.
31839         * m4/strtoul.m4: New file.
31840
31841         Module memchr.
31842         * m4/memchr.m4: New file.
31843
31844         Module memcmp.
31845         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
31846         (jm_FUNC_MEMCMP): Invoke it.
31847
31848         Module memcpy.
31849         * m4/memcpy.m4: New file.
31850
31851         Module memmove.
31852         * m4/memmove.m4: New file.
31853
31854         Module memset.
31855         * m4/memset.m4: New file.
31856
31857         Module strcspn.
31858         * m4/strcspn.m4: New file.
31859
31860         Module strpbrk.
31861         * m4/strpbrk.m4: New file.
31862
31863         Module strstr.
31864         * m4/strstr.m4: New file.
31865
31866         Module strerror.
31867         * m4/strerror.m4: New file.
31868
31869         Module mktime.
31870         * m4/mktime.m4: Renamed from jm-mktime.m4.
31871         (gl_PREREQ_MKTIME): New macro.
31872         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
31873
31874         Module malloc.
31875         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
31876         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
31877         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
31878
31879         Module realloc.
31880         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
31881         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
31882         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
31883
31884         Module strftime.
31885         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
31886         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
31887         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
31888         gl_TM_GMTOFF.
31889         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
31890
31891         Module xalloc.
31892         * m4/xalloc.m4: New file.
31893
31894         Module alloca.
31895         * m4/alloca.m4: New file.
31896
31897         Module putenv.
31898         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
31899         (jm_FUNC_PUTENV): Invoke it.
31900
31901         Module setenv.
31902         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
31903         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
31904         when invoked twice.
31905         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
31906         gt_FUNC_SETENV.
31907
31908         Module memrchr.
31909         * m4/memrchr.m4: New file.
31910
31911         Module stpcpy.
31912         * m4/stpcpy.m4: New file.
31913
31914         Module strcase.
31915         * m4/strcase.m4: New file.
31916
31917         Module strdup.
31918         * m4/strdup.m4: New file.
31919
31920         Module strnlen.
31921         * m4/strnlen.m4: New file.
31922
31923         Module strndup.
31924         * m4/strndup.m4: New file.
31925
31926         Module xstrtod.
31927         * m4/xstrtod.m4: New file.
31928
31929         Module xstrtol.
31930         * m4/xstrtol.m4: New file.
31931
31932         Module getdate.
31933         * m4/getdate.m4: New file.
31934
31935         Module unlocked-io.
31936         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
31937         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
31938         * m4/jm-glibc-io.m4n: Remove file.
31939
31940         Module long-options.
31941         * m4/long-options.m4: New file.
31942
31943         Module md5.
31944         * m4/md5.m4: New file.
31945
31946         Module sha.
31947         * m4/sha.m4: New file.
31948
31949         Module getstr.
31950         * m4/getstr.m4: New file.
31951
31952         Module getline.
31953         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
31954         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
31955         <sys/types.h>, for size_t. Use the function name gnu_getline, not
31956         simply getline. Infoke gl_PREREQ_GETLINE.
31957
31958         Module obstack.
31959         * m4/obstack.m4: New file.
31960
31961         Module hash.
31962         * m4/hash.m4: New file.
31963
31964         Module readtokens.
31965         * m4/readtokens.m4: New file.
31966
31967         Module strverscmp.
31968         * m4/strverscmp.m4: New file.
31969
31970         Module stdbool.
31971         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
31972         OSF/1.
31973
31974         Module strtoll.
31975         * m4/strtoll.m4: New file.
31976
31977         Module strtoull.
31978         * m4/strtoull.m4: New file.
31979
31980         Module strtoimax.
31981         * m4/strtoimax.m4: New file.
31982
31983         Module strtoumax.
31984         * m4/strtoumax.m4: New file.
31985
31986         Module xstrtoimax.
31987         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
31988         jm_AC_PREREQ_XSTRTOIMAX.
31989         Moved the strtol prerequisites to strtol.m4.
31990         Moved the strtoll prerequisites to strtoll.m4.
31991         Moved the strtoimax prerequisites to strtoimax.m4.
31992
31993         Module xstrtoumax.
31994         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
31995         jm_AC_PREREQ_XSTRTOUMAX.
31996         Moved the strtoul prerequisites to strtoul.m4.
31997         Moved the strtoull prerequisites to strtoull.m4.
31998         Moved the strtoumax prerequisites to strtoumax.m4.
31999
32000         Module chown.
32001         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
32002         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
32003
32004         Module dup2.
32005         * m4/dup2.m4: New file.
32006
32007         Module ftruncate.
32008         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
32009         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
32010
32011         Module getgroups.
32012         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
32013         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
32014
32015         Module gettimeofday.
32016         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
32017         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
32018         gl_PREREQ_GETTIMEOFDAY.
32019
32020         Module mkdir.
32021         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
32022         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
32023
32024         Module mkstemp.
32025         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
32026         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
32027         jm_AC_TYPE_UINTMAX_T.
32028         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
32029
32030         Module stat.
32031         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
32032         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
32033
32034         Module lstat.
32035         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
32036         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
32037
32038         Module timespec.
32039         * m4/timespec.m4 (gl_TIMESPEC): New macro.
32040         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
32041         * m4/st_mtim.m4: Indentation.
32042
32043         Module nanosleep.
32044         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
32045         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
32046         gl_PREREQ_NANOSLEEP.
32047
32048         Module regex.
32049         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
32050         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
32051         (gl_REGEX): New macro.
32052
32053         Module rename.
32054         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
32055         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
32056
32057         Module rmdir.
32058         * m4/rmdir.m4: New file.
32059
32060         Module utime.
32061         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
32062         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
32063         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
32064
32065         Module dirname.
32066         * m4/dirname.m4: New file.
32067
32068         Module getopt.
32069         * m4/getopt.m4: New file.
32070
32071         Module unistd-safer.
32072         * m4/unistd-safer.m4: New file.
32073
32074         Module fnmatch.
32075         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
32076         declaration.
32077         (gl_PREREQ_FNMATCH_EXTRA): New macro.
32078         (gl_FUNC_FNMATCH_POSIX): New macro.
32079         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
32080         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
32081         simply fnmatch.
32082
32083         Module exclude.
32084         * m4/exclude.m4: New file.
32085
32086         Module human.
32087         * m4/human.m4: New file.
32088
32089         Module acl.
32090         * m4/acl.m4: Nop.
32091
32092         Module backupfile.
32093         * m4/backupfile.m4: New file.
32094         * m4/d-ino.m4: Indentation.
32095
32096         Module fsusage.
32097         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
32098         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
32099         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
32100
32101         Module dirfd.
32102         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
32103         requirements.
32104
32105         Module euidaccess.
32106         * m4/euidaccess.m4: New file.
32107
32108         Module file-type.
32109         * m4/file-type.m4: New file.
32110
32111         Module fileblocks.
32112         * m4/fileblocks.m4: New file.
32113
32114         Module filemode.
32115         * m4/filemode.m4: New file.
32116
32117         Module isdir.
32118         * m4/isdir.m4: New file.
32119
32120         Module lchown.
32121         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
32122         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
32123
32124         Module makepath.
32125         * m4/makepath.m4: New file.
32126
32127         Module modechange.
32128         * m4/modechange.m4: New file.
32129
32130         Module mountlist.
32131         * m4/mountlist.m4: New file.
32132         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
32133         Indentation.
32134
32135         Module path-concat.
32136         * m4/path-concat.m4: New file.
32137
32138         Module pathmax.
32139         * m4/pathmax.m4: New file.
32140
32141         Module same.
32142         * m4/same.m4: New file.
32143
32144         Module save-cwd.
32145         * m4/save-cwd.m4: New file.
32146
32147         Module savedir.
32148         * m4/savedir.m4: New file.
32149
32150         Module xgetcwd.
32151         * m4/xgetcwd.m4: New file.
32152         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
32153
32154         Module xreadlink.
32155         * m4/xreadlink.m4: New file.
32156
32157         Module safe-read.
32158         * m4/safe-read.m4: New file.
32159
32160         Module safe-write.
32161         * m4/safe-write.m4: New file.
32162
32163         Module closeout.
32164         * m4/closeout.m4: New file.
32165
32166         Module stdio-safer.
32167         * m4/stdio-safer.m4: New file.
32168
32169         Module getpass.
32170         * m4/getpass.m4: New file.
32171
32172         Module getugroups.
32173         * m4/getugroups.m4: New file.
32174
32175         Module group-member.
32176         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
32177         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
32178
32179         Module idcache.
32180         * m4/idcache.m4: New file.
32181
32182         Module userspec.
32183         * m4/userspec.m4: New file.
32184
32185         Module gettime.
32186         * m4/clock_time.m4: New file.
32187         * m4/gettime.m4: New file.
32188
32189         Module settime.
32190         * m4/settime.m4: New file.
32191
32192         Module posixtm.
32193         * m4/posixtm.m4: New file.
32194
32195         Module gethostname.
32196         * m4/gethostname.m4: New file.
32197
32198         Module canon-host.
32199         * m4/canon-host.m4: New file.
32200
32201         Module gettext.
32202         * m4/codeset.m4: New file, from gettext-0.11.5.
32203         * m4/gettext.m4: New file, from gettext-0.11.5.
32204         * m4/glibc21.m4: New file, from gettext-0.11.5.
32205         * m4/iconv.m4: New file, from gettext-0.11.5.
32206         * m4/intdiv0.m4: New file, from gettext-0.11.5.
32207         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
32208         * m4/inttypes.m4: New file, from gettext-0.11.5.
32209         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
32210         * m4/isc-posix.m4: New file, from gettext-0.11.5.
32211         * m4/lcmessage.m4: New file, from gettext-0.11.5.
32212         * m4/lib-ld.m4: New file, from gettext-0.11.5.
32213         * m4/lib-link.m4: New file, from gettext-0.11.5.
32214         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
32215         * m4/progtest.m4: New file, from gettext-0.11.5.
32216         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
32217         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
32218         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
32219
32220         Module localcharset.
32221         * m4/localcharset.m4: New file.
32222
32223         Module hard-locale.
32224         * m4/hard-locale.m4: New file.
32225
32226         Module mbswidth.
32227         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
32228         onceonly macros.
32229         * m4/mbrtowc.m4: Add comment.
32230
32231         Module memcasecmp.
32232         * m4/memcasecmp.m4: New file.
32233
32234         Module memcoll.
32235         * m4/memcoll.m4: New file.
32236
32237         Module unicodeio.
32238         * m4/unicodeio.m4: New file.
32239
32240         Module rpmatch.
32241         * m4/rpmatch.m4: New file.
32242
32243         Module yesno.
32244         * m4/yesno.m4: New file.
32245
32246         Module exitfail.
32247         * m4/exitfail.m4: New file.
32248
32249         Module c-stack.
32250         * m4/c-stack.m4 (gl_C_STACK): New macro.
32251         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
32252
32253         Module error.
32254         * m4/error.m4 (gl_ERROR): New macro.
32255         (jm_PREREQ_ERROR): Use onceonly macros.
32256
32257         Module fatal.
32258         * m4/fatal.m4: New file.
32259
32260         Module getloadavg.
32261         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
32262         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
32263
32264         Module getpagesize.
32265         * m4/getpagesize.m4: New file.
32266
32267         Module getusershell.
32268         * m4/getusershell.m4: New file.
32269
32270         Module physmem.
32271         * m4/physmem.m4: New file.
32272
32273         Module posixver.
32274         * m4/posixver.m4: New file.
32275
32276         Module quotearg.
32277         * m4/quotearg.m4: New file.
32278
32279         Module quote.
32280         * m4/quote.m4: New file.
32281
32282         Module readutmp.
32283         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
32284
32285         Module sig2str.
32286         * m4/sig2str.m4: New file.
32287
32288         Other.
32289         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
32290         ulonglong.m4.
32291         * m4/intmax_t.m4: New file.
32292         * m4/d-type.m4: Indentation.
32293         * m4/jm-macros.m4: Update.
32294         * m4/prereq.m4 (jm_PREREQ): Update.
32295         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
32296         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
32297         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
32298         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
32299         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
32300         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
32301         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
32302         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
32303         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
32304         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
32305         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
32306         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
32307         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
32308         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
32309         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
32310         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
32311         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
32312         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
32313         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
32314
32315 2002-12-24  Bruno Haible  <bruno@clisp.org>
32316
32317         * MODULES.txt: Update according to m4/ changes.
32318
32319         Module gettext.
32320         * config.rpath: New file, from gettext-0.11.5.
32321
32322         * modules/*: New module descriptions.
32323         * gnulib-tool: New file.
32324         * MODULES.html.sh: New file.
32325
32326 2002-12-21  Karl Berry  <karl@gnu.org>
32327
32328         * doc/fdl.texi: update to version 1.2.
32329
32330 2002-12-19  Karl Berry  <karl@gnu.org>
32331
32332         * config/config.guess: update from prep.
32333
32334 2002-12-18  Bruno Haible  <bruno@clisp.org>
32335
32336         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
32337         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
32338
32339 2002-12-17  Bruno Haible  <bruno@clisp.org>
32340
32341         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
32342         stdlib.h, string.h.
32343
32344 2002-12-17  Bruno Haible  <bruno@clisp.org>
32345
32346         * lib/canon-host.c (strdup): Remove unused declaration.
32347
32348         * lib/fsusage.c: Include full_read.h.
32349         (get_fs_usage): Use full_read instead of safe_read.
32350
32351         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
32352
32353 2002-12-12  Karl Berry  <karl@gnu.org>
32354
32355         * config/config.guess: update from prep.
32356
32357 2002-12-11  Bruno Haible  <bruno@clisp.org>
32358
32359         * m4/setenv.m4: New file, from gettext-0.11.5.
32360
32361 2002-12-11  Bruno Haible  <bruno@clisp.org>
32362
32363         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
32364         not unsetenv().
32365         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
32366         modifications:
32367
32368         2002-12-11  Bruno Haible  <bruno@clisp.org>
32369
32370                 * setenv.c (alloca): Fall back to malloc.
32371                 (freea): New macro.
32372                 (setenv): Use freea() to free memory allocated with alloca().
32373
32374         2002-11-13  Bruno Haible  <bruno@clisp.org>
32375
32376                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
32377                 function declarations.
32378                 * unsetenv.c (unsetenv): Likewise.
32379
32380         2002-03-04  Bruno Haible  <bruno@clisp.org>
32381
32382                 Portability to AIX 4.3.3.
32383                 * unsetenv.c: New file, extracted from setenv.c.
32384                 * setenv.c: Move the unsetenv() function to unsetenv.c.
32385
32386         2001-12-20  Bruno Haible  <bruno@clisp.org>
32387
32388                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
32389                 use malloc instead. For SunOS 4.
32390
32391         2001-12-11  Bruno Haible  <bruno@clisp.org>
32392
32393                 * setenv.c: Declare alloca.
32394                 (compar_fn_t): New typedef.
32395                 (KNOWN_VALUE, STORE_VALUE): Use it.
32396
32397         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
32398         setenv.h.
32399
32400 2002-12-10  Paul Eggert  <eggert@twinsun.com>
32401
32402         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
32403         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
32404         Choose values that are less likely to collide with system fnmatch
32405         options.
32406         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
32407         defined (e.g., a pure POSIX system).
32408         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
32409         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
32410
32411 2002-12-06  Paul Eggert  <eggert@twinsun.com>
32412
32413         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
32414         a pain in practice to deal with generated m4 files.  This change
32415         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
32416
32417         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
32418         and jm-glibc-io.m4, as they are no longer a special case.
32419         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
32420         kludge and the auto-generation stuff.  Check only whether the
32421         functions are declared, not whether they exist, since older hosts
32422         that don't declare the functions can't use the optimization anyway.
32423
32424 2002-12-06  Jim Meyering  <jim@meyering.net>
32425
32426         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
32427
32428         Merge in changes from libc's misc/error.c, in preparation
32429         for the merge of gnulib's changes back into libc.
32430
32431         * lib/error.c (_): Define only if not already defined.
32432         Move definition to follow all #include directives.
32433         Include unlocked-io.h only if !_LIBC.
32434         [_LIBC]: Include <libio/libioP.h>.
32435         [USE_IN_LIBIO]: Include <libio/iolibio.h>
32436         (fflush): Tweak definition to use INTUSE.
32437         (putc): Define.
32438
32439 2002-12-05  Paul Eggert  <eggert@twinsun.com>
32440
32441         * lib/alloca.c [defined emacs]: Include "lisp.h".
32442         (xalloc_die) [defined emacs]: New macro.
32443         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
32444         [! defined emacs]: Include <xalloc.h>.
32445         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
32446         (pointer): Typedef to POINTER_TYPE *.
32447         (malloc): Remove decl; we now always use xmalloc.
32448         (alloca): Use old-style definition, since Emacs needs this.
32449         Check for arithmetic overflow when computing combined size.
32450
32451 2002-12-04  Paul Eggert  <eggert@twinsun.com>
32452
32453         Do not generate unlocked-io.h automatically, since it's easier to
32454         maintain it by hand.
32455
32456         * lib/unlocked-io.h: New file, from GNU diffutils,
32457         but with proper copyright notice and attribution.
32458         * lib/gen-uio: Remove.
32459         * lib/Makefile.am: Add copyright notice.
32460         (libfetish_a_SOURCES): Add unlocked-io.h.
32461         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
32462         (DISTCLEANFILES, io_functions): Remove macros.
32463         (EXTRA_DIST): Remove gen_uio.
32464         (unlocked-io.h): Remove rule.
32465
32466 2002-12-04  Jim Meyering  <jim@meyering.net>
32467
32468         Reflect the fact that stat.c and lstat.c are no longer generated.
32469         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
32470         (DISTCLEANFILES): Likewise.
32471         (EXTRA_DIST): Likewise.
32472         (all_local): Don't depend on stat.c or lstat.c.
32473         (stat.c, lstat.c): Remove rules.
32474         (EXTRA_DIST): Remove xstat.in.
32475
32476         * lib/xstat.in: Remove file.  Contents moved into stat.c.
32477         * lib/stat.c: New file.  Contents mostly from xstat.in.
32478         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
32479         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
32480
32481         * lib/safe-read.c: Rework so that it may serve to define safe_write,
32482         too.
32483         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
32484
32485 2002-12-03  Jim Meyering  <jim@meyering.net>
32486
32487         * lib/safe-read.c, safe-write.c: Change variable names and comments,
32488         but not semantics, to minimize the differences between these two files.
32489         (safe_read): Change comment to mention SAFE_READ_ERROR.
32490
32491         * lib/safe-read.c (IS_EINTR): Define.
32492         (safe_read): Use IS_EINTR in place of in-function cpp directives.
32493
32494 2002-12-02  Jim Meyering  <jim@meyering.net>
32495
32496         * lib/safe-read.c (EINTR): Define.
32497         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
32498         (INT_MAX): Provide fallback.
32499         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
32500
32501         * lib/safe-read.h (SAFE_READ_ERROR): Define.
32502
32503 2002-12-02  Bruno Haible  <bruno@clisp.org>
32504
32505         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
32506         Define, taken from safe-read.c.
32507         (INT_MAX): Provide fallback.
32508         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
32509         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
32510
32511         * lib/safe-read.c (EINTR): Remove definition.
32512         (safe_read): Don't use EINTR if it is absent.
32513
32514 2002-12-01  Jim Meyering  <jim@meyering.net>
32515
32516         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
32517         zero.
32518         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
32519
32520 2002-11-27  Paul Eggert  <eggert@twinsun.com>
32521
32522         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
32523         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
32524         with `if (! (value < limit)) abort ();', for readability.
32525
32526 2002-11-26  Karl Berry  <karl@gnu.org>
32527
32528         * lib/strdup.c: copy from libc again, with jim's ok.
32529         * lib/.cppi-disable: re-add strdup.c
32530
32531 2002-11-25  Karl Berry  <karl@gnu.org>
32532
32533         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
32534         instead of "strtol.c".
32535
32536 2002-11-25  Karl Berry  <karl@gnu.org>
32537
32538         * config/install-sh: update from automake for variable quoting, $0 in
32539         error msgs, etc.
32540
32541         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
32542         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
32543         entry.
32544
32545 2002-11-25  Jim Meyering  <jim@meyering.net>
32546
32547         * lib/mktime.c: Sync from libc, now that it has the latest fix.
32548
32549 2002-11-24  Karl Berry  <karl@gnu.org>
32550
32551         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
32552         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
32553
32554 2002-11-24  Jim Meyering  <jim@meyering.net>
32555
32556         Update from coreutils:
32557
32558         * lib/mktime.c: Merge in changes from libc.
32559
32560         Avoid a link-time failure on some Linux systems.
32561         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
32562         (otherwise).
32563         (__mon_yday): Declare with the STATIC attribute.
32564         (__mktime_internal): Likewise.
32565         Based on a report from Greg Schafer.
32566
32567 2002-11-23  Jim Meyering  <jim@meyering.net>
32568
32569         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
32570         Use `unsigned', not `int', as type of index.
32571
32572         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
32573
32574         * lib/fsusage.c: Remove unneeded parentheses around operands of
32575         `defined'.
32576
32577 2002-11-22  Paul Eggert  <eggert@twinsun.com>
32578
32579         * lib/quotearg.h: Allow multiple inclusion by surrounding with
32580         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
32581         so that we can be included first.
32582         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
32583         * lib/quotearg.c: Include quotearg.h immediately after config.h.
32584         No need to include stddef.h or sys/types.h any more.
32585         Surround local include files with "", not "<>".
32586         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
32587         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
32588         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
32589         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
32590         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
32591         (ISPRINT): Remove; no longer needed now that we assume C89.
32592
32593         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
32594         Preserve errno.
32595
32596         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
32597         quotearg_char): Use SIZE_MAX rather than
32598         (size_t) -1 when we are talking about "infinity".
32599
32600         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
32601
32602 2002-11-22  Paul Eggert  <eggert@twinsun.com>
32603
32604         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
32605         hint that one should use `if (! x) abort ();' rather than `assert
32606         (x);', and anyway it's one less thing to worry about configuring.
32607         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
32608         hash_rehash, hash_insert): Use abort rather than assert.
32609
32610 2002-11-22  Bruno Haible  <bruno@clisp.org>
32611
32612         * lib/safe-read.h: Assume C89. Add comments.
32613         (safe_read): Change return type to size_t.
32614         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
32615         byte counts > SSIZE_MAX correctly.
32616         * lib/safe-write.h: New file.
32617         * lib/safe-write.c: New file.
32618         * lib/full-read.h: New file.
32619         * lib/full-read.c: New file.
32620         * lib/full-write.h: Assume C89. Add comments.
32621         * lib/full-write.c: Include safe-write.h.
32622         (full_write): Rewritten to use safe_write.
32623         Suggested by Jim Meyering and Paul Eggert.
32624
32625 2002-11-21  Jim Meyering  <jim@meyering.net>
32626
32627         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
32628
32629         Merge in changes from the coreutils.
32630
32631         2002-09-25  Paul Eggert  <eggert@twinsun.com>
32632         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
32633         <stdint.h>.
32634         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
32635         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
32636         int.  Work more efficiently if X is the same width as uintmax_t.
32637         Do not compare X to -1, to avoid bogus compiler warning.
32638         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
32639         Don't assume that f_frsize and f_bsize are the same type.
32640
32641         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
32642         warning on FreeBSD.
32643
32644         * lib/makepath.c (make_path): Restore umask *before* creating the final
32645         component.
32646         (make_path): Minor reformatting.
32647
32648         * lib/xmalloc.c: Adjust to work with new autoconf macros,
32649         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
32650         HAVE_MALLOC/HAVE_REALLOC.
32651
32652         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
32653         dummy ones.  At least on GNU/Linux systems, `auto' means something
32654         else.
32655         From Michael Stone.
32656
32657 2002-11-21  Bruno Haible  <bruno@clisp.org>
32658
32659         Remove case insensitive option matching.
32660         * lib/argmatch.h (argcasematch): Remove declaration.
32661         (ARGCASEMATCH): Remove macro.
32662         (__xargmatch_internal): Remove case_sensitive argument.
32663         (XARGMATCH): Update.
32664         (XARGCASEMATCH): Remove macro.
32665         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
32666         case_sensitive argument.
32667         (argcasematch): Remove function.
32668         (__xargmatch_internal): Remove case_sensitive argument.
32669         (main): Use XARGMATCH instead of XARGCASEMATCH.
32670
32671         * lib/xmalloc.c: Change compile-time error message. Add comment about
32672         required autoconf version.
32673
32674 2002-11-20  Paul Eggert  <eggert@twinsun.com>
32675
32676         Merge argmatch cleanups from Bison.  Assume C89.
32677
32678         * lib/argmatch.c: Include config.h here, not in argmatch.h.
32679         Include stdlib.h, for EXIT_FAILURE.
32680         Always include <string.h>, since we assume C89.
32681         (EXIT_FAILURE): Remove pre-C89 bug workaround.
32682         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
32683         Include <stddef.h> instead, since it's all we need for size_t.
32684         (PARAMS): Remove.  All uses removed.
32685         (ARRAY_CARDINALITY): Do not bother to #undef.
32686         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
32687         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
32688         Remove unnecessary parentheses.
32689         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
32690         Insert necessary parentheses.
32691         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
32692         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
32693
32694 2002-11-19  Bruno Haible  <bruno@clisp.org>
32695
32696         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
32697         * lib/mbswidth.h: Include <stddef.h>, for size_t.
32698
32699         * lib/mbswidth.h (PARAMS): Remove macro.
32700         (mbswidth, mbsnwidth): Use ANSI C function declarations.
32701         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
32702
32703         * lib/gcd.h (PARAMS): Remove macro.
32704         (gcd): Use ANSI C function declarations.
32705         * lib/gcd.c (gcd): Likewise.
32706
32707 2002-11-15  Bruno Haible  <bruno@clisp.org>
32708
32709         * lib/strcspn.c: Include <stddef.h>.
32710         (strcspn): Use ANSI C function declaration. Change return type to
32711         size_t. Use NULL.
32712         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
32713         (strpbrk): Use NULL.
32714         * lib/strpbrk.h (PARAMS): Remove macro.
32715         (strpbrk): Use ANSI C function declaration.
32716         * lib/strstr.c: Don't include <sys/types.h>.
32717         * lib/strstr.h (PARAMS): Remove macro.
32718         (strstr): Use ANSI C function declarations.
32719
32720 2002-11-14  Karl Berry  <karl@gnu.org>
32721
32722         * config/mkinstalldirs: `do' on separate line, instead of
32723         `for var; do'.
32724
32725 2002-11-06  Bruno Haible  <bruno@clisp.org>
32726
32727         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
32728         * lib/gcd.c (gcd): Likewise.
32729
32730 2002-11-05  Bruno Haible  <bruno@clisp.org>
32731
32732         * lib/gcd.h: New file, from gettext-0.11.5.
32733         * lib/gcd.c: New file, from gettext-0.11.5.
32734
32735 2002-11-05  Bruno Haible  <bruno@clisp.org>
32736
32737         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
32738         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
32739         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
32740         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
32741
32742         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
32743         <libintl.h>.
32744         * lib/makepath.c: Include gettext.h instead of <locale.h> and
32745         <libintl.h>.
32746
32747         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
32748         * lib/human.c: Include gettext.h instead of <libintl.h>.
32749         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
32750         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
32751         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
32752         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
32753         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
32754         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
32755         (textdomain): Remove definition.
32756         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
32757
32758         * lib/long-options.c: Remove include of <libintl.h> and definition of
32759         _.
32760         * lib/same.c: Remove include of <libintl.h> and definition of _.
32761
32762 2002-11-04  Owen Taylor  <otaylor@redhat.com>
32763
32764         * lib/config.charset: A few additions for Solaris.
32765
32766 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
32767
32768         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
32769         * lib/localcharset.c (locale_charset): Declare as extern "C".
32770
32771 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
32772
32773         * lib/config.charset: msdos in uk_UA uses CP1125.
32774
32775 2002-11-04  Bruno Haible  <bruno@clisp.org>
32776
32777         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
32778         * lib/strcase.h: New file, from GNU gettext-0.11.5.
32779         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
32780         * lib/strstr.h: New file, from GNU gettext-0.11.5.
32781         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
32782
32783 2002-11-04  Bruno Haible  <bruno@clisp.org>
32784
32785         * lib/localcharset.c (locale_charset): Don't return an empty string.
32786
32787 2002-11-04  Bruno Haible  <bruno@clisp.org>
32788
32789         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
32790         aliases.
32791
32792 2002-11-04  Bruno Haible  <bruno@clisp.org>
32793
32794         * lib/config.charset: Update for newest glibc. Add canonical names
32795         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
32796
32797 2002-11-04  Bruno Haible  <bruno@clisp.org>
32798
32799         * lib/config.charset: Add support for NetBSD.
32800
32801 2002-11-04  Bruno Haible  <bruno@clisp.org>
32802
32803         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
32804
32805 2002-11-01  Bruno Haible  <bruno@clisp.org>
32806
32807         * configure.in: Add AC_CONFIG_AUX_DIR call.
32808         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
32809         test/Makefile.
32810         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
32811
32812 2002-09-28  Karl Berry  <karl@gnu.org>
32813
32814         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
32815         installed automake until the next release, since changes have been
32816         made.
32817
32818 2002-09-25  Karl Berry  <karl@gnu.org>
32819
32820         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
32821         * lib/getopt*: copy from libc/posix.
32822         * lib/gettext.h: copy from gettext.
32823         * lib/.cppi-disable: add strdup.c, gettext.h.
32824
32825 2002-09-25  Karl Berry  <karl@gnu.org>
32826
32827         * config/srclist.txt: enable gettext.h check.
32828         * config/config.{guess,sub}: update from prep.
32829         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
32830                 from automake 1.6.3.
32831         See srclist*.
32832
32833 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
32834
32835         * regex.c (PATFETCH): Remove the translating fetch.
32836         (PATFETCH_RAW): Rename to PATFETCH.
32837         (set_image_of_range): New fun.
32838         (SET_RANGE_TABLE_WORK_AREA): Use it.
32839         (regex_compile): Don't translate the pattern chars so eagerly.
32840         Only do it when inserting an `exactn' bytecode or when handling
32841         a char-range.
32842         (mutually_exclusive_p): Avoid empty statement.
32843
32844 2002-07-06  Jim Meyering  <meyering@lucent.com>
32845
32846         * m4/README: Don't mention Makefile.am.in.
32847         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
32848
32849 2002-07-01  Jim Meyering  <meyering@lucent.com>
32850
32851         * lib/c-stack.c: Include sys/time.h.
32852         From Volker Borchert.
32853
32854 2002-06-26  Paul Eggert  <eggert@twinsun.com>
32855
32856         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
32857
32858 2002-06-26  Paul Eggert  <eggert@twinsun.com>
32859
32860         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
32861         New macro.  Use it uniformly instead of
32862         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
32863         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
32864         reported by Vin Shelton.
32865
32866 2002-06-22  Paul Eggert  <eggert@twinsun.com>
32867
32868         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
32869         Do not assume SA_SIGINFO behavior.
32870         Bug reported by Jim Meyering on NetBSD 1.5.2.
32871
32872 2002-06-22  Jim Meyering  <meyering@lucent.com>
32873
32874         * m4/c-stack.m4: New file, from diffutils-2.8.2.
32875         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
32876
32877         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
32878         now that configure.ac uses AC_GNU_SOURCE.
32879         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
32880         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
32881
32882         Update to latest tools.  Suggestions from Paul Eggert.
32883         * m4/stdbool.m4: New file, from diffutils-2.8.2.
32884         * m4/gnu-source.m4: Update from diffutils-2.8.2.
32885         * m4/fnmatch.m4: Likewise.
32886         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
32887         to AC_HEADER_STDBOOL
32888
32889 2002-06-22  Jim Meyering  <meyering@lucent.com>
32890
32891         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
32892         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
32893
32894 2002-06-22  Jim Meyering  <meyering@lucent.com>
32895
32896         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
32897
32898         * lib/exitfail.c, exitfail.h: Likewise.
32899         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
32900
32901         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
32902         of fnmatch.h.
32903         (EXTRA_DIST): Add fnmatch_loop.c.
32904         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
32905
32906         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
32907         * lib/fnmatch.c: Update from diffutils-2.8.2.
32908         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
32909         * lib/fnmatch.h: Remove file.
32910
32911 2002-06-21  Jim Meyering  <meyering@lucent.com>
32912
32913         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
32914         * m4/mbrtowc.m4: Likewise.
32915
32916         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
32917         * m4/mbswidth.m4: Reflect name change:
32918         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
32919         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
32920
32921         * m4/lib-link.m4: Update from gettext-0.11.2.
32922         * m4/gettext.m4: Likewise.
32923
32924         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
32925         From Alfred M. Szmidt.
32926
32927 2002-06-18  Paul Eggert  <eggert@twinsun.com>
32928
32929         * lib/file-type.h: Report an error if neither S_ISREG nor
32930         S_IFREG is defined, instead of using a test specific to glibc
32931         2.2.  This should be safe, since POSIX requires S_ISREG and
32932         Unix Version 7 had S_IFREG.  We don't need to check for
32933         <sys/types.h> since we don't use any symbols that it defines.
32934
32935 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
32936
32937         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
32938         $@-t, so that each temporary file name is unique and valid in the first
32939         8 characters, for operation under DOS.
32940
32941 2002-06-15  Paul Eggert  <eggert@twinsun.com>
32942
32943         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
32944
32945 2002-06-15  Jim Meyering  <meyering@lucent.com>
32946
32947         Work even with DJGPP 2.03, which lacks support for symlinks.
32948         From Richard Dawe.
32949         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
32950         is defined.
32951         * lib/lchown.c (S_ISLNK): Likewise.
32952
32953 2002-06-15  Jim Meyering  <meyering@lucent.com>
32954
32955         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
32956         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
32957         have been included before this file.
32958
32959 2002-06-14  Jim Meyering  <meyering@lucent.com>
32960
32961         * lib/file-type.h: Use the version from diffutils-2.8.2.
32962         * lib/file-type.c: Likewise.
32963
32964 2002-06-07  Jim Meyering  <meyering@lucent.com>
32965
32966         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
32967         They're needed at least for NetBSD 1.5.2.
32968         ($statxfs_includes): Include those same headers.
32969         ($statxfs_includes): Include sys/vfs.h if available.
32970         ($statxfs_includes): Likewise for sys/statvfs.h.
32971         Check for the following members in both structs statfs and statvfs:
32972         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
32973
32974 2002-06-01  Jim Meyering  <meyering@lucent.com>
32975
32976         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
32977         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
32978
32979 2002-05-28  Jim Meyering  <meyering@lucent.com>
32980
32981         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
32982         Reported by Volker Borchert.
32983
32984 2002-05-27  Jim Meyering  <meyering@lucent.com>
32985
32986         Fix a problem seen only on nonconforming systems whereby ls.c's
32987         use of localtime, and then of gettimeofday would cause trouble:
32988         the localtime call used to initialize rpl_gettimeofday's save
32989         mechanism would clobber ls's current local time information so
32990         that in any long listing the first file would always be listed
32991         with date 1970-01-01.  Analysis by Volker Borchert.
32992
32993         * lib/gettimeofday.c (localtime): Undefine.
32994         (rpl_localtime): New function.
32995
32996 2002-05-27  Jim Meyering  <meyering@lucent.com>
32997
32998         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
32999         localtime.
33000
33001         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
33002         use the replacement function; it wouldn't resolve at link time.
33003         Reported by Volker Borchert.
33004
33005 2002-05-22  Jim Meyering  <meyering@lucent.com>
33006
33007         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
33008         file-type.h.
33009         * lib/file-type.h: New file.
33010         * lib/file-type.c (file_type): New file/function.  Extracted from
33011         diffutils.
33012
33013 2002-04-30  Jim Meyering  <meyering@lucent.com>
33014
33015         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
33016
33017 2002-04-29  Paul Eggert  <eggert@twinsun.com>
33018
33019         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
33020
33021 2002-04-29  Paul Eggert  <eggert@twinsun.com>
33022
33023         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
33024         Do not check for alloca.h (no longer used) or stdbool.h (was never
33025         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
33026
33027 2002-04-29  Paul Eggert  <eggert@twinsun.com>
33028
33029         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
33030
33031 2002-04-29  Jim Meyering  <meyering@lucent.com>
33032
33033         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
33034         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
33035         Use AC_FUNC_STRNLEN here instead.
33036
33037         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
33038         With autoconf-2.53a, it's part of AC_PROG_CC.
33039
33040 2002-04-28  Paul Eggert  <eggert@twinsun.com>
33041
33042         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
33043         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
33044
33045 2002-04-28  Paul Eggert  <eggert@twinsun.com>
33046
33047         * lib/sig2str.h, lib/sig2str.c: New files.
33048         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
33049
33050 2002-04-28  Paul Eggert  <eggert@twinsun.com>
33051
33052         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
33053         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
33054         of 127, since 64 is the largest conceivable number for ancient
33055         nonstandard hosts.
33056         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
33057
33058 2002-04-28  Jim Meyering  <meyering@lucent.com>
33059
33060         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
33061
33062 2002-04-24  Jim Meyering  <meyering@lucent.com>
33063
33064         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
33065         (jm_PREREQ): Use it.
33066
33067         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
33068         mach/mach.h fcntl.h.
33069         Check for this function: setlocale.
33070
33071 2002-04-24  Jim Meyering  <meyering@lucent.com>
33072
33073         * lib/gettext.h: New file, from Gettext.
33074         * lib/Makefile.am (INCLUDES): Remove -I../intl.
33075         (libfetish_a_SOURCES): Add gettext.h.
33076
33077 2002-04-16  Jim Meyering  <meyering@lucent.com>
33078
33079         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
33080         ut_pid, ut_id, ut_exit.
33081
33082 2002-04-16  Jim Meyering  <meyering@lucent.com>
33083
33084         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
33085         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
33086         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
33087
33088 2002-04-12  Jim Meyering  <meyering@lucent.com>
33089
33090         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
33091         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
33092         existence of the getmntinfo function.  Needed for Darwin 5.3.
33093
33094         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
33095         This is necessary at least on Darwin 5.3.
33096
33097         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
33098         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
33099         strnlen.o in the library, and that makes some versions of ranlib
33100         object.
33101
33102 2002-04-12  Jim Meyering  <meyering@lucent.com>
33103
33104         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
33105
33106 2002-04-09  Jim Meyering  <meyering@lucent.com>
33107
33108         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
33109         to be more precise.  Rather than saying we're checking whether the
33110         function `works', say what we're testing.
33111         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
33112         Reported by Bruno Haible.
33113
33114 2002-03-10  Jim Meyering  <meyering@lucent.com>
33115
33116         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
33117         Suggestion from Santiago Vila.
33118
33119 2002-03-08  Jim Meyering  <meyering@lucent.com>
33120
33121         * lib/rename.c: Mention that this wrapper is needed also on
33122         mips-dec-ultrix4.4 systems.
33123
33124 2002-03-02  Jim Meyering  <meyering@lucent.com>
33125
33126         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
33127         not HAVE_CLOCK_SETTIME.
33128
33129 2002-02-27  Paul Eggert  <eggert@twinsun.com>
33130
33131         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
33132         Check for clock_settime.
33133
33134 2002-02-27  Paul Eggert  <eggert@twinsun.com>
33135
33136         * lib/nanosleep.h: Rename to....
33137         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
33138
33139         * lib/gettime.c: New file.
33140         * lib/settime.c: New file.
33141         * lib/stime.c: Remove.
33142
33143         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
33144         timespec.h.  Remove nanosleep.h.
33145
33146 2002-02-25  Paul Eggert  <eggert@twinsun.com>
33147
33148         * m4/acl.m4: New file.
33149         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
33150         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
33151
33152 2002-02-25  Paul Eggert  <eggert@twinsun.com>
33153
33154         * lib/acl.c, lib/acl.h: New files.
33155         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
33156
33157 2002-02-24  Jim Meyering  <meyering@lucent.com>
33158
33159         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
33160         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
33161         cause trouble.  Reported by Nelson Beebe.
33162
33163 2002-02-23  Paul Eggert  <eggert@twinsun.com>
33164
33165         * lib/path-concat.c (xpath_concat): Reorder code to pacify
33166         compilers that don't know that xalloc_die never returns.
33167
33168 2002-02-20  Jim Meyering  <meyering@lucent.com>
33169
33170         * lib/getdate.c: Regenerate using bison-1.33.
33171
33172 2002-02-17  Jim Meyering  <meyering@lucent.com>
33173
33174         * config/config.guess (main): Don't use `head -1'; it's no longer
33175         portable. Use `sed 1q' instead.
33176
33177 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
33178
33179         * m4/codeset.m4: Upgrade to gettext-0.11.
33180         * m4/gettext.m4: Upgrade to gettext-0.11.
33181         * m4/glibc21.m4: Upgrade to gettext-0.11.
33182         * m4/iconv.m4: Upgrade to gettext-0.11.
33183         * m4/isc-posix.m4: Upgrade to gettext-0.11.
33184         * m4/lcmessage.m4: Upgrade to gettext-0.11.
33185         * m4/lib-ld.m4: New file, from gettext-0.11.
33186         * m4/lib-link.m4: New file, from gettext-0.11.
33187         * m4/lib-prefix.m4: New file, from gettext-0.11.
33188         * m4/progtest.m4: Upgrade to gettext-0.11.
33189
33190 2002-02-15  Paul Eggert  <eggert@twinsun.com>
33191
33192         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
33193         (jm_PREREQ): Use it.
33194
33195 2002-02-15  Paul Eggert  <eggert@twinsun.com>
33196
33197         * lib/posixver.c, lib/posixver.h: New files.
33198         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
33199
33200 2002-02-02  Paul Eggert  <eggert@twinsun.com>
33201             Bruno Haible  <bruno@clisp.org>
33202
33203         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
33204         (fwrite_success_callback): New declaration.
33205         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
33206         print_unicode_char. Call failure callback instead of error.
33207         (fwrite_success_callback): New function.
33208         (exit_failure_callback): New function.
33209         (fallback_failure_callback): New function.
33210         (print_unicode_char): Call unicode_to_mb.
33211
33212 2002-01-26  Jim Meyering  <meyering@lucent.com>
33213
33214         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
33215         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
33216
33217 2002-01-26  Jim Meyering  <meyering@lucent.com>
33218
33219         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
33220
33221 2002-01-22  Paul Eggert  <eggert@twinsun.com>
33222
33223         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
33224
33225 2002-01-22  Jim Meyering  <meyering@lucent.com>
33226
33227         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
33228         Otherwise, some versions of automake would omit the rule that makes
33229         Makefile from Makefile.in.
33230
33231 2002-01-21  Paul Eggert  <eggert@twinsun.com>
33232
33233         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
33234         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
33235         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
33236         (memcoll): Set errno to zero if there is no error.
33237
33238         * lib/quotearg.c (quotearg_buffer_restyled):
33239         Fix bug with quoting buffers containing NUL when backslashing escapes.
33240         This bug was exposed by the other changes in this patch.
33241         (quotearg_n_options): New arg ARGSIZE.
33242         All callers changed.
33243         (quoting_options_from_style): New function.
33244         (quotearg_n_style): Use it.
33245         (quotearg_n_style_mem): New function.
33246
33247         * lib/quotearg.h (quotearg_n_style_mem): New function.
33248
33249 2002-01-19  Jim Meyering  <meyering@lucent.com>
33250
33251         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
33252         Remove useless quotes: DF_PROG="df".
33253         * m4/strnlen.m4: New file.
33254
33255 2002-01-16  Paul Eggert  <eggert@twinsun.com>
33256
33257         * lib/backupfile.c (ISDIGIT): Comment fix.
33258         * lib/getdate.y (ISDIGIT): Likewise.
33259         * lib/posixtm.c (ISDIGIT, year): Likewise.
33260         * lib/strverscmp.c (ISDIGIT): Likewise.
33261         * lib/userspec.c (ISDIGIT): Likewise.
33262
33263 2002-01-16  Jim Meyering  <meyering@lucent.com>
33264
33265         * lib/getdate.y: Add three semicolons, each just before a closing
33266         brace. Bison (as of version 1.31) no longer papers over that mistake.
33267
33268 2002-01-05  Jim Meyering  <meyering@lucent.com>
33269
33270         * lib/version-etc.c (version_etc_copyright): Update copyright year.
33271
33272 2001-12-19  Paul Eggert  <eggert@twinsun.com>
33273
33274         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
33275         not silently exit merely because the output buffer happens to
33276         have nothing pending.
33277
33278 2001-12-18  Paul Eggert  <eggert@twinsun.com>
33279
33280         See the big note in ../ChangeLog.
33281         * lib/human.c (suffixes): Prefer K to k for 1024.
33282         (generate_suffix_backwards): New function.
33283         (human_readable_inexact): Use it.
33284         * lib/xstrtol.c (__xstrtol): If there is no number but there
33285         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
33286         Accept 'K' as well as 'k'.
33287
33288 2001-12-15  Jim Meyering  <meyering@lucent.com>
33289
33290         * lib/regex.h (__restrict_arr): Update from libc.
33291
33292         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
33293         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
33294         (STREQ): Define.
33295
33296 2001-12-14  Jim Meyering  <meyering@lucent.com>
33297
33298         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
33299         Suggestion from Bruno Haible.
33300
33301 2001-12-10  Jim Meyering  <meyering@lucent.com>
33302
33303         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
33304         xrealloc, Instead, include "xalloc.h".
33305         (initbuffer): Don't cast xmalloc return value to char*.
33306         (readline): Reword comment.
33307         Don't cast xrealloc return value to char*
33308         Return NULL, not 0.
33309
33310 2001-12-09  Jim Meyering  <meyering@lucent.com>
33311
33312         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
33313         about `signed and unsigned type in conditional expression'.
33314         * lib/posixtm.c (posix_time_parse): Likewise.
33315
33316         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
33317
33318         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
33319         to avoid a pedantic warning.
33320
33321         * lib/getstr.c: Don't include assert.h.
33322         (getstr): Remove warning-evoking assertions.
33323         Return -1 if offset parameter is out of bounds.
33324         Change the type of a local from int to size_t.
33325
33326         * lib/strftime.c (my_strftime_localtime_r): Include this function
33327         definition in the `#if ! HAVE_TM_GMTOFF' block.
33328
33329         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
33330         Include xalloc.h instead.
33331
33332 2001-12-02  Jim Meyering  <meyering@lucent.com>
33333
33334         * lib/tempname.c: Don't declare getenv, thus reverting the change of
33335         2001-11-18.  It's no longer necessary, now that stdlib.h is always
33336         included.
33337
33338         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
33339         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
33340
33341 2001-11-30  Akim Demaille  <akim@epita.fr>
33342
33343         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
33344         before being defined.
33345
33346 2001-11-27  Paul Eggert  <eggert@twinsun.com>
33347
33348         * lib/quotearg.h (quotearg_n, quotearg_n_style):
33349         First arg is int, not unsigned.
33350         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
33351         (SIZE_MAX, UINT_MAX): New macros.
33352         (quotearg_n_options): Abort if N is negative.
33353         Avoid overflow check on hosts where size_t is 64 bits and int
33354         is 32 bits, as overflow is impossible there.
33355         Fix off-by-one typo that caused unnecessary reallocation.
33356
33357 2001-11-27  Jim Meyering  <meyering@lucent.com>
33358
33359         * lib/tempname.c: Merge with version from libc.
33360         * lib/regex.c: Likewise.
33361
33362         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
33363         systems for which STDC_HEADERS is 0, it was not included, resulting in
33364         a warning about an integer-to-pointer conversion problem with getenv.
33365         Reported by Volker Borchert.
33366
33367 2001-11-26  Jim Meyering  <meyering@lucent.com>
33368
33369         * lib/gtod.h: Remove file.
33370         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
33371         * lib/gettimeofday.c: Don't include gtod.h.
33372         (GTOD_init): Remove function.
33373         (rpl_gettimeofday): Do its job here instead, rather than aborting.
33374         Suggestion from Volker Borchert.
33375
33376 2001-11-23  Jim Meyering  <meyering@lucent.com>
33377
33378         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
33379         it.
33380         * lib/hash.c (struct hash_table): Define it here instead.
33381
33382 2001-11-22  Jim Meyering  <meyering@lucent.com>
33383
33384         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
33385
33386 2001-11-20  Jim Meyering  <meyering@lucent.com>
33387
33388         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
33389         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
33390
33391 2001-11-19  Jim Meyering  <meyering@lucent.com>
33392
33393         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
33394         directory.  Use "conftestXXXXXX" as the template.
33395         Suggestion from Paul Eggert.
33396
33397         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
33398         immediately, so the test doesn't mistakenly hit the max-open-files
33399         limit.
33400
33401 2001-11-18  Paul Eggert  <eggert@twinsun.com>
33402
33403         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
33404         (TEMPORARIES): New macro.
33405         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
33406         removes an artificial limitation (e.g. HP-UX 10.20, where
33407         TMP_MAX is 17576).
33408
33409 2001-11-18  Jim Meyering  <meyering@lucent.com>
33410
33411         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
33412
33413 2001-11-18  Jim Meyering  <meyering@lucent.com>
33414
33415         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
33416         on SunOS 4.
33417
33418         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
33419         files will be created before anything else.
33420
33421 2001-11-17  Paul Eggert  <eggert@twinsun.com>
33422
33423         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
33424         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
33425
33426 2001-11-17  Jim Meyering  <meyering@lucent.com>
33427
33428         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
33429         Prompted by a report from Bob Proulx.
33430
33431         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
33432         Instead, require UTILS_FUNC_MKSTEMP.
33433
33434 2001-11-17  Jim Meyering  <meyering@lucent.com>
33435
33436         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
33437         Now, that's done as part of AC_FUNC_STRTOD.
33438
33439 2001-11-17  Jim Meyering  <meyering@lucent.com>
33440
33441         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
33442         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
33443         rather than group writable.  Patch by Juan F. Codagnone.
33444
33445         * lib/readtokens.c: Remove explicit declarations of xmalloc and
33446         xrealloc, Instead, include "xalloc.h".
33447
33448         * lib/mountlist.c: Include unlocked-io.h after all system headers.
33449         Remove explicit declarations of xmalloc, xrealloc,
33450         and xstrdup.  Instead, include "xalloc.h".
33451
33452         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
33453         unlocked-io.h.
33454         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
33455         Likewise.
33456         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
33457
33458         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
33459         Reported by Padraig Brady.
33460
33461         * lib/mkstemp.c: #undef mkstemp.
33462         Include config.h.
33463         (rpl_mkstemp): Rename from mkstemp.
33464         Protoize.
33465
33466 2001-11-16  Jim Meyering  <meyering@lucent.com>
33467
33468         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
33469         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
33470         determine the amount of total physical memory, use pstat_getstatic.
33471         HPUX-11 doesn't define _SC_PHYS_PAGES.
33472         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
33473         If sysconf couldn't be used to determine the amount of available
33474         physical memory, use both pstat_getstatic and pstat_getdynamic.
33475         Based on a patch from Bob Proulx.
33476
33477 2001-11-10  Jim Meyering  <meyering@lucent.com>
33478
33479         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
33480         (jm_PREREQ): Use it.
33481
33482 2001-11-09  Jim Meyering  <meyering@lucent.com>
33483
33484         * m4/jm-macros.m4: Require autoconf-2.52f.
33485         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
33486         Use these AC_-prefixed names, not the AM_-prefixed ones.
33487
33488         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
33489
33490 2001-11-05  Jim Meyering  <meyering@lucent.com>
33491
33492         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
33493
33494 2001-11-04  Jim Meyering  <meyering@lucent.com>
33495
33496         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
33497         $DEFS.
33498
33499 2001-11-03  Jim Meyering  <meyering@lucent.com>
33500
33501         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
33502         of AC_DEFUN.
33503
33504         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
33505         know the name of the variable in the macro definition.
33506
33507 2001-11-03  Jim Meyering  <meyering@lucent.com>
33508
33509         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
33510         in argmatch_to_argument call.
33511
33512         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
33513         argument.
33514
33515         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
33516         e.g., a fault due to an attempt to free a NULL pointer.
33517
33518 2001-11-01  Jim Meyering  <meyering@lucent.com>
33519
33520         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
33521         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
33522
33523 2001-11-01  Jim Meyering  <meyering@lucent.com>
33524
33525         * lib/dirfd.c, lib/dirfd.h: New files.
33526         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
33527
33528         * lib/hash.c (hash_print) [TESTING]: Clean up.
33529
33530 2001-10-22  Paul Eggert  <eggert@twinsun.com>
33531
33532         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
33533         to avoid a warning if -Wall.
33534
33535 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
33536
33537         * README: New file
33538         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
33539         (per RMS's instructions, this is now the canonical source)
33540         * lgpl/, gpl/: New directories.
33541
33542 2001-10-21  Paul Eggert  <eggert@twinsun.com>
33543
33544         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
33545
33546 2001-10-21  Jim Meyering  <meyering@lucent.com>
33547
33548         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
33549         this code would end up calling gettext even in packages built
33550         with --disable-nls.
33551         * lib/getopt.c (_): Likewise.
33552         * lib/regex.c (_): Likewise.
33553
33554 2001-10-20  Paul Eggert  <eggert@twinsun.com>
33555
33556         * m4/error.m4 (jm_PREREQ_ERROR):
33557         Do not invoke AC_CHECK_FUNCS with strerror_r, as
33558         AC_FUNC_STRERROR_R does that.
33559         Check for strerror declaration.
33560
33561         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
33562         are supposed to have them these days.
33563         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
33564         Merge changes from latest Autoconf CVS.
33565         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
33566         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
33567         POSIX decided to standardize on the int flavor of strerror_r.
33568
33569 2001-10-20  Paul Eggert  <eggert@twinsun.com>
33570
33571         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
33572         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
33573         Use strerror_r that is only a macro, even if it is not a function.
33574         (strerror): Check for HAVE_DECL_STRERROR before declaring.
33575         (private_strerror): Use prototypes, not old-style function definition.
33576         (print_errno_message): New function.
33577         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
33578         char*-flavored one.
33579         (error_tail, error, error_at_line): Use it.
33580
33581 2001-10-11  Jim Meyering  <meyering@lucent.com>
33582
33583         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
33584         and quote_n (1, ... to avoid clobbering a buffer.
33585
33586 2001-10-05  Jim Meyering  <meyering@lucent.com>
33587
33588         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
33589         hash-pjw.h.
33590         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
33591         * lib/hash-pjw.h: New file.
33592
33593 2001-09-30  Jim Meyering  <meyering@lucent.com>
33594
33595         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
33596         `struct fsstat' has the `f_fstypename' member.
33597         Use that to define FS_TYPE, which is now used to make
33598         the getfsstat link test tighter.
33599
33600 2001-09-30  Jim Meyering  <meyering@lucent.com>
33601
33602         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
33603         Include <sys/ucred.h>, for Apple Darwin.
33604         Include sys/mount.h and sys/fs_types.h only if available.
33605         (FS_TYPE): Define.
33606         (read_filesystem_list): Use FS_TYPE.
33607
33608 2001-09-29  Paul Eggert  <eggert@twinsun.com>
33609
33610         * lib/exclude.c (excluded_filename): 0 -> false, since it's
33611         a boolean context.
33612
33613 2001-09-29  Jim Meyering  <meyering@lucent.com>
33614
33615         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
33616         [one-argument getmntent function]): Include stdio.h before mntent.h.
33617         SunOS 4.1.x needs it for the declaration of `FILE'.
33618         Patch by Volker Borchert.
33619
33620         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
33621         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
33622         sys/fs_types.h, and make the link-test for getfsstat guard #include
33623         directives with appropriate #if HAVE_*_H tests so that we can
33624         detect getfsstat on Apple Darwin1.3.7 systems.
33625         Reported by Nelson Beebe.
33626         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
33627
33628 2001-09-28  Paul Eggert  <eggert@twinsun.com>
33629
33630         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
33631         #defines strtoimax.  Also treat the other strto* functions
33632         like strtoimax.
33633
33634         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
33635         Check for strtoul and strtoumax,
33636         as those declarations are made even in the signed case.
33637         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
33638         Likewise, for strtol and strtoimax.
33639
33640 2001-09-28  Paul Eggert  <eggert@twinsun.com>
33641
33642         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
33643         #defines strtoimax.  Also treat the other strto* functions
33644         like strtoimax.
33645
33646         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
33647         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
33648         (strtoimax, strtoumax): Do not declare if already defined as a macro.
33649
33650 2001-09-26  Jim Meyering  <meyering@lucent.com>
33651
33652         Most macros in unlocked-io.h had the wrong number of arguments.
33653         * lib/gen-uio: New script.
33654         (USE_UNLOCKED_IO): Define to 1 if not already defined.
33655         * lib/unlocked-io.hin: Remove file.
33656         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
33657         rather than trying to embed it here.
33658         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
33659         Reported by Padraig Brady.
33660
33661 2001-09-25  Volker Borchert  <bt@teknon.de>
33662
33663         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
33664         `result'.
33665
33666 2001-09-24  Jim Meyering  <meyering@lucent.com>
33667
33668         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
33669
33670 2001-09-23  Jim Meyering  <meyering@lucent.com>
33671
33672         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
33673         instead of the mere test for existence of mntent.h.  The latter
33674         would get a false-positive on AIX 3.4 systems.
33675         In the outer getmntent if-block, don't die if neither of the getmntent
33676         tests succeeds.  Instead, just fall through and continue with the
33677         remaining tests.
33678
33679 2001-09-23  Jim Meyering  <meyering@lucent.com>
33680
33681         * lib/mountlist.c: Remove useless parentheses in #if directives.
33682         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
33683         the deprecated MOUNTED symbol is no longer defined in mntent.h.
33684
33685 2001-09-22  Jim Meyering  <meyering@lucent.com>
33686
33687         * m4/gettext.m4: New file.  From gettext.
33688         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
33689         * m4/progtest.m4: Likewise
33690         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
33691         * m4/glibc21.m4: Likewise.
33692
33693         * m4/libintl.m4: Remove.  No longer used.
33694
33695 2001-09-22  Jim Meyering  <meyering@lucent.com>
33696
33697         * lib/localcharset.c: Update from latest gettext.
33698         * lib/config.charset: Likewise.
33699
33700 2001-09-20  Jim Meyering  <meyering@lucent.com>
33701
33702         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
33703         strtoimax.
33704         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
33705         strtoumax.
33706
33707 2001-09-20  Jim Meyering  <meyering@lucent.com>
33708
33709         * lib/xstrtol.c (strtoimax): Guard declaration with
33710         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
33711         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
33712         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
33713         (strtoumax): Likewise, for completeness (it wasn't necessary).
33714
33715 2001-09-17  Paul Eggert  <eggert@twinsun.com>
33716
33717         * lib/strtoimax.c (HAVE_LONG_LONG):
33718         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
33719         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
33720         to work around bug in IBM C compiler.
33721
33722 2001-09-17  Jim Meyering  <meyering@lucent.com>
33723
33724         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
33725         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
33726         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
33727         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
33728         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
33729         whenever the right hand side need not be expanded by the shell.
33730
33731 2001-09-16  Paul Eggert  <eggert@twinsun.com>
33732
33733         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
33734         library.  It's not correct, as some older glibcs are buggy.
33735         fnmatch wasn't fixed until glibc 2.2.
33736
33737         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
33738         special shell magic here.
33739
33740 2001-09-16  Jim Meyering  <meyering@lucent.com>
33741
33742         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
33743         * m4/jm-macros.m4: Require it.
33744
33745 2001-09-16  Jim Meyering  <meyering@lucent.com>
33746
33747         * lib/mkdir.c: New file.
33748
33749 2001-09-15  Jim Meyering  <meyering@lucent.com>
33750
33751         * m4/jm-macros.m4: Check for help2man.
33752
33753 2001-09-11  Jim Meyering  <meyering@lucent.com>
33754
33755         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
33756         The body, by Paul Eggert, was moved here from configure.in.
33757         * m4/jm-macros.m4: Require UTILS_HOST_OS.
33758
33759 2001-09-04  Paul Eggert  <eggert@twinsun.com>
33760
33761         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
33762         (jm_PREREQ): Use it.
33763
33764 2001-09-04  Paul Eggert  <eggert@twinsun.com>
33765
33766         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
33767         Use ssize_t, not int, to store result of readlink.
33768         Check for ssize_t overflow as well as size_t overflow,
33769         as POSIX says the result of readlink is implementation-defined
33770         when ssize_t overflows.
33771         Remove unnecessary cast to char*.
33772         Use free+malloc instead of realloc, as the storage doesn't need
33773         to be preserved and it's clearer and can be more efficient that way.
33774         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
33775         * lib/xreadlink.h (xreadlink): Update prototype.
33776
33777 2001-09-04  Paul Eggert  <eggert@twinsun.com>
33778
33779         * lib/xgetcwd.c: Revert some of the previous change; intead,
33780         fix the HAVE_GETCWD_NULL code to behave more like the
33781         !HAVE_GETCWD_NULL code used to.
33782
33783         Include "xalloc.h".
33784         (xgetcwd): Do not return NULL when memory is exhausted; instead,
33785         invoke xalloc_die.
33786
33787 2001-09-03  Paul Eggert  <eggert@twinsun.com>
33788
33789         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
33790         sys/param.h, as pathmax.h includes them.
33791
33792 2001-09-03  Paul Eggert  <eggert@twinsun.com>
33793
33794         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
33795         (jm_PREREQ_XGETCWD): New macro.
33796
33797         * m4/getcwd.m4: New file.
33798
33799 2001-09-03  Paul Eggert  <eggert@twinsun.com>
33800
33801         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
33802         like the HAVE_GETCWD_NULL code.
33803         Include pathmax.h if not HAVE_GETCWD.
33804         Do not include xalloc.h.
33805         (INITIAL_BUFFER_SIZE): New symbol.
33806         Do not use xmalloc / xrealloc, since the caller is responsible for
33807         handling errors.  Preserve errno around `free' during failure.
33808         Do not overrun buffer when using getwd.
33809
33810 2001-09-03  Paul Eggert  <eggert@twinsun.com>
33811
33812         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
33813         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
33814         getcwd (NULL, 0).
33815
33816 2001-09-03  Paul Eggert  <eggert@twinsun.com>
33817
33818         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
33819         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
33820         spotted by Jim Meyering.
33821
33822 2001-09-03  Jim Meyering  <meyering@lucent.com>
33823
33824         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
33825         failure.
33826
33827 2001-09-02  Jim Meyering  <meyering@lucent.com>
33828
33829         * lib/error.c: Update from GNU libc.
33830
33831 2001-09-01  Jim Meyering  <meyering@lucent.com>
33832
33833         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
33834         Used by df.
33835
33836 2001-09-01  Jim Meyering  <meyering@lucent.com>
33837
33838         * lib/xreadlink.c: New file.
33839         * lib/xreadlink.h: New file.
33840         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
33841         xreadlink.h.
33842
33843         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
33844         doesn't conflict with sparc Solaris 7's definition in
33845         /usr/include/sys/int_types.h.
33846
33847         * lib/exclude.c: Use `""', not `<>' to #include non-system header
33848         files.
33849         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
33850         and strncasecmp as r-values.  Unixware didn't have declarations.
33851
33852 2001-08-31  Paul Eggert  <eggert@twinsun.com>
33853
33854         * lib/xstrtol.h: Add copyright notice.
33855         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
33856         LONGINT_INVALID_SUFFIX_CHAR.
33857
33858 2001-08-31  Paul Eggert  <eggert@twinsun.com>
33859
33860         * lib/xstrtol.c (strtoimax): New decl.
33861
33862 2001-08-31  Paul Eggert  <eggert@twinsun.com>
33863
33864         * lib/xgetcwd.c: Don't include pathmax.h.
33865         Include stdlib.h and unistd.h if available.
33866         Include xalloc.h.
33867         (xmalloc, xstrdup, free): Remove decls.
33868         (xgetcwd): Don't assume sizes fit in unsigned.
33869         Check for overflow when computing sizes.
33870         Simplify reallocation code.
33871
33872 2001-08-31  Paul Eggert  <eggert@twinsun.com>
33873
33874         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
33875         a directory's st_size can have an arbitrary value, so the old
33876         usage could waste an arbitrary amount of memory.  All uses
33877         changed.
33878         * lib/savedir.h: Update prototype.
33879
33880 2001-08-31  Paul Eggert  <eggert@twinsun.com>
33881
33882         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
33883
33884         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
33885         old strtoimax.c.
33886
33887         Also, make the following further changes to make this file's
33888         configuration more similar to that of strtol.c:
33889         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
33890         (strtoumax, uintmax_t, strtoull, strtol): Remove.
33891         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
33892         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
33893         changed to signed values.
33894
33895         And make the following changes as well:
33896         Fix copyright notice, as 1999 was missing.
33897         (verify): New macro.
33898         (strtoimax): Check sizes at compile-time, not run-time.
33899         Prefer strtol to strtoll if both work.
33900         (main): Remove; it was not that useful and was a pain to maintain.
33901
33902         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
33903
33904 2001-08-31  Jim Meyering  <meyering@lucent.com>
33905
33906         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
33907         Use an initial, malloc'd, buffer of length 128 rather than
33908         a statically allocated one of length 1024.
33909
33910 2001-08-30  Paul Eggert  <eggert@twinsun.com>
33911
33912         Simplify code, partly by assuming autoconf 2.52 semantics.
33913
33914         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
33915
33916         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
33917         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
33918         All uses removed.
33919         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
33920         Move AC_REQUIRE to next-to-top level, to avoid confusion.
33921         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
33922         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
33923         jm_AC_HEADER_INTTYPES_H.
33924         * m4/jm-macros.m4 (jm_MACROS): Likewise.
33925
33926         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
33927
33928         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
33929         Quote first arg of AC_DEFUN.
33930         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
33931         since they are needed to parse the include file even if we need
33932         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
33933         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
33934         but with opposite signedness.
33935
33936 2001-08-30  Paul Eggert  <eggert@twinsun.com>
33937
33938         Merge 'exclude' changes from tar 1.13.22.
33939         This fixes one or two unlikely storage allocation overflow bugs,
33940         but doesn't change user-visible behavior otherwise.
33941
33942 2001-08-30  Paul Eggert  <eggert@twinsun.com>
33943
33944         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
33945         (jm_PREREQ_EXCLUDE): New macro.
33946
33947 2001-08-30  Paul Eggert  <eggert@twinsun.com>
33948
33949         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
33950         tm to be declared.
33951
33952 2001-08-30  Paul Eggert  <eggert@twinsun.com>
33953
33954         * lib/hash.c: Remove '2001' from copyright notice.
33955
33956 2001-08-30  Paul Eggert  <eggert@twinsun.com>
33957
33958         * lib/full-write.h: New file.
33959         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
33960         * lib/full-write.c: Correct credits, as cccp.c no longer
33961         exists and anyway it was so heavily changed from the old cccp
33962         code as to be unrecognizable.  Include full-write.h.
33963         (full_write) Return size_t, with short writes meaning failure.
33964         All callers changed.  This fixes a bug with large buffers
33965         on 64-bit hosts.
33966         * lib/utime.c: Include full-write.h.
33967
33968 2001-08-30  Paul Eggert  <eggert@twinsun.com>
33969
33970         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
33971         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
33972         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
33973         Include if available.
33974         (<xalloc.h>): Include
33975         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
33976         (verify): New macro.  Use it to verify that EXCLUDE macros do not
33977         collide with FNM macros.
33978         (struct patopts): New struct.
33979         (struct exclude): Use it, as exclude patterns now come with options.
33980         (new_exclude): Support above changes.
33981         (new_exclude, add_exclude_file):
33982         Initial size must now be a power of two to simplify overflow checking.
33983         (free_exclude, fnmatch_no_wildcards): New function.
33984         (excluded_filename): No longer requires options arg, as the options
33985         are determined by add_exclude.  Now returns bool, not int.
33986         (excluded_filename, add_exclude):
33987         Add support for the fancy new exclusion options.
33988         (add_exclude, add_exclude_file): Now takes int options arg.
33989         Check for arithmetic overflow when computing sizes.
33990         (add_exclude_file): xrealloc might modify errno, so don't
33991         realloc until after errno might be used.
33992
33993         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
33994         New macros.
33995         (free_exclude): New decl.
33996         (add_exclude, add_exclude_file): Now takes int options arg.
33997         (excluded_filename): No longer requires options arg, as the options
33998         are determined by add_exclude.  Now returns bool, not int.
33999
34000 2001-08-30  Paul Eggert  <eggert@twinsun.com>
34001
34002         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
34003
34004 2001-08-27  Jim Meyering  <meyering@lucent.com>
34005
34006         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
34007
34008         * lib/version-etc.c (N_): Remove definition.
34009         Revert most of last change.
34010         Instead, simply don't mark the `Copyright...' string for translation.
34011         Based on advice from Paul Eggert.
34012
34013         * lib/strtoxmax.c: Tweak comment.
34014
34015 2001-08-26  Jim Meyering  <meyering@lucent.com>
34016
34017         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
34018
34019         * m4/xstrtoimax.m4: New file.
34020         * m4/xstrtoumax.m4: Add comments explaining why we
34021         AC_REPLACE_FUNCS(strtol).
34022
34023 2001-08-26  Jim Meyering  <meyering@lucent.com>
34024
34025         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
34026         of copyright with `%s' so translators don't get an untranslated
34027         message in 2002.
34028         (COPYRIGHT_YEAR): Define.
34029         (version_etc): Use fprintf rather than fputs.
34030         Suggestion from Ulrich Drepper.
34031
34032         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
34033
34034         * lib/strtoll.c: New file, from GNU libc.
34035         * lib/xstrtoimax.c: New file.
34036
34037         * lib/xstrtol.h: Add xstrtoimax.
34038         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
34039         * lib/strtoimax.c: New file.  Likewise, but first define
34040         STRTOUXMAX_SIGNED.
34041
34042         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
34043         ...
34044         * lib/strtoxmax.c: ... then renamed to this.
34045
34046 2001-08-18  Paul Eggert  <eggert@twinsun.com>
34047
34048         * m4/inttypes.m4: Add AC_PREREQ(2.13).
34049         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
34050         (jm_AC_TYPE_INTMAX_T): New macro.
34051         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
34052
34053         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
34054
34055         * m4/longlong.m4: Renamed from ulonglong.m4.
34056         * m4/inttypes.m4: Renamed from inttypes_h.m4.
34057         * m4/uintmax_t.m4: Removed.
34058
34059 2001-08-13  Paul Eggert  <eggert@twinsun.com>
34060
34061         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
34062         Port to Solaris 8, where 'sed' requires a space after the 'r'
34063         command, and where sh dislikes "$/".  Clean up the spacing a bit.
34064         Redirect output to $tmp just once.
34065
34066 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
34067
34068         * lib/addext.c (<errno.h>): Include.
34069         (errno): Declare if not defined.
34070         (addext): Work correctly when pathconf returns -1 and leaves
34071         errno alone because there is no limit.  Also, work even if
34072         pathconf returns a value greater than SIZE_MAX.
34073
34074 2001-08-12  Jim Meyering  <meyering@lucent.com>
34075
34076         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
34077         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
34078         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
34079         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
34080         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
34081         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
34082         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
34083         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
34084         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
34085         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
34086         utime.m4, utimes.m4, xstrtoumax.m4:
34087         Quote the first argument in each use of AC_DEFUN.
34088
34089 2001-08-12  Jim Meyering  <meyering@lucent.com>
34090
34091         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
34092         Simply `return getcwd (NULL, 0);'.
34093         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
34094         Use 1300 as initial value for length, not PATH_MAX.
34095
34096         * lib/pathmax.h: Clean up cpp syntax.
34097
34098 2001-08-12  Jim Meyering  <meyering@lucent.com>
34099
34100         * lib/gettimeofday.c: New file.
34101         * lib/gtod.h: New file.
34102         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
34103
34104 2001-08-05  Jim Meyering  <meyering@lucent.com>
34105
34106         * m4/jm-macros.m4: Require autoconf-2.52.
34107
34108 2001-08-04  Jim Meyering  <meyering@lucent.com>
34109
34110         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
34111         stmt, to get in sync with glibc.
34112
34113 2001-08-03  Paul Eggert  <eggert@twinsun.com>
34114
34115         The following changes are from gettext 0.10.39 as maintained by
34116         Bruno Haible.
34117
34118         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
34119         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
34120         with inverted sense.  All uses changed.
34121
34122         * lib/mbswidth.c: Don't include <limits.h>.
34123         Include <stdlib.h> and <string.h> unconditionally.
34124         (iswcntrl, mbsinit, ISCNTRL): New macros.
34125         (mbsnwidth): Use K&R style function declarations.
34126         Don't bother checking for MB_LEN_MAX == 1, since the compiler
34127         can optimize it when MB_CUR_MAX == 1.
34128         The width of control characters is zero, not 1.
34129
34130 2001-08-03  Paul Eggert  <eggert@twinsun.com>
34131
34132         The following changes are from gettext 0.10.39 as maintained by
34133         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
34134
34135         * m4/codeset.m4: Upgrade to serial AM1.
34136         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
34137         all uses changed.  Quote first arg of AC_DEFUN.
34138         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
34139
34140         * m4/iconv.m4: Upgrade to serial AM2.
34141         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
34142         Add --with-libconv-prefix.
34143         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
34144         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
34145         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
34146         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
34147         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
34148
34149         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
34150         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
34151         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
34152         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
34153         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
34154         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
34155         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
34156         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
34157         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
34158
34159         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
34160         string.h any more.
34161
34162         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
34163         not the default value.
34164
34165         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
34166         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
34167         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
34168         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
34169         Also check for iswcntrl, used for wcwidth fallback.
34170         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
34171         to Autoconf 2.13.
34172
34173 2001-08-03  Jim Meyering  <meyering@lucent.com>
34174
34175         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
34176         as it was in the original.  Reported by Paul Eggert.
34177
34178 2001-07-16  Jim Meyering  <meyering@lucent.com>
34179
34180         * m4/gettimeofday.m4: New file.
34181         Prompted by a report from Bernhard Baehr.
34182
34183 2001-07-15  Jim Meyering  <meyering@lucent.com>
34184
34185         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
34186         stuff. Now it's in ../Makefile.cfg.
34187
34188 2001-07-15  Jim Meyering  <meyering@lucent.com>
34189
34190         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
34191         (BUILT_SOURCES): Add unlocked-io.h.
34192         (io_functions): Define.
34193         (unlocked-io.h): New rule.
34194         (DISTCLEANFILES): Add unlocked-io.h.
34195         (all-local): Depend on unlocked-io.h, to ensure it is created.
34196
34197         * lib/unlocked-io.hin: New file
34198
34199         * lib/regex.c: Update from glibc.
34200
34201 2001-07-05  Jim Meyering  <meyering@lucent.com>
34202
34203         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
34204         recommendation.
34205         (libfetish_a_SOURCES): Put all .h files here instead.
34206         Remove a thus-exposed (better checks in automake) duplicate and
34207         two unnecessary .h files.
34208
34209 2001-07-04  Jim Meyering  <meyering@lucent.com>
34210
34211         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
34212         that generates jm-glibc-io.m4 so that it doesn't trigger any make
34213         distcheck failure.
34214
34215 2001-07-02  Jim Meyering  <meyering@lucent.com>
34216
34217         The following changes were prompted by suggestions from Bruno Haible.
34218
34219         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
34220         is now generated.
34221         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
34222         definition of EXTRA_DIST.
34223         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
34224         ensure that the generated file is created/updated whenever the list
34225         of $(unlocked_functions) is changed.
34226         (jm-glibc-io.m4): New rule.
34227         (unlocked-io.h): New rule -- currently unused.
34228
34229 2001-06-24  Jim Meyering  <meyering@lucent.com>
34230
34231         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
34232         unmatched right bracket, rather than kludging it with an extra,
34233         falsely-matching quote in a comment.  Patch by Akim Demaille.
34234
34235 2001-06-11  Jim Meyering  <meyering@lucent.com>
34236
34237         * lib/regex.c: Update from GNU libc.
34238
34239 2001-05-27  Jim Meyering  <meyering@lucent.com>
34240
34241         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
34242         Check for ut_type in struct utmp.
34243
34244 2001-05-27  Jim Meyering  <meyering@lucent.com>
34245
34246         * lib/readutmp.h (UT_TYPE): Define.
34247
34248 2001-05-24  Jim Meyering  <meyering@lucent.com>
34249
34250         * lib/argmatch.c: Include "quote.h".
34251         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
34252         quote function.  Reported by Göran Uddeborg.
34253
34254 2001-05-22  Jim Meyering  <meyering@lucent.com>
34255
34256         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
34257         now that we use the package-supplied version unconditionally.
34258         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
34259
34260 2001-05-21  Jim Meyering  <meyering@lucent.com>
34261
34262         * m4/regex.m4: Change a couple backticks to single quotes to avoid
34263         shell syntax errors.
34264
34265 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
34266
34267         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
34268
34269 2001-05-20  Paul Eggert  <eggert@twinsun.com>
34270
34271         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
34272         Don't bother to check library strftime, since
34273         we'll be using our own my_strftime function anyway.
34274         Define my_strftime instead of strftime.
34275
34276 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
34277
34278         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
34279         which is not yet declared.
34280
34281 2001-05-15  Jim Meyering  <meyering@lucent.com>
34282
34283         * m4/regex.m4: Use proper quoting so brackets appear in the test
34284         program.
34285         Reported by, and with help from, Bruno Haible.
34286
34287 2001-05-13  Jim Meyering  <meyering@lucent.com>
34288
34289         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
34290         undefined.
34291
34292 2001-05-11  Paul Eggert  <eggert@twinsun.com>
34293
34294         dirname code cleanup.  base_name now behaves more compatibly
34295         with POSIX basename when given file names that have trailing
34296         slashes, and similarly for dir_name.  Add new primitives
34297         base_len and dir_len.  Put the directory-name-related decls
34298         into dirname.h.
34299
34300         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
34301         * lib/backupfile.c (base_name): Likewise.
34302         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
34303         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
34304         * lib/makepath.c (strip_trailing_slashes): Likewise.
34305         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
34306         ISSLASH): Likewise.
34307         * lib/rename.c (strip_trailing_slashes): Likewise.
34308         * lib/same.c (base_name): Likewise.
34309         * lib/stripslash.c (ISSLASH): Likewise.
34310
34311         * lib/addext.c: Include <dirname.h> after size_t is defined.
34312         * lib/backupfile.c: Likewise.
34313
34314         * lib/addext.c (addext): Use base_len to trim redundant
34315         trailing slashes instead of doing it ourselves.
34316         But do not trim the last slash if it is not redundant.
34317
34318         * lib/backupfile.c (find_backup_file_name,
34319         max_backup_version): Use base_len instead of rolling it ourselves.
34320         Handle the case of "" and (on DOS) "C:" correctly.
34321
34322         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
34323         needed. Include <string.h>, <dirname.h>.
34324         (base_name): Allow file names ending in slashes, other than names
34325         that are all slashes.  In this case, return the basename followed
34326         by the slashes.  This is more general, and can be used in places
34327         where the original base_name purposely had an assertion failure.
34328         (base_len): New function.
34329
34330         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
34331         Do not include <assert.h>; no longer needed.
34332         Include xalloc.h.
34333         (memrchr): Remove decl.
34334         (dir_name_r): Remove.
34335         (dir_len): Renamed from dirlen.  All callers changed.
34336         Rewrite in terms of base_name, for simplicity and consistency.
34337         (dir_name): Never return NULL.  All callers changed.
34338         Do not include <stdlib.h> in test program; no longer needed.
34339         return 0; is fine for test program.
34340
34341         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
34342         New macros.
34343         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
34344
34345         * lib/path-concat.c (path_concat): Use base_len to compute
34346         base length, not strlen; this means we cannot rely on memcpy
34347         to null-terminate.
34348
34349         * lib/same.c (STREQ): Remove.
34350         (same_name): Handle the case where the basename ends in trailing '/'.
34351
34352         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
34353         a slash was stripped.  Do not strip the last slash after a
34354         file system prefix.
34355
34356 2001-05-11  Paul Eggert  <eggert@twinsun.com>
34357
34358         * lib/Makefile.am (libfetish_a_SOURCES):
34359         Add strftime.c, since we now compile it on all hosts.
34360
34361         * lib/strftime.c (my_strftime):
34362         Define to nstrftime if emacs, but only if my_strftime is not defined.
34363         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
34364         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
34365         Add one more extra argument: a nanoseconds value.
34366         All uses changed.
34367         (ns): New macro.
34368         (my_strftime function): Add %N format.
34369         (emacs_strftimeu): Renamed from emacs_strftime,
34370         with extra ut argument.
34371
34372 2001-05-09  Paul Eggert  <eggert@twinsun.com>
34373
34374         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
34375
34376 2001-04-21  Jim Meyering  <meyering@lucent.com>
34377
34378         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
34379         doesn't interfere.
34380
34381 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
34382
34383         * m4/ftruncate.m4: Check for chsize.
34384         Link with ftruncate.o unconditionally if ftruncate is missing.
34385         This was required when cross-compiling to i586-mingw32msvc.
34386
34387 2001-04-08  Jim Meyering  <meyering@lucent.com>
34388
34389         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
34390         recomputed; that's necessary when the offset spans a DST transition.
34391         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
34392
34393 2001-04-02  Jim Meyering  <meyering@lucent.com>
34394
34395         * lib/regex.h, regex.c: Update from GNU libc.
34396
34397 2001-03-24  Jim Meyering  <meyering@lucent.com>
34398
34399         * m4/jm-macros.m4: Require autoconf-2.49d.
34400
34401 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
34402
34403         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
34404
34405 2001-03-19  Paul Eggert  <eggert@twinsun.com>
34406
34407         * lib/version-etc.c (version_etc_copyright): Update to 2001.
34408
34409 2001-03-17  Jim Meyering  <meyering@lucent.com>
34410
34411         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
34412         now that the version in autoconf is equivalent.
34413         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
34414
34415         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
34416         Suggestion from Akim Demaille.
34417
34418         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
34419         (jm_PREREQ_TEMPNAME): New function.
34420
34421 2001-03-16  Paul Eggert  <eggert@twinsun.com>
34422
34423         * lib/tempname.c (uint64_t): Define to uintmax_t if
34424         not defined, and if UINT64_MAX is not defined.
34425         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
34426         Reported by John David Anglin.
34427
34428 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
34429
34430         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
34431         resolve alias if codeset is empty.
34432         * lib/config.charset (BeOS): Use wildcard syntax.
34433
34434 2001-03-13  Jim Meyering  <meyering@lucent.com>
34435
34436         * lib/path-concat.c (path_concat)
34437         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
34438         concatenating e.g., `C:' and `foo'.
34439         From Bruno Haible.
34440
34441 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
34442
34443         * lib/localcharset.c (locale_charset): Don't use
34444         setlocale(LC_CTYPE,NULL). Don't return NULL.
34445         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
34446
34447 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
34448
34449         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
34450         support for DOS/DJGPP.
34451
34452 2001-03-01  Paul Eggert  <eggert@twinsun.com>
34453
34454         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
34455         lacks mkstemp.  Compile our own tempname.c if we compile our own
34456         mkstemp.c, as mkstemp relies on tempname.
34457
34458 2001-03-01  Jim Meyering  <meyering@lucent.com>
34459
34460         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
34461         AH_VERBATIM really does output its argument verbatim.
34462
34463 2001-02-28  Paul Eggert  <eggert@twinsun.com>
34464
34465         * lib/Makefile.am (libfetish_a_SOURCES):
34466         Add dup-safer.c, fopen-safer.c.
34467         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
34468
34469         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
34470         * lib/unistd-safer.h: New files.
34471
34472 2001-02-25  Paul Eggert  <eggert@twinsun.com>
34473
34474         The mkstemp replacement is taken from glibc 2.2.2, with some
34475         portability fixes for use outside glibc, as follows:
34476
34477         * lib/tempname.c (struct_stat64): New macro.
34478         (direxists, __gen_tempname): Use it.
34479         This avoids a portability problem with Solaris 8.
34480
34481         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
34482         (<stddef.h>, <stdint.h>, <string.h>):
34483         Include only if STDC_HEADERS || _LIBC.
34484         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
34485         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
34486         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
34487         (__set_errno): Define this macro if <errno.h> doesn't.
34488         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
34489         Define these macros if <stdio.h> doesn't.
34490         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
34491         Define these macros if <sys/stat.h>
34492         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
34493         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
34494         __xstat64): Define if not _LIBC.
34495         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
34496         (__gen_tempname): Invoke gettimeofday only if
34497         HAVE_GETTIMEOFDAY || _LIBC;
34498         otherwise, fall back on plain "time".
34499         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
34500
34501         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
34502
34503         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
34504
34505 2001-02-18  Paul Eggert  <eggert@twinsun.com>
34506
34507         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
34508
34509 2001-02-17  Paul Eggert  <eggert@twinsun.com>
34510
34511         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
34512         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
34513         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
34514         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
34515
34516 2001-02-17  Paul Eggert  <eggert@twinsun.com>
34517
34518         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
34519         Remove workaround macros for hosts that have mbrtowc but not
34520         mbstate_t, as we now insist on proper declarations for both
34521         before using mbrtowc.
34522
34523 2001-02-17  Jim Meyering  <meyering@lucent.com>
34524
34525         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
34526         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
34527         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
34528         UnixWare 7.1.1.
34529
34530         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
34531         rather than AC_CACHE_VAL.
34532
34533 2001-02-17  Jim Meyering  <meyering@lucent.com>
34534
34535         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
34536         around included file name.
34537
34538         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
34539
34540         * lib/strftime.c: Update from GNU libc (the only changes were to
34541         comments).
34542
34543 2001-02-17  Jim Meyering  <meyering@lucent.com>
34544
34545         * lib/regex.c: Update from libc.
34546
34547 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
34548
34549         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
34550         clash.
34551
34552 2001-02-16  Paul Eggert  <eggert@twinsun.com>
34553
34554         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
34555         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
34556         Reported by Mark Hounschell via Paul Eggert.
34557
34558 2001-02-07  Jim Meyering  <meyering@lucent.com>
34559
34560         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
34561
34562 2001-02-05  Jim Meyering  <meyering@lucent.com>
34563
34564         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
34565         it includes the patch required for `large file' support with at least
34566         HP-UX's 10.20 /bin/cc.
34567
34568 2001-02-03  Jim Meyering  <meyering@lucent.com>
34569
34570         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
34571         AS_IF, now that it works once again (mysteriously).
34572         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
34573
34574 2001-01-30  Jim Meyering  <meyering@lucent.com>
34575
34576         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
34577         * m4/chown.m4: Rename conftestchown to conftest.chown.
34578         * m4/rename.m4: s/conftestdir/conftest.d1/ and
34579         s/conftestdir2/conftest.d2/.
34580         * m4/utimes.m4: s/conftestdata/conftest.data/
34581         Inspired by Pavel Roskin's change in autoconf.
34582
34583 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
34584
34585         * lib/config.charset: Update for FreeBSD 4.2.
34586
34587 2001-01-27  Jim Meyering  <meyering@lucent.com>
34588
34589         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
34590         a use of AS_IF.
34591         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
34592
34593 2001-01-26  Jim Meyering  <meyering@lucent.com>
34594
34595         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
34596         quotearg.c includes it.
34597
34598 2001-01-26  Jim Meyering  <meyering@lucent.com>
34599
34600         * lib/quotearg.c: Include stddef.h.
34601         * lib/quote.c: Include stddef.h.
34602         Reported by Axel Kittenberger.
34603
34604         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
34605         line in double quotes so that it evokes a better diagnostic.
34606         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
34607         Reported by Axel Kittenberger.
34608
34609 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
34610
34611         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
34612         as if it was a `charset'.
34613
34614 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
34615
34616         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
34617         has const.
34618
34619 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
34620
34621         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
34622         to avoid a warning.  Add back 'const' to inptr.
34623
34624 2001-01-20  Jim Meyering  <meyering@lucent.com>
34625
34626         Be sure that headers are checked before used in code compiled
34627         for the type checks.
34628         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
34629         In place of that, invoke jm_CHECK_ALL_TYPES.
34630         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
34631         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
34632         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
34633         The check for ssize_t was mistakenly run before the test for unistd.h.
34634
34635         The configure-time check for stdbool.h was missing.
34636         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
34637         (jm_PREREQ_HASH): New function.
34638
34639 2001-01-17  Jim Meyering  <meyering@lucent.com>
34640
34641         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
34642         for autoconf-2.49c.
34643         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
34644
34645 2001-01-16  Jim Meyering  <meyering@lucent.com>
34646
34647         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
34648         From Bruno Haible.
34649
34650 2001-01-14  Jim Meyering  <meyering@lucent.com>
34651
34652         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
34653         foo and bar.  Create conftestdir/ in the script, not in the C code.
34654         Remove directories in the script, not in the C code.
34655         Remove conftestdir{,2} before trying to create the directory.
34656         Make the entire configure script fail if the mkdir fails.
34657
34658 2001-01-14  Jim Meyering  <meyering@lucent.com>
34659
34660         * lib/rename.c: New file.  From Volker Borchert.
34661         Include stdlib.h, string.h or strings.h, and xalloc.h.
34662         Use strip_trailing_slashes rather than open-coding it.
34663
34664 2001-01-03  Paul Eggert  <eggert@twinsun.com>
34665
34666         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
34667
34668 2001-01-03  Jim Meyering  <meyering@lucent.com>
34669
34670         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
34671         of local `inptr' to avoid warning with some system declarations of
34672         iconv.
34673
34674 2001-01-02  Volker Borchert  <bt@teknon.de>
34675
34676         * m4/rename.m4: New file.
34677         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
34678
34679 2001-01-01  Jim Meyering  <meyering@lucent.com>
34680
34681         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
34682         even on systems with utmpx.h.  It's necessary for the declaration of
34683         utmp's ut_user member.  Reported by Andreas Jaeger.
34684
34685         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
34686         available. They are required for the declarations of getgrgid and
34687         getpwuid resp.
34688         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
34689         Reported by Andreas Jaeger.
34690
34691 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
34692
34693         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
34694         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
34695         so `make install' also works in VPATH builds.
34696
34697 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
34698
34699         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
34700         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
34701         can be used in subdirectories.
34702
34703 2000-12-29  Paul Eggert  <eggert@twinsun.com>
34704
34705         * lib/modechange.c: Do not assume that mode_t uses the
34706         traditional octal encoding.  E.g. "chmod 1 FOO" should set
34707         the other-execute bit of FOO even if S_IXOTH != 1.
34708
34709         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
34710         WOTH, XOTH, ALLM): New macros.
34711         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
34712          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
34713         Use them.
34714         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
34715         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
34716         (mode_compile):
34717         No need to use uintmax_t; unsigned long is long enough.
34718         Don't bother to get suffix since we don't use it.
34719
34720 2000-12-26  Jim Meyering  <meyering@lucent.com>
34721
34722         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
34723         better with autoheader.
34724
34725 2000-12-24  Jim Meyering  <meyering@lucent.com>
34726
34727         * lib/hash.c (is_prime): Return explicit boolean values.
34728         (hash_get_first): Return NULL to appease Irix5.6's 89.
34729         Reported by Nelson Beebe.
34730
34731 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
34732
34733         * lib/localcharset.c (locale_charset): Add support for Win32.
34734
34735 2000-12-18  Paul Eggert  <eggert@twinsun.com>
34736
34737         * lib/physmem.h, lib/physmem.c: New files.
34738
34739         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
34740         (noinst_HEADERS): Add physmem.h.
34741
34742         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
34743         't' for compatibility with Solaris 8 sort.
34744
34745 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
34746
34747         * lib/config.charset: Add support for BeOS.
34748
34749 2000-12-17  Jim Meyering  <meyering@lucent.com>
34750
34751         * m4/dos.m4 (jm_AC_DOS): New file and macro.
34752         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
34753
34754 2000-12-16  Jim Meyering  <meyering@lucent.com>
34755
34756         This bug had a serious impact on chown: `chown N:M FILE' (for integer
34757         N and M) would have treated it like `chown N:N FILE'.
34758
34759         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
34760
34761 2000-12-16  Jim Meyering  <meyering@lucent.com>
34762
34763         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
34764         SHELLS_FILE to a file name that's useful on djgpp systems.
34765         Include stdlib.h.
34766         (ADDITIONAL_DEFAULT_SHELLS): Define.
34767         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
34768         Based mostly on a patch from Prashant TR.
34769
34770 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
34771
34772         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
34773         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
34774         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
34775
34776 2000-12-08  Andreas Schwab  <schwab@suse.de>
34777
34778         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
34779         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
34780
34781 2000-12-07  Jim Meyering  <meyering@lucent.com>
34782
34783         * lib/stripslash.c (ISSLASH): Define.
34784         (strip_trailing_slashes): Use ISSLASH rather than comparing against
34785         `/'.
34786         From Prashant TR.
34787
34788         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
34789         (dir_name_r): Declare this function as static.
34790         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
34791         manifest itself on a name containing a mix of slashes and
34792         backslashes.
34793         Make this function work with names starting with a DOS-style
34794         drive letter and colon prefix.
34795         (dir_name): Append `.' if necessary.
34796         Based mostly on patches from Prashant TR and Eli Zaretskii.
34797
34798         * lib/dirname.h (dir_name_r): Remove prototype.
34799
34800 2000-12-06  Paul Eggert  <eggert@twinsun.com>
34801
34802         * m4/off_t-format.m4: Remove this file.
34803         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
34804
34805 2000-12-06  Jim Meyering  <meyering@lucent.com>
34806
34807         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
34808         replacement strtoull, we may well need the replacement strtoul, too.
34809         Check for declarations of strtoul and strtoull.
34810         Check for strtol.  Mainly as a cue to cause automake to include
34811         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
34812         Check for limits.h -- strtol.c needs it.
34813
34814 2000-12-05  Jim Meyering  <meyering@lucent.com>
34815
34816         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
34817
34818 2000-12-04  Jim Meyering  <meyering@lucent.com>
34819
34820         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
34821         Also include memory.h, stdlib.h, unistd.h if appropriate.
34822         Reported by Andreas Jaeger (conflicting declaration of malloc).
34823
34824 2000-12-02  Jim Meyering  <meyering@lucent.com>
34825
34826         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
34827         * m4/jm-macros.m4 (jm_MACROS): require it.
34828
34829 2000-12-02  Jim Meyering  <meyering@lucent.com>
34830
34831         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
34832
34833 2000-12-01  Paul Eggert  <eggert@twinsun.com>
34834
34835         * lib/memrchr.c: Include <config.h> before any system include file.
34836
34837 2000-11-30  Jim Meyering  <meyering@lucent.com>
34838
34839         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
34840
34841 2000-11-30  Jim Meyering  <meyering@lucent.com>
34842
34843         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
34844
34845 2000-11-29  Paul Eggert  <eggert@twinsun.com>
34846
34847         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
34848
34849 2000-11-26  Jim Meyering  <meyering@lucent.com>
34850
34851         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
34852
34853 2000-11-22  Paul Eggert  <eggert@twinsun.com>
34854
34855         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
34856         size of (size_t) -1; it's not portable.
34857
34858 2000-11-17  Jim Meyering  <meyering@lucent.com>
34859
34860         * lib/strstr.c: Update from GNU libc.
34861
34862 2000-11-17  Akim Demaille  <akim@epita.fr>
34863
34864         * lib/obstack.h: Formatting changes.
34865         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
34866         prevent type checking.
34867         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
34868         cast the value to (void *): assigning a `foo *' to a `void *'
34869         variable is valid.
34870         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
34871
34872 2000-11-16  Jim Meyering  <meyering@lucent.com>
34873
34874         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
34875
34876 2000-11-11  Jim Meyering  <meyering@lucent.com>
34877
34878         * lib/error.c: Add a couple #includes, merging from GNU libc version.
34879
34880 2000-11-10  Jim Meyering  <meyering@lucent.com>
34881
34882         * lib/obstack.h: Update from GNU libc.
34883         * lib/obstack.c: Likewise.
34884
34885 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
34886
34887         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
34888
34889 2000-11-06  Paul Eggert  <eggert@twinsun.com>
34890
34891         * lib/getusershell.c (setusershell): Use rewind rather than
34892         fseek/fseeko, to avoid configuration hassles with fseeko.
34893         Don't bother opening SHELLS_FILE if shellstream is NULL;
34894         it's not necessary.
34895
34896 2000-11-05  Jim Meyering  <meyering@lucent.com>
34897
34898         * lib/makepath.h (make_dir): Declare.
34899         * lib/makepath.c (make_dir): Remove `static' attribute.
34900         Tweak a comment.
34901
34902 2000-11-04  Jim Meyering  <meyering@lucent.com>
34903
34904         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
34905
34906 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
34907
34908         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
34909         last one in a bucket, advance to the next bucket.
34910
34911 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
34912
34913         * lib/fnmatch.c: Do not comment out all the code if we are using
34914         the GNU C library, because in some cases we are replacing buggy
34915         code in the GNU C library itself.
34916
34917 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
34918
34919         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
34920         (regex_compile): Catch bogus \(\1\).
34921
34922 2000-10-30  Paul Eggert  <eggert@twinsun.com>
34923
34924         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
34925         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
34926         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
34927
34928 2000-10-30  Paul Eggert  <eggert@twinsun.com>
34929
34930         * lib/error.h, getline.h, modechange.h:
34931         Remove "2000" from Copyright line, as the file hasn't been
34932         changed this year other than in the copyright notice.
34933
34934         * lib/xalloc.h: Add "2000" to Copyright line, as this file
34935         was changed this year.
34936
34937 2000-10-29  Jim Meyering  <meyering@lucent.com>
34938
34939         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
34940         renaming.
34941         * m4/ls-mntd-fs.m4: Likewise
34942
34943 2000-10-29  Jim Meyering  <meyering@lucent.com>
34944
34945         * lib/xstat.in: Fix grammar in comment.
34946
34947 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
34948
34949         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
34950         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
34951         doesn't define __restrict_arr.
34952
34953 2000-10-28  Jim Meyering  <meyering@lucent.com>
34954
34955         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
34956         (jm_PREREQ_MEMCHR): New function.
34957
34958 2000-10-28  Jim Meyering  <meyering@lucent.com>
34959
34960         * lib/memchr.c: Update from libc.
34961         Adjust for portability:
34962         [HAVE_STDLIB_H]: Include stdlib.h.
34963         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
34964         Undef __memchr, too.
34965         [!weak_alias]: Define __memchr to memchr.
34966
34967         * lib/regex.c: Update from libc.
34968         * lib/regex.h: Likewise.
34969         * lib/getopt1.c: Likewise.
34970         * lib/memcmp.c: Likewise.
34971
34972         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
34973         Avoid using fseek, when possible -- it's broken by design.
34974         Patch by Ulrich Drepper.
34975
34976 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
34977
34978         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
34979         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
34980         Giving in to popular pressure to shut up the compiler with casts.
34981
34982 2000-10-26  Jim Meyering  <meyering@lucent.com>
34983
34984         * lib/strftime.c: Update from libc.
34985
34986 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
34987
34988         * regex.c: More `unsigned char' -> `re_char' changes.
34989         Also change several `int' into `re_wchar_t'.
34990         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
34991         (PUSH_FAILURE_POINTER): Don't cast any more.
34992         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
34993         We want GCC to complain, since this piece of code makes
34994         re_match non-reentrant, which *should* be fixed.
34995         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
34996         (EXTEND_BUFFER): Use RETALLOC.
34997         (SET_LIST_BIT): Don't cast.
34998         (re_wchar_t): New type.
34999         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
35000         that those two functions will always properly return.
35001         (IMMEDIATE_QUIT_CHECK): Cast to void.
35002         (analyse_first): Use recursion rather than an explicit stack.
35003         (re_compile_fastmap): Can't fail anymore.
35004         (re_search_2): Don't check re_compile_fastmap for failure.
35005         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
35006         Now also sets the new value (passed in a new argument).
35007         (re_match_2_internal): Use it.
35008         Also, use a new var `reg' of type size_t when looping through regs
35009         rather than reuse the inappropriate `mcnt'.
35010
35011 2000-10-25  Jim Meyering  <meyering@lucent.com>
35012
35013         * lib/obstack.c: Update from libc.
35014
35015 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
35016
35017         * regex.c (regex_compile): Change the way of handling a range from
35018         a char less than 256 to a char not less than 256.
35019
35020 2000-10-24  Andrew Innes  <andrewi@gnu.org>
35021
35022         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
35023         NT-Emacs only.
35024         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
35025         so that re_search functions only quit when callers expect them to.
35026
35027 2000-10-23  Jim Meyering  <meyering@lucent.com>
35028
35029         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
35030         wrong.  That set_locale call must not have any side effects.
35031         From Paul Eggert.
35032
35033 2000-10-22  Jim Meyering  <meyering@lucent.com>
35034
35035         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
35036         [CYCLIC]: Remove now-unused definition.
35037
35038         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
35039         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
35040         Suggestion from Ulrich Drepper.
35041
35042 2000-10-21  Jim Meyering  <meyering@lucent.com>
35043
35044         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
35045         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
35046         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
35047
35048 2000-10-21  Jim Meyering  <meyering@lucent.com>
35049
35050         * lib/dirname.c (memrchr): Declare if necessary.
35051         (dir_name): Remove the restriction that there be no
35052         trailing slashes.  Now, this code skips past them, effectively
35053         ignoring them.
35054         [TEST_DIRNAME] (main): New unit tests.
35055
35056         * lib/memrchr.c: New file from GNU libc.
35057         Undef __memrchr, too.
35058         [!weak_alias]: Define __memrchr to memrchr.
35059         Guard weak_alias use with `#ifdef weak_alias'.
35060
35061 2000-10-21  Jim Meyering  <meyering@lucent.com>
35062
35063         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
35064         (dir_name): Use dir_name_r.
35065         * lib/dirname.h (dir_name_r): Declare it.
35066
35067 2000-10-17  Jim Meyering  <meyering@lucent.com>
35068
35069         * lib/quote.h (PARAMS): Define and use.
35070         Reported by Akim Demaille.
35071
35072         * lib/getopt.c: Update from libc.
35073
35074 2000-10-16  Jim Meyering  <meyering@lucent.com>
35075
35076         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
35077         setlocale.
35078         From Jan Fedak.
35079
35080 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
35081
35082         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
35083
35084 2000-09-25  Jim Meyering  <meyering@lucent.com>
35085
35086         * lib/md5.h (rol): Define (from GnuPG).
35087
35088         * lib/sha.c: Give credit (GnuPG) where due.
35089         (M): Use rol rather than open-coding it.
35090         Add a FIXME comment.
35091
35092 2000-09-21  Jim Meyering  <meyering@lucent.com>
35093
35094         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
35095         Reported by Michael Stone.
35096
35097 2000-09-20  Jim Meyering  <meyering@lucent.com>
35098
35099         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
35100         (noinst_HEADERS): Add sha.h.
35101         Based on code from Scott G. Miller and from GnuPG.
35102
35103 2000-09-18  Jim Meyering  <meyering@lucent.com>
35104
35105         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
35106         LIBS. Otherwise, everyone ends up linking with -lelf for some
35107         configurations.
35108         Reported by Mike Stone.
35109
35110 2000-09-15  Jim Meyering  <meyering@lucent.com>
35111
35112         * lib/regex.c: Update from libc.
35113
35114 2000-09-10  Jim Meyering  <meyering@lucent.com>
35115
35116         * lib/getopt.c (_getopt_internal): Update from glibc.
35117
35118 2000-09-09  Jim Meyering  <meyering@lucent.com>
35119
35120         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
35121         think it should be used as a general replacement for isascii.
35122         * lib/fnmatch.c: Likewise.
35123         * lib/mbswidth.c: Likewise
35124         * lib/regex.c: Likewise.
35125
35126         Don't use atoi.
35127         * lib/userspec.c: Include sys/param.h and limits.h.
35128         Include xstrtol.h.
35129         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
35130         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
35131         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
35132         UID, GID.  Check range.
35133
35134 2000-09-06  Jim Meyering  <meyering@lucent.com>
35135
35136         * lib/getopt.c (_getopt_internal): Update from glibc.
35137
35138 2000-08-30  Jim Meyering  <meyering@lucent.com>
35139
35140         * lib/strftime.c: Merge in changes from GNU libc.
35141
35142 2000-08-26  Jim Meyering  <meyering@lucent.com>
35143
35144         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
35145         * m4/fpending.m4: New file.
35146
35147 2000-08-26  Jim Meyering  <meyering@lucent.com>
35148
35149         * lib/closeout.c: Include "__fpending.h".
35150         (close_stdout_status): Return right away if there's nothing to flush.
35151
35152         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
35153         * lib/__fpending.c: New file.
35154         * lib/__fpending.h: New file.
35155
35156 2000-08-20  Jim Meyering  <meyering@lucent.com>
35157
35158         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
35159         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
35160         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
35161
35162 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
35163
35164         Improve fileutils installation on systems where running
35165         programs (like install) can't be unlinked.
35166         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
35167         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
35168
35169 2000-08-07  Paul Eggert  <eggert@twinsun.com>
35170
35171         Standardize on "memory exhausted" instead of "Memory exhausted"
35172         or "virtual memory exhausted".
35173         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
35174         "virtual memory exhausted".
35175         * lib/same.c (same_name): Invoke xalloc_die instead of printing
35176         our own message.
35177         * lib/userspec.c (parse_user_spec): Likewise.
35178         * lib/bumpalloc.h: comment fix
35179         * lib/same.c, userspec.c: Include xalloc.h.
35180
35181         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
35182         not char *const and pointing to a constant array.
35183         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
35184         (xrealloc): Comment fix.
35185
35186         * lib/userspec.c (parse_user_spec):
35187         Don't translate a message until just before returning,
35188         to avoid unnecessary translation.
35189
35190 2000-08-07  Jim Meyering  <meyering@lucent.com>
35191
35192         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
35193         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
35194         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
35195         getgroups.c, gethostname.c, getopt.h, group-member.c,
35196         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
35197         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
35198         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
35199         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
35200         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
35201         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
35202         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
35203         yesno.c: Back out Copyright date changes for each file with no change
35204         this year.  This eases coordination with other programs using the same
35205         source code modules.  From Paul Eggert.
35206
35207 2000-08-06  Paul Eggert  <eggert@twinsun.com>
35208
35209         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
35210         not char, for compatibility with glibc 2.1.3 strftime.c.
35211
35212 2000-08-03  Greg McGary  <greg@mcgary.org>
35213
35214         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
35215         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
35216         (EXTEND_BUFFER): Use them.
35217
35218 2000-08-01  Jim Meyering  <meyering@lucent.com>
35219
35220         * lib/dirname.c (ISSLASH): Define.
35221         (BACKSLASH_IS_PATH_SEPARATOR): Define.
35222         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
35223         both `\' and `/' may be use as path separators.
35224         Based on a patch from Prashant TR.
35225
35226 2000-07-31  Paul Eggert  <eggert@twinsun.com>
35227
35228         * lib/quotearg.c (quotearg_n_options): Don't make the initial
35229         slot vector a constant, since it might get modified.
35230
35231 2000-07-31  Jim Meyering  <meyering@lucent.com>
35232
35233         * lib/xmalloc.c: Use `virtual memory exhausted', not
35234         `Memory exhausted'.
35235         * lib/obstack.c (print_and_abort): Likewise.
35236
35237 2000-07-30  Paul Eggert  <eggert@twinsun.com>
35238
35239         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
35240         buffer, so that the caller can always quote one small
35241         component of a "memory exhausted" message in slot 0.
35242         From a suggestion by Jim Meyering.
35243
35244 2000-07-30  Jim Meyering  <meyering@lucent.com>
35245
35246         * lib/makepath.c (make_path): Quote the other instance, too.
35247
35248         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
35249         (STATIC_BUF_SIZE): Define.
35250         (quotearg_n_options): Use only statically allocated storage when
35251         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
35252         than STATIC_BUF_SIZE.
35253
35254 2000-07-29  Jim Meyering  <meyering@lucent.com>
35255
35256         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
35257         * lib/dirname.c (dir_name): Likewise.
35258
35259         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
35260         `/'.
35261
35262         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
35263         (dir_name): Assert that there are no trailing slashes.
35264
35265 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
35266
35267         * lib/mbswidth.h (mbswidth): Add a flags argument.
35268         (mbswidth): New declaration.
35269         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
35270         * lib/mbswidth.c (mbswidth): Add a flags argument.
35271         (mbsnwidth): New function.
35272
35273 2000-07-24  Jim Meyering  <meyering@lucent.com>
35274
35275         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
35276
35277 2000-07-23  Paul Eggert  <eggert@twinsun.com>
35278
35279         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
35280
35281 2000-07-23  Paul Eggert  <eggert@twinsun.com>
35282
35283         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
35284         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
35285         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
35286         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
35287         invoke multibyte primitives.
35288
35289 2000-07-23  Paul Eggert  <eggert@twinsun.com>
35290
35291         * lib/quotearg.c:
35292         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
35293         so that mbstate_t is always defined.
35294
35295         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
35296         be 1 in at least one GCC installation, and this configuration
35297         error is likely to be common.  Ignoring MB_LEN_MAX hurts
35298         performance on hosts that have mbrtowc but have only unibyte
35299         locales, but I assume these hosts are rare.
35300
35301 2000-07-23  Paul Eggert  <eggert@twinsun.com>
35302
35303         * lib/mbswidth.c (_XOPEN_SOURCE):
35304         Don't define; this causes problems on Solaris 7.
35305         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
35306
35307 2000-07-23  Jim Meyering  <meyering@lucent.com>
35308
35309         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
35310         too: getgrgid, getpwuid, getuid.
35311
35312 2000-07-23  Jim Meyering  <meyering@lucent.com>
35313
35314         * lib/basename.c (base_name): Add an assertion.
35315
35316 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
35317
35318         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
35319         shadow its mbsinit function.
35320
35321 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
35322
35323         * lib/mbswidth.h: New file.
35324         * lib/mbswidth.c: New file.
35325         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
35326         (noinst_HEADERS): Add mbswidth.h.
35327
35328 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
35329
35330         * lib/config.charset: Add support for FreeBSD. Improve support for
35331         HP-UX and IRIX 6.
35332
35333 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
35334
35335         * m4/mbswidth.m4: New file.
35336         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
35337
35338 2000-07-15  Jim Meyering  <meyering@lucent.com>
35339
35340         * lib/makepath.c: Include quote.h.
35341         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
35342         corresponding argument in a `quote (...)' call.
35343         Give better diagnostics.
35344
35345         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
35346         (noinst_HEADERS): Add quote.h.
35347
35348         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
35349         from tar's src/misc.c.
35350         * lib/quote.h: New file.  Prototypes for same.
35351
35352 2000-07-14  Paul Eggert  <eggert@twinsun.com>
35353
35354         From a suggestion by Bruno Haible.
35355         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
35356         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
35357         to decide whether to define the BeOS workaround macro;
35358         this adjusts to the change to AC_MBSTATE_T.
35359
35360 2000-07-14  Jim Meyering  <meyering@lucent.com>
35361
35362         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
35363         jm_AC_TYPE_UINTMAX_T.
35364
35365 2000-07-13  Paul Eggert  <eggert@twinsun.com>
35366
35367         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
35368
35369         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
35370         quotearg_buffer_restyled): Add support for
35371         clocale_quoting_style.  Undo previous change to
35372         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
35373         and "{RIGHT QUOTATION MARK}" msgids.
35374
35375 2000-07-10  Paul Eggert  <eggert@twinsun.com>
35376
35377         From a suggestion by Bruno Haible.
35378         * m4/mbstate_t.m4 (AC_MBSTATE_T):
35379         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
35380         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
35381         and mbstate_t, to a single-part test that simply defines mbstate_t.
35382         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
35383         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
35384
35385 2000-07-10  Jim Meyering  <meyering@lucent.com>
35386
35387         * m4/strerror_r.m4: Mirror the correction made in autoconf.
35388
35389         * m4/gnu-source.m4: Output to confdefs.h directly.
35390         Suggestion from Akim Demaille.
35391
35392 2000-07-09  Paul Eggert  <eggert@twinsun.com>
35393
35394         The old behavior of quoting `like this' doesn't look good with
35395         newer, ISO-style fonts.  See:
35396         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
35397
35398         Instead, quote "like this" by default.  Let the translator
35399         tailor the locale-specific quoting behavior by providing
35400         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
35401
35402         * lib/quotearg.c (N_): New macro.
35403         (gettext_default): New function.
35404         (quotearg_buffer_restyled): Use
35405         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
35406         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
35407
35408 2000-07-09  Jim Meyering  <meyering@lucent.com>
35409
35410         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
35411         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
35412
35413         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
35414         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
35415
35416 2000-07-09  Jim Meyering  <meyering@lucent.com>
35417
35418         * lib/Most files: Update copyright dates to include 2000.
35419
35420 2000-07-08  Jim Meyering  <meyering@lucent.com>
35421
35422         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
35423         if not defined.
35424         (xgethostname): Remove now-unnecessary #ifdef.
35425         Move declaration of `err' into loop where it's used.
35426
35427 2000-07-05  Paul Eggert  <eggert@twinsun.com>
35428         and Bruno Haible  <haible@clisp.cons.org>
35429
35430         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
35431         only if the test for an object-type mbstate_t fails.  This
35432         prevents us from mistakenly reporting that mbstate_t is a
35433         system object type after we "#define mbstate_t int" to work
35434         around its lack.
35435
35436 2000-07-05  Paul Eggert  <eggert@twinsun.com>
35437         and Bruno Haible  <haible@clisp.cons.org>
35438
35439         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
35440
35441 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
35442
35443         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
35444         to strerror_r.
35445         Include <ctype.h> for use of isalpha.
35446
35447 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
35448
35449         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
35450         by allocating a larger buffer. Test the gethostname return value for
35451         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
35452         returns an error and ENAMETOOLONG isn't defined.
35453
35454 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
35455
35456         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
35457         dimension.
35458
35459 2000-07-04  Jim Meyering  <meyering@lucent.com>
35460
35461         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
35462         of the deprecated AC_CHECKING.
35463
35464 2000-07-04  Jim Meyering  <meyering@lucent.com>
35465
35466         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
35467         Reported by Bruno Haible.
35468
35469 2000-07-04  Jim Meyering  <meyering@lucent.com>
35470
35471         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
35472         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
35473         lacks mbrtowc.
35474
35475 2000-07-03  Paul Eggert  <eggert@twinsun.com>
35476
35477         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
35478         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
35479
35480 2000-07-03  Paul Eggert  <eggert@twinsun.com>
35481         and Bruno Haible  <haible@clisp.cons.org>
35482
35483         * lib/quotearg.c (mbrtowc):
35484         Assign to *pwc, and return 1 only if result is nonzero.
35485         (iswprint): Use ISPRINT when substituting our own mbrtowc.
35486
35487 2000-07-03  Jim Meyering  <meyering@lucent.com>
35488
35489         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
35490
35491 2000-07-03  Jim Meyering  <meyering@lucent.com>
35492
35493         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
35494         This is necessary to get a definition of e.g., UTMP_FILE on
35495         HP-UX 10.20.
35496         From Bob Proulx.
35497
35498 2000-07-02  Jim Meyering  <meyering@lucent.com>
35499
35500         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
35501
35502         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
35503         AC_LIBOBJ(function_name).
35504         * m4/chown.m4: Likewise.
35505         * m4/fnmatch.m4: Likewise.
35506         * m4/ftruncate.m4: Likewise.
35507         * m4/getgroups.m4: Likewise.
35508         * m4/getline.m4: Likewise.
35509         * m4/group-member.m4: Likewise.
35510         * m4/jm-macros.m4: Likewise.
35511         * m4/lstat.m4: Likewise.
35512         * m4/malloc.m4: Likewise.
35513         * m4/memcmp.m4: Likewise.
35514         * m4/nanosleep.m4: Likewise.
35515         * m4/putenv.m4: Likewise.
35516         * m4/realloc.m4: Likewise.
35517         * m4/regex.m4: Likewise.
35518         * m4/stat.m4: Likewise.
35519         * m4/strftime.m4: Likewise.
35520
35521 2000-07-02  Jim Meyering  <meyering@lucent.com>
35522
35523         * lib/quotearg.c (mbstate_t): Don't define here.
35524
35525 2000-07-02  Jim Meyering  <meyering@lucent.com>
35526
35527         * lib/nanosleep.c (SIGCONT): Define if not already defined.
35528
35529 2000-07-01  Jim Meyering  <meyering@lucent.com>
35530
35531         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
35532
35533 2000-07-01  Jim Meyering  <meyering@lucent.com>
35534
35535         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
35536         problem.
35537
35538 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
35539
35540         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
35541         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
35542
35543 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
35544
35545         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
35546         per change in ../m4/ls-mntd-fs.m4.
35547         (read_filesystem_list): Ignore symbolic links.
35548
35549 2000-06-29  Jim Meyering  <meyering@lucent.com>
35550
35551         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
35552         for declaration of strcmp.
35553
35554         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
35555
35556         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
35557         Avoid warning by casting result to `char *' to remove `const'.
35558
35559 2000-06-28  Jim Meyering  <meyering@lucent.com>
35560
35561         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
35562         included by quotearg.c, for which we perform this test.  From
35563         Bruno Haible.
35564
35565 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
35566
35567         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
35568         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
35569         <utmpx.h> exists, put readutmp.o into LIBOBJS.
35570
35571 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
35572
35573         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
35574
35575 2000-06-26  Paul Eggert  <eggert@twinsun.com>
35576
35577         savedir now sets errno on failure and invokes xmalloc to get memory.
35578         Fix a couple of other minor bugs while we're at it.
35579
35580         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
35581         (NAMLEN): Remove macro.
35582         (malloc, realloc): Remove decls.
35583         (stpcpy): Likewise.
35584         ("xalloc.h"): Include.
35585         (NAME_SIZE_DEFAULT): New macro.
35586         (savedir): Use xmalloc / xrealloc to allocate memory.
35587         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
35588         Skip "" directory entries.
35589         Use strlen to calculate directory entry length, since the old method
35590         is rarely used these days and isn't worth supporting.
35591         Don't use a pointer after freeing it.
35592         Check for integer overflow when calculating allocation size.
35593         Use memcpy to copy entries, instead of stpcpy.
35594         Set errno properly when returning NULL.
35595         Check for readdir error.
35596
35597 2000-06-26  Jim Meyering  <meyering@lucent.com>
35598
35599         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
35600
35601 2000-06-25  Jim Meyering  <meyering@lucent.com>
35602
35603         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
35604         Linux header bug when _XOPEN_SOURCE is defined to 500.
35605
35606 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
35607
35608         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
35609         deficiency.
35610
35611 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
35612
35613         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
35614         Include xalloc.h.
35615         Don't include <stdlib.h>.  Don't declare malloc, realloc.
35616
35617 2000-06-24  Jim Meyering  <meyering@lucent.com>
35618
35619         * m4/strerror_r.m4: Revive this file -- to try out an experimental
35620         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
35621         for which strerror does return char*, but which lacks a conveniently
35622         accessible declaration of the function.  If the compile-test says
35623         strerror_r doesn't work, then resort to a `run'-test that works on
35624         BeOS and segfaults on DEC Unix.
35625
35626 2000-06-24  Jim Meyering  <meyering@lucent.com>
35627
35628         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
35629
35630 2000-06-23  Paul Eggert  <eggert@twinsun.com>
35631
35632         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
35633         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
35634
35635 2000-06-23  Paul Eggert  <eggert@twinsun.com>
35636
35637         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
35638         (mbrtowc, mbstate_t): Define substitutes if
35639         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
35640         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
35641         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
35642
35643 2000-06-23  Jim Meyering  <meyering@lucent.com>
35644
35645         * m4/afs.m4: Add missing AC_MSG_RESULT.
35646         Reported by Bruno Haible.
35647
35648         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
35649         Suggestion from Bruno Haible.
35650
35651 2000-06-23  Jim Meyering  <meyering@lucent.com>
35652
35653         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
35654
35655 2000-06-21  Jim Meyering  <meyering@lucent.com>
35656
35657         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
35658
35659 2000-06-21  Jim Meyering  <meyering@lucent.com>
35660
35661         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
35662         (noinst_HEADERS): Add getstr.h.
35663
35664         * lib/getline.c (getstr): Move into a separate file.
35665         * lib/getstr.c (getstr): New file, extracted from getline.c, with
35666         the following changes: new parameter, delim2; both delim[12]
35667         parameters have type `int', not `char'.  The latter would lose
35668         with 8-bit delimiters.
35669         * lib/getstr.h: New file.
35670
35671 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
35672
35673         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
35674         than 1024, return a memory chunk of least possible size, instead
35675         of size PATH_MAX + 2. In the loop, increment the size proportionally.
35676         Use free/xmalloc instead of xrealloc to avoid copying for very long
35677         paths.
35678
35679 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
35680
35681         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
35682         the empty string.
35683
35684 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
35685
35686         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
35687         address, not strdup.  Include <stdlib.h> and don't declare free().
35688
35689 2000-06-19  Jim Meyering  <meyering@lucent.com>
35690
35691         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
35692
35693 2000-06-18  Jim Meyering  <meyering@lucent.com>
35694
35695         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
35696
35697         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
35698         `checking whether...' message to be consistent with that of the
35699         lstat test.
35700
35701 2000-06-18  Jim Meyering  <meyering@lucent.com>
35702
35703         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
35704         Besides, these days every porting target provides a mkdir function.
35705
35706         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
35707         needed. (this snippet comes from src/system.h).
35708
35709 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
35710
35711         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
35712
35713 2000-06-15  Paul Eggert  <eggert@twinsun.com>
35714
35715         * lib/human.c (adjust_value): New function.
35716         (human_readable_inexact): Apply rounding style even when
35717         printing approximate values.
35718
35719 2000-06-14  Paul Eggert  <eggert@twinsun.com>
35720
35721         * lib/human.c (human_readable_inexact): Allow an input block
35722         size that is not a multiple of the output block size, and vice versa.
35723         Reported by Piergiorgio Sartor.
35724
35725 2000-06-14  Paul Eggert  <eggert@twinsun.com>
35726
35727         * lib/getdate.y (get_date): Apply relative times after time
35728         zone indicator, not before.  Reported by Todd A. Jacobs.
35729
35730 2000-06-13  Jim Meyering  <meyering@lucent.com>
35731
35732         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
35733
35734         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
35735
35736 2000-06-12  Paul Eggert  <eggert@twinsun.com>
35737
35738         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
35739
35740 2000-06-12  Jim Meyering  <meyering@lucent.com>
35741
35742         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
35743         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
35744         optional argument.
35745         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
35746         the optional argument, `lib'.
35747
35748 2000-06-08  Jim Meyering  <meyering@lucent.com>
35749
35750         * m4/largefile.m4: Remove file (now that it's part of autoconf).
35751
35752 2000-06-04  Paul Eggert  <eggert@twinsun.com>
35753
35754         Rewrite largefile configuration so that we don't need to run
35755         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
35756         AC_CANONICAL_HOST in configure.in -- jmm]
35757
35758         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
35759         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
35760         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
35761         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
35762         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
35763         All uses changed.
35764         Instead of inspecting the output of getconf, try to compile the
35765         test program without and with the macro definition.
35766         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
35767         for getconf.  Instead, check for the needed flags by compiling
35768         test programs.
35769
35770 2000-06-04  Paul Eggert  <eggert@twinsun.com>
35771
35772         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
35773
35774 2000-06-04  Jim Meyering  <meyering@lucent.com>
35775
35776         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
35777         SunOS 4.1.4 for which gid_t is an unsigned type.
35778
35779 2000-06-03  Jim Meyering  <meyering@lucent.com>
35780
35781         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
35782         now that autoconf requires that.
35783
35784         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
35785         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
35786         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
35787
35788 2000-06-03  Jim Meyering  <meyering@lucent.com>
35789
35790         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
35791
35792 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
35793
35794         * m4/glibc21.m4: New file.
35795         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
35796
35797 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
35798
35799         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
35800         newer, don't install charset.alias.
35801         * lib/config.charset: Change the Linux/glibc rules so they become empty
35802         on glibc-2.1 or newer.
35803
35804 2000-06-02  Jim Meyering  <meyering@lucent.com>
35805
35806         * lib/mountlist.c: Back out last change.  Instead, do this...
35807         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
35808         me_dummy member using the same `ignore'-testing code.
35809         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
35810         fs_type strings.
35811         From Mark D. Roth.
35812
35813 2000-05-29  Jim Meyering  <meyering@lucent.com>
35814
35815         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
35816         mounts with the `ignore' attribute.  Based on a patch from
35817         Mark D. Roth.
35818
35819 2000-05-28  Jim Meyering  <meyering@lucent.com>
35820
35821         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
35822         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
35823         * m4/stat.m4: Likewise.
35824         * m4/lstat.m4: Likewise.
35825         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
35826
35827         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
35828         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
35829
35830 2000-05-26  Jim Meyering  <meyering@lucent.com>
35831
35832         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
35833
35834 2000-05-24  Jim Meyering  <meyering@lucent.com>
35835
35836         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
35837         autoconf requires that.
35838         * m4/lib-check.m4: Likewise.
35839         * m4/jm-macros.m4: Likewise.
35840         * m4/strftime.m4: Likewise.
35841
35842         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
35843         AC_CHECK_DECLS, now that autoconf requires that.
35844
35845 2000-05-22  Jim Meyering  <meyering@lucent.com>
35846
35847         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
35848         * m4/lstat.m4: Likewise.
35849
35850 2000-05-22  Jim Meyering  <meyering@lucent.com>
35851
35852         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
35853
35854 2000-05-20  Jim Meyering  <meyering@lucent.com>
35855
35856         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
35857         (jm_PREREQ): Use it.
35858
35859 2000-05-18  Jim Meyering  <meyering@lucent.com>
35860
35861         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
35862         back, too, since it may have been modified by allocate_entry.
35863         (hash_delete): Rewrite to use neither the assignment operator
35864         nor the comma operator in an if-expression.
35865
35866 2000-05-15  Paul Eggert  <eggert@twinsun.com>
35867
35868         * lib/closeout.c:
35869         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
35870         Remove; no longer needed.
35871         "quotearg.h": Add include.
35872         (file_name): Do not bother to explicitly initialize to NULL; it's less
35873         efficient on some hosts.
35874         (close_stdout_status): Remove test as to whether stdout was already
35875         closed; it breaks for the case "echo x | sort >&-".
35876         Quote file name colons.
35877         Do not assume that _("write error") lacks format strings.
35878
35879 2000-05-15  Jim Meyering  <meyering@lucent.com>
35880
35881         * lib/version-etc.c (version_etc_copyright): Update the copyright
35882         string used in all --version output.
35883
35884 2000-05-14  Jim Meyering  <meyering@lucent.com>
35885
35886         * lib/closeout.c (close_stdout_set_file_name): New function.
35887         (close_stdout_status): Use new file-scoped global.
35888         Return right away if fstat says the stdout file descriptor is invalid.
35889         * lib/closeout.h (close_stdout_set_file_name): Declare.
35890
35891 2000-05-10  Jim Meyering  <meyering@lucent.com>
35892
35893         * lib/closeout.c [default_exit_status]: New file-scoped variable.
35894         (close_stdout_set_status): New function.
35895         * lib/closeout.h (close_stdout_set_status): Declare.
35896
35897 2000-05-09  Jim Meyering  <meyering@lucent.com>
35898
35899         * m4/gettext.m4: Rename this...
35900         * m4/libintl.m4: ...to this.
35901
35902 2000-05-08  Jim Meyering  <meyering@lucent.com>
35903
35904         * lib/long-options.c: Don't include closeout.h.
35905         (parse_long_options): Don't call close_stdout for --version.
35906
35907 2000-05-06  Paul Eggert  <eggert@twinsun.com>
35908
35909         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
35910         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
35911         2.1.3 bug.  This avoids a clash when files like regex.c define
35912         _GNU_SOURCE.
35913
35914 2000-05-06  Jim Meyering  <meyering@lucent.com>
35915
35916         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
35917         (AC_REPLACE_FUNCS): Add strnlen.
35918
35919         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
35920         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
35921
35922         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
35923         AC_SEARCH_LIBS call for nanosleep.
35924         (LIB_NANOSLEEP): Set and AC_SUBST.
35925
35926 2000-05-06  Jim Meyering  <meyering@lucent.com>
35927
35928         * lib/strnlen.c: Undefine __strnlen and strnlen.
35929         [!weak_alias]: Define __strnlen to strnlen.
35930
35931         * lib/atexit.c: New file, from libiberty.
35932
35933 2000-05-06  Jim Meyering  <meyering@lucent.com>
35934
35935         * lib/closeout.c (close_stdout_status): Also check for errors on the
35936         stderr stream.
35937
35938 2000-05-05  Jim Meyering  <meyering@lucent.com>
35939
35940         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
35941         AC_SEARCH_LIBS call for clock_gettime.
35942         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
35943
35944         * m4/search-libs.m4: Update from autoconf.
35945
35946         su doesn't work on Solaris 2.6.
35947         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
35948         <shadow.h>.  Reported by Dragos Harabor.
35949
35950 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
35951
35952         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
35953         memcpy instead of xmalloc, xrealloc, path_concat.
35954         (locale_charset): Treat empty environment variables as absent.
35955         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
35956
35957 2000-05-04  Jim Meyering  <meyering@lucent.com>
35958
35959         * lib/getopt.c: Update from glibc.
35960         * lib/obstack.c: Likewise.
35961         * lib/obstack.h: Likewise.
35962         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
35963         file
35964
35965         * lib/regex.h: Likewise.
35966         * lib/strndup.c: Likewise.
35967         * lib/strnlen.c: New file, from glibc.
35968
35969 2000-05-03  Jim Meyering  <meyering@lucent.com>
35970
35971         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
35972
35973 2000-05-02  Paul Eggert  <eggert@twinsun.com>
35974
35975         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
35976         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
35977         compile-time test, rather than inspecting host and OS, to
35978         decide whether to define _LARGEFILE_SOURCE.
35979
35980 2000-05-01  Jim Meyering  <meyering@lucent.com>
35981
35982         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
35983
35984         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
35985         Based on a patch from Bruno Haible.
35986
35987 2000-05-01  Jim Meyering  <meyering@lucent.com>
35988
35989         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
35990
35991 2000-04-29  Jim Meyering  <meyering@lucent.com>
35992
35993         * lib/path-concat.c: Declare strdup only if it's not defined.
35994         * lib/canon-host.c: Likewise.
35995
35996 2000-04-28  Jim Meyering  <meyering@lucent.com>
35997
35998         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
35999         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
36000         is included first, then limits.h is included by locale.h by libintl.h.
36001         From John David Anglin.
36002
36003 2000-04-25  Jim Meyering  <meyering@lucent.com>
36004
36005         * lib/makepath.c (S_IRWXUGO): Define.
36006         (make_path): Always perform explicit chmod if MODE specifies any
36007         of the `special' permission bits.  Prompted by a bug report against
36008         install from Mate Wierdl and Joost van Baal.
36009
36010 2000-04-18  Jim Meyering  <meyering@lucent.com>
36011
36012         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
36013         (jm_PREREQ): Use it.
36014
36015 2000-04-18  Jim Meyering  <meyering@lucent.com>
36016
36017         * lib/README: New file.
36018
36019         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
36020         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
36021
36022 2000-04-17  Jim Meyering  <meyering@lucent.com>
36023
36024         Get it right :-)
36025         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
36026         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
36027         Suggestion from Akim Demaille.
36028
36029 2000-04-17  Jim Meyering  <meyering@lucent.com>
36030
36031         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
36032         the definition of it to rpl_strftime also defined-away the system's
36033         declaration.
36034
36035 2000-04-15  Jim Meyering  <meyering@lucent.com>
36036
36037         Use `C' to denote so-called `contiguous' files, the same way
36038         that tar does.
36039         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
36040         (ftypelet): Use S_ISCTG.
36041         From Michael Deutschmann.
36042
36043 2000-04-14  Jim Meyering  <meyering@lucent.com>
36044
36045         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
36046         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
36047         clobbered.
36048
36049 2000-04-14  Jim Meyering  <meyering@lucent.com>
36050
36051         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
36052
36053 2000-04-13  Jim Meyering  <meyering@lucent.com>
36054
36055         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
36056         AH_VERBATIM to insert required #ifndef into config.h.in.
36057         Suggestion from Akim Demaille.
36058
36059 2000-04-12  Jim Meyering  <meyering@lucent.com>
36060
36061         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
36062         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
36063         Christian Krackowizer.
36064
36065         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
36066         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
36067         (AC_SYS_LARGEFILE): Require.
36068         (AM_C_PROTOTYPES): Require.
36069
36070 2000-04-08  Jim Meyering  <meyering@lucent.com>
36071
36072         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
36073         names don't conflict.  Reported by Eli Zaretskii.
36074
36075 2000-04-07  Jim Meyering  <meyering@lucent.com>
36076
36077         * lib/putenv.c: Move inclusion of errno.h so it follows that of
36078         sys/types.h, to work around system header problems on AIX 3.2.5.
36079         From Bruno Haible.
36080
36081 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
36082
36083         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
36084         bug.  Deal with the different error behavior of Irix iconv.
36085
36086 2000-04-05  Paul Eggert  <eggert@twinsun.com>
36087
36088         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
36089         IRIX if the installer said otherwise.
36090
36091 2000-04-05  Jim Meyering  <meyering@lucent.com>
36092
36093         Portability tweaks required for ultrix4.3.
36094         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
36095         (jm_CHECK_DECLS): Add getutent to the list of functions.
36096         (_jm_DECL_HEADERS): Add utmpx.h.
36097         From John David Anglin.
36098
36099         * m4/strftime.m4: Back out the 2000-04-02 change.
36100         Instead of that change, simply undefine putenv in the test program.
36101
36102 2000-04-05  Jim Meyering  <meyering@lucent.com>
36103
36104         Portability tweaks required for ultrix4.3.
36105         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
36106         getutent.
36107         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
36108         * lib/canon-host.c: Declare strdup.
36109         * lib/path-concat.c: Likewise.
36110         From John David Anglin.
36111
36112 2000-04-04  Jim Meyering  <meyering@lucent.com>
36113
36114         Be more DOS 8.3-friendly.
36115         * lib/ref-add.sin: Renamed from ref-add.sed.in.
36116         * lib/ref-del.sin: Renamed from ref-del.sed.in.
36117         * lib/Makefile.am: Reflect renaming.
36118         Reported by Eli Zaretskii.
36119
36120         Use a temporary file name that won't clash with `charset.alias'
36121         in the DOS 8.3 name space.
36122         * lib/Makefile.am (charset_tmp): Define.
36123         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
36124         (uninstall-local): Likewise.
36125         Reported by Eli Zaretskii.
36126
36127 2000-04-03  Jim Meyering  <meyering@lucent.com>
36128
36129         * m4/gettext.m4: Fix typo in comment.
36130
36131         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
36132         textutils/configure.in).  Suggestion from Paul Eggert.
36133         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
36134
36135 2000-04-02  Paul Eggert  <eggert@twinsun.com>
36136
36137         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
36138         variable in the shell rather than using putenv, which isn't
36139         portable.  This avoids the configure-time inter-test dependency
36140         on the potentially-renamed putenv function.
36141
36142 2000-03-30  Paul Eggert  <eggert@twinsun.com>
36143
36144         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
36145         before checking struct stat.st_blksize, so that
36146         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
36147
36148 2000-03-29  Paul Eggert  <eggert@twinsun.com>
36149
36150         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
36151         since strftime.c uses HAVE_STRFTIME to decide whether to use
36152         the underlying strftime.
36153
36154 2000-03-29  Paul Eggert  <eggert@twinsun.com>
36155
36156         * lib/time/strftime.c (my_strftime): Make sure we call the system
36157         strftime, not ourselves, when invoking the underlying strftime.
36158
36159 2000-03-24  Jim Meyering  <meyering@lucent.com>
36160
36161         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
36162         (charset_alias): Define.
36163         (install-exec-local): Factor out common code.
36164         (uninstall-local): Split lines longer than 80.
36165         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
36166         (SUFFIXES): Define.
36167         (.sed.in.sed): New rule.  Don't redirect directly to $@.
36168         (CLEANFILES): Add ref-add.sed and ref-del.sed.
36169
36170 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
36171
36172         * lib/config.charset: Output a line containing "Packages using this
36173         file".
36174         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
36175         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
36176         ref-del.sed): New rules.
36177
36178 2000-03-17  Jim Meyering  <meyering@lucent.com>
36179
36180         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
36181         Otherwise, include <strings.h>
36182
36183 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
36184
36185         * lib/unicodeio.c (utf8_wctomb): New function.
36186         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
36187         format instead of in UCS-4 with platform dependent endianness.
36188
36189 2000-03-10  Jim Meyering  <meyering@lucent.com>
36190
36191         * m4/lib-check.m4: Look for getspnam in -lgen, too.
36192         From Marco Franzen.
36193
36194 2000-03-07  Paul Eggert  <eggert@twinsun.com>
36195
36196         * lib/savedir.c (savedir): Work even if directory size is
36197         negative; this can happen with some screwy NFS configurations.
36198
36199 2000-03-06  Jim Meyering  <meyering@lucent.com>
36200
36201         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
36202         if it's NULL (because we ran out of memory).  From Bruno Haible.
36203
36204 2000-03-05  Jim Meyering  <meyering@lucent.com>
36205
36206         * lib/localcharset.c ("path-concat.h"): Include.
36207         (get_charset_aliases): Use path_concat instead of ANSI string
36208         concatenation.
36209
36210         * lib/unicodeio.h (PARAMS): Define.
36211         Use it to guard prototype.
36212
36213 2000-03-04  Jim Meyering  <meyering@lucent.com>
36214
36215         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
36216         for lib/localcharset.c.
36217
36218 2000-03-04  Jim Meyering  <meyering@lucent.com>
36219
36220         * lib/Makefile.am (install-exec-local): Create $(libdir) before
36221         installing into it.
36222         (uninstall-local): Uncomment this rule so `make distcheck' works
36223         once again.
36224
36225         * lib/unicodeio.c (<errno.h>): Include it.
36226         (errno): Declare if not defined.
36227
36228         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
36229
36230         * lib/config.charset: New version, incorporating remarks from a linux
36231         i18n mailing list.  From Bruno Haible.
36232
36233 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
36234
36235         * m4/codeset.m4: New file.
36236         * m4/iconv.m4: New file.
36237         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
36238
36239 2000-03-03  Jim Meyering  <meyering@lucent.com>
36240
36241         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
36242
36243 2000-03-02  Jim Meyering  <meyering@lucent.com>
36244
36245         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
36246         the messages come out on separate lines.
36247
36248         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
36249         rather than jm_CHECK_DECLARATIONS.
36250         * m4/decl.m4: Remove now-unused file.
36251
36252         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
36253         geteuid.
36254
36255 2000-03-02  Jim Meyering  <meyering@lucent.com>
36256
36257         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
36258
36259 2000-03-01  Jim Meyering  <meyering@lucent.com>
36260
36261         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
36262         * lib/unicodeio.c: Likewise.
36263
36264 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
36265
36266         * lib/config.charset: New file.
36267         * lib/localcharset.c: New file.
36268         * lib/unicodeio.h, lib/unicodeio.c: New files.
36269         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
36270         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
36271         (noinst_HEADERS): Add unicodeio.h.
36272         (all-local, install-exec-local, charset.alias): New targets.
36273
36274 2000-02-28  Paul Eggert  <eggert@twinsun.com>
36275
36276         * lib/quotearg.c (ALERT_CHAR): New macro.
36277         (quotearg_buffer_restyled): Use it.
36278
36279 2000-02-27  Jim Meyering  <meyering@lucent.com>
36280
36281         * m4/check-decl.m4: Add getenv to the list.
36282
36283 2000-02-27  Jim Meyering  <meyering@lucent.com>
36284
36285         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
36286         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
36287
36288         * lib/backupfile.c: Guard inclusion of stdlib.h with
36289         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
36290         Declare malloc if needed.
36291
36292         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
36293         `#ifndef HAVE_DECL..'
36294         now that autoconf always defines the HAVE_DECL_ symbols.
36295         * lib/human.c: Likewise.
36296         * lib/same.c: Likewise.
36297         * lib/strtoumax.c: Likewise.
36298
36299         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
36300         declaration check was not run.
36301         * lib/hash.c: Likewise.
36302         * lib/human.c: Likewise.
36303         * lib/same.c: Likewise.
36304         * lib/strtoumax.c: Likewise.
36305
36306         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
36307         `.', then first look up the entire `.'-containing string as a login
36308         name.
36309
36310 2000-02-23  Jim Meyering  <meyering@lucent.com>
36311
36312         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
36313         in place of my hack.
36314
36315 2000-02-18  Paul Eggert  <eggert@twinsun.com>
36316
36317         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
36318         (textint): New typedef.
36319         (parser_control): Member year changed from int to textint.
36320         All uses changed.
36321         (YYSTYPE): Removed; replaced by %union with int and textint members.
36322         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
36323         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
36324         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
36325         (tSNUMBER, tUNUMBER): Now of type <textintval>.
36326         (date, number, to_year): Use width of number in digits, not its value,
36327         to determine whether it's a 2-digit year, or a 2-digit time.
36328         (yylex): Store number of digits of numeric tokens.
36329         Reported by John Kendall.
36330
36331         (parser_control): Changed from struct parser_control to typedef (for
36332         consistency).  All uses changed.
36333
36334         (tID): Removed; not used.
36335         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
36336
36337 2000-02-14  Paul Eggert  <eggert@twinsun.com>
36338
36339         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
36340         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
36341
36342 2000-02-12  Jim Meyering  <meyering@lucent.com>
36343
36344         * lib/userspec.c (ISDIGIT): Define it.
36345         (isdigit): Remove definition.
36346         (is_number): Use ISDIGIT, not isdigit.
36347         <libintl.h>: Include.
36348         (_ and N_): Define.
36349         (parse_user_spec): Mark translatable strings.
36350
36351 2000-02-10  Jim Meyering  <meyering@lucent.com>
36352
36353         With these changes, nanosleep.[ch] are finally enough like the other
36354         lib/* replacement files to compile on a few more losing systems.
36355
36356         * lib/nanosleep.h: Don't include config.h.
36357         Remove prototype from declaration of nanosleep.
36358         (PARAMS): Remove now-unneeded definition.
36359         * lib/nanosleep.c: #undef nanosleep.
36360         (rpl_nanosleep): Rename from nanosleep.
36361
36362 2000-02-10  Jim Meyering  <meyering@lucent.com>
36363
36364         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
36365         gnu_nanosleep to rpl_nanosleep.
36366
36367 2000-02-09  Jim Meyering  <meyering@lucent.com>
36368
36369         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
36370         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
36371
36372 2000-02-08  Akim Demaille  <akim@epita.fr>
36373
36374         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
36375         `[' and `]' and remove uses of `changequote'.
36376         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
36377         (AC_SYS_LARGEFILE): Likewise.
36378         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
36379         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
36380         of changequote.
36381         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
36382         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
36383         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
36384         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
36385
36386 2000-02-05  Jim Meyering  <meyering@lucent.com>
36387
36388         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
36389         Remove explicit use of AC_HEADER_TIME.  It is required by
36390         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
36391         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
36392         in autoconf whereby the expansion of the latter ended up preceding
36393         the expansion of its prerequisite, AC_HEADER_TIME.
36394         Reported by Volker Borchert.
36395
36396 2000-02-03  Jim Meyering  <meyering@lucent.com>
36397
36398         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
36399
36400 2000-02-03  Jim Meyering  <meyering@lucent.com>
36401
36402         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
36403         rather than with `#if HAVE_UTMPNAME'.
36404
36405 2000-02-02  Jim Meyering  <meyering@lucent.com>
36406
36407         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
36408         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
36409         Reported by Eli Zaretskii.
36410
36411 2000-02-01  Jim Meyering  <meyering@lucent.com>
36412
36413         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
36414
36415 2000-01-31  Jim Meyering  <meyering@lucent.com>
36416
36417         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
36418         functions.  Add the time.h and sys/time.h headers along with the
36419         AC_REQUIRE'ment of AC_HEADER_TIME.
36420
36421 2000-01-31  Jim Meyering  <meyering@lucent.com>
36422
36423         * lib/nanosleep.h (nanosleep): Guard declaration with
36424         `#if ! HAVE_DECL_NANOSLEEP'.
36425         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
36426         the declaration in that vendor's sys/timers.h.
36427         Reported by Christian Krackowizer.
36428
36429         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
36430         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
36431         (ISPRINT): Likewise.
36432         Reported by Tom Tromey.
36433
36434 2000-01-30  Jim Meyering  <meyering@lucent.com>
36435
36436         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
36437
36438         * m4/prereq.m4 (utmp_includes): Define.
36439         Check for ut_user and ut_name members in both struct utmpx
36440         and struct utmp.
36441
36442 2000-01-30  Jim Meyering  <meyering@lucent.com>
36443
36444         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
36445         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
36446         header files where only utmpx.ut_user is declared.
36447
36448         * lib/readutmp.h (UT_USER): Define.
36449
36450 2000-01-29  Jim Meyering  <meyering@lucent.com>
36451
36452         * m4/lib-check.m4: New file containing library-related checks from
36453         fileutils and sh-utils (textutils had none).
36454
36455 2000-01-28  Jim Meyering  <meyering@lucent.com>
36456
36457         * m4/perl.m4: Change format of warning message to look more like that
36458         from the missing script.  Suggestion from François Pinard.
36459
36460 2000-01-25  Jim Meyering  <meyering@lucent.com>
36461
36462         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
36463         well as time.h in the compile check.
36464         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
36465         Fix typo in cross-compiling case: s/yes/no/.
36466
36467 2000-01-23  Jim Meyering  <meyering@lucent.com>
36468
36469         * m4/jm-macros.m4: Move df-related tests here from
36470         fileutils/configure.in
36471
36472         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
36473         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
36474
36475         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
36476         s/space/ac_fsusage_space/.
36477         (jm_FILE_SYSTEM_USAGE): Take two parameters.
36478
36479         * m4/ftruncate.m4: New file (derived from part of
36480         fileutils/configure.in).
36481         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
36482         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
36483
36484         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
36485         AC_SUBST these here, rather than just in sh-util/configure.in, so
36486         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
36487         all the same.
36488         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
36489         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
36490         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
36491         (AC_SUBST(POW_LIBM)): Likewise.
36492         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
36493
36494 2000-01-23  Jim Meyering  <meyering@lucent.com>
36495
36496         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
36497         obstack.c.
36498
36499 2000-01-22  Jim Meyering  <meyering@lucent.com>
36500
36501         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
36502
36503         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
36504
36505         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
36506         configure.in
36507         (AC_CHECK_HEADERS): Likewise for sh-utils.
36508         (AC_CHECK_HEADERS): Likewise for textutils.
36509         Merge the three lists of headers.
36510
36511         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
36512         from fileutils' configure.in.
36513
36514         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
36515         code. Moved tests into their own function (_jm_DECL_HEADERS) in
36516         check-decl.m4.
36517
36518         * m4/check-decl.m4: Use #if rather than #ifdef.
36519         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
36520         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
36521         (_jm_DECL_HEADERS): Define new function.
36522         (jm_CHECK_DECLARATIONS): Require it.
36523
36524 2000-01-22  Jim Meyering  <meyering@lucent.com>
36525
36526         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
36527         [! HAVE_DECL_STRTOULL]: Declare strtoull.
36528         Required for some AIX systems.  Reported by Christian Krackowizer.
36529         [TESTING] (main): New function.
36530
36531         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
36532         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
36533         letters.
36534
36535         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
36536         iswprint.
36537
36538         * lib/strverscmp.c (ISDIGIT): Define.
36539         (strverscmp): Use ISDIGIT, not isdigit.
36540
36541 2000-01-19  Jim Meyering  <meyering@lucent.com>
36542
36543         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
36544         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
36545         defines `struct timespec' in <sys/time.h>
36546
36547         * m4/c-bs-a.m4: Remove uses of changequote altogether.
36548         Thanks to Akim for explaining.
36549
36550 2000-01-17  Paul Eggert  <eggert@twinsun.com>
36551
36552         * lib/nanosleep.c (nanosleep):
36553         Don't use SA_INTERRUPT to decide whether to call sigaction, as
36554         POSIX.1 doesn't require SA_INTERRUPT and some systems
36555         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
36556         it's been part of POSIX.1 since day 1 (in 1988).
36557
36558 2000-01-17  Jim Meyering  <meyering@lucent.com>
36559
36560         * lib/interlock: Remove unused file.  Reported by François Pinard.
36561
36562 2000-01-16  Paul Eggert  <eggert@twinsun.com>
36563
36564         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
36565         alert, backslash, formfeed, and vertical tab unnecessarily in
36566         shell quoting style.
36567
36568 2000-01-16  Jim Meyering  <meyering@lucent.com>
36569
36570         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
36571         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
36572         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
36573         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
36574
36575 2000-01-16  Jim Meyering  <meyering@lucent.com>
36576
36577         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
36578         because the latter didn't work.
36579
36580 2000-01-15  Jim Meyering  <meyering@lucent.com>
36581
36582         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
36583         (AC_REPLACE_FUNCS): Add memcpy and memset.
36584         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
36585         Add strpbrk.
36586         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
36587
36588 2000-01-12  Jim Meyering  <meyering@lucent.com>
36589
36590         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
36591         (jm_PREREQ): Use it.
36592         (jm_PREREQ_READUTMP): New macro.
36593         (jm_PREREQ): Use it.
36594
36595 2000-01-11  Paul Eggert  <eggert@twinsun.com>
36596
36597         Quote multibyte characters correctly.
36598         * m4/c-bs-a.m4: New file.
36599         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
36600         (jm_PREREQ): Use it.
36601
36602 2000-01-11  Paul Eggert  <eggert@twinsun.com>
36603
36604         * m4/uintmax_t.m4: Port to autoconf 2.13.
36605
36606 2000-01-08  Jim Meyering  <meyering@ascend.com>
36607
36608         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
36609         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
36610
36611 2000-01-04  Jim Meyering  <meyering@ascend.com>
36612
36613         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
36614         jm_STRUCT_DIRENT_D_TYPE.
36615         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
36616         jm_STRUCT_DIRENT_D_INO.
36617         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
36618         jm_STRUCT_UTIMBUF.
36619         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
36620         renamings.
36621         * m4/utime.m4: Likewise.
36622
36623         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
36624         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
36625
36626 2000-01-03  Paul Eggert  <eggert@twinsun.com>
36627
36628         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
36629         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
36630
36631 2000-01-02  Jim Meyering  <meyering@ascend.com>
36632
36633         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
36634         remember if this is necessary.
36635
36636 1999-12-26  Jim Meyering  <meyering@ascend.com>
36637
36638         * m4/jm-macros.m4: Use it here.
36639         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
36640
36641 1999-12-23  Jim Meyering  <meyering@ascend.com>
36642
36643         * m4/jm-macros.m4: Check for clock_gettime (moved from
36644         fileutils/configure.in)
36645         Check for gettimeofday.
36646
36647 1999-12-20  Jim Meyering  <meyering@ascend.com>
36648
36649         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
36650         autoconf-2.14a-1999-12-20.
36651
36652 1999-12-19  Jim Meyering  <meyering@ascend.com>
36653
36654         * m4/lstat-slash.m4: New file.
36655         * m4/jm-macros.m4: Use the new macro:
36656         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
36657
36658 1999-12-07  Jim Meyering  <meyering@ascend.com>
36659
36660         * m4/perl.m4: Require that File::Compare be available, too.
36661         Too many systems seem to lack it.
36662
36663         * m4/strftime.m4: Add checks for most of the cpp macros tested in
36664         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
36665
36666 1999-11-18  Paul Eggert  <eggert@twinsun.com>
36667
36668         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
36669         problem with the QNX 4.25 shell, which doesn't propagate exit
36670         status of failed commands inside shell assignments.
36671
36672 1999-11-17  Jim Meyering  <meyering@ascend.com>
36673
36674         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
36675
36676 1999-11-07  Jim Meyering  <meyering@ascend.com>
36677
36678         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
36679
36680 1999-11-06  Jim Meyering  <meyering@ascend.com>
36681
36682         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
36683         * m4/jm-macros.m4 (jm_MACROS): Use it here.
36684
36685 1999-11-05  Jim Meyering  <meyering@ascend.com>
36686
36687         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
36688         configure.in of textutils, fileutils, and sh-utils into this one
36689         (shared between those packages) file.
36690         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
36691         AC_STRUCT_ST_BLKSIZE.
36692
36693 1999-11-03  Jim Meyering  <meyering@ascend.com>
36694
36695         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
36696         of AC_CHECK_TYPE checks includes unistd.h.
36697         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
36698         Suggestion from Akim Demaille.
36699
36700 1999-10-30  Jim Meyering  <meyering@ascend.com>
36701
36702         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
36703         m4-quoted string.
36704         * m4/ls-mntd-fs.m4: Likewise.
36705         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
36706         * m4/jm-winsz1.m4: Likewise.
36707
36708         * m4/const.m4: Remove file, since the fix made it into the experimental
36709         version of autoconf.
36710         * m4/mktime.m4: Likewise.
36711
36712         * m4/check-type.m4: Remove file, now that the latest version of
36713         AC_CHECK_TYPE takes a third arg to specify additional #includes.
36714
36715         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
36716         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
36717         AC_CHECK_TYPE.
36718
36719 1999-10-04  Jim Meyering  <meyering@ascend.com>
36720
36721         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
36722
36723 1999-09-22  Paul Eggert  <eggert@twinsun.com>
36724
36725         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
36726         2.95.1 bug with HP-UX 10.20.
36727
36728 1999-09-17  Jim Meyering  <meyering@ascend.com>
36729
36730         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
36731         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
36732         due to missing strdup (against sh-utils-2.0).
36733
36734 1999-08-29  Jim Meyering  <meyering@ascend.com>
36735
36736         * m4/jm-macros.m4: Require jm_BISON.
36737         * m4/bison.m4: New file.
36738
36739 1999-08-17  Paul Eggert  <eggert@twinsun.com>
36740
36741         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
36742         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
36743
36744 1999-08-05  Jim Meyering  <meyering@ascend.com>
36745
36746         * m4/getline.m4: Rename test file from conftestdata to conftest.data
36747         to avoid conflicts with `conftest' on 8+3 filesystems.
36748         Suggestion from Eli Zaretskii.
36749
36750 1999-08-04  Jim Meyering  <meyering@ascend.com>
36751
36752         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
36753         fileutils and sh-utils (textutils's getline test was inadequate).
36754         (AM_FUNC_GETLINE): Run this test.
36755         (AC_CHECK_FUNCS): Check for getdelim.
36756         Reported by Bob Proulx.
36757
36758 1999-08-02  Jim Meyering  <meyering@ascend.com>
36759
36760         * m4/jm-macros.m4: Add a comment.
36761
36762 1999-08-01  Paul Eggert  <eggert@twinsun.com>
36763
36764         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
36765         <inttypes.h> defines strtoumax as a macro (and not as a
36766         function).
36767
36768 1999-08-01  Paul Eggert  <eggert@twinsun.com>
36769
36770         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
36771         that we can shift, multiply and divide unsigned long long
36772         values; Ultrix cc can't do it.
36773
36774 1999-08-01  Paul Eggert  <eggert@twinsun.com>
36775
36776         * m4/mktime.m4: New file, which is a preview of what should appear
36777         in the next public autoconf release.
36778
36779 1999-08-01  Paul Eggert  <eggert@twinsun.com>
36780
36781         * m4/lfs.m4: Remove this file.
36782         * m4/largefile.m4: New file.  It contains the old contents of
36783         lfs.m4, except that all names with prefix AC_LFS have been
36784         changed to use the prefix AC_SYS_LARGEFILE instead, to be
36785         compatible with future autoconf versions.  Also, some minor m4
36786         quoting problems have been fixed.
36787
36788 1999-08-01  Paul Eggert  <eggert@twinsun.com>
36789
36790         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
36791         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
36792         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
36793         and simplify the shell code.
36794
36795 1999-08-01  Jim Meyering  <meyering@ascend.com>
36796
36797         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
36798         m4.
36799
36800 1999-07-20  Jim Meyering  <meyering@ascend.com>
36801
36802         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
36803
36804 1999-07-15  Jim Meyering  <meyering@ascend.com>
36805
36806         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
36807
36808 1999-05-22  Jim Meyering  <meyering@ascend.com>
36809
36810         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
36811
36812 1999-05-20  Jim Meyering  <meyering@ascend.com>
36813
36814         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
36815         Add a colon after each `then' in case $4 is empty.
36816
36817 1999-05-16  Jim Meyering  <meyering@ascend.com>
36818
36819         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
36820
36821 1999-05-10  Jim Meyering  <meyering@ascend.com>
36822
36823         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
36824
36825         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
36826         AC_FUNC_MKTIME.
36827
36828 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
36829
36830         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
36831
36832 1999-05-04  Paul Eggert  <eggert@twinsun.com>
36833
36834         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
36835         not CPPFLAGS, so that linking works correctly in IRIX.
36836
36837 1999-04-30  Paul Eggert  <eggert@twinsun.com>
36838
36839         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
36840
36841 1999-04-20  Paul Eggert  <eggert@twinsun.com>
36842
36843         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
36844         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
36845         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
36846         jm_AC_TYPE_UNSIGNED_LONG_LONG.
36847         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
36848
36849         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
36850
36851 1999-04-20  Jim Meyering  <meyering@ascend.com>
36852
36853         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
36854         AC_REPLACE xstroull if necessary.  From Paul Eggert.
36855         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
36856
36857 1999-04-18  Jim Meyering  <meyering@ascend.com>
36858
36859         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
36860         * m4/jm-macros.m4: Use it.
36861
36862 1999-04-06  Jim Meyering  <meyering@ascend.com>
36863
36864         * m4/strftime.m4: Remove test for %f.
36865
36866 1999-03-29  Jim Meyering  <meyering@ascend.com>
36867
36868         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
36869         superset of the AC_TYPE_* checks in the textutils, fileutils,
36870         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
36871         AC_TYPE_PID_T.
36872
36873 1999-03-28  Jim Meyering  <meyering@ascend.com>
36874
36875         * m4/jm-macros.m4: Define GNU_PACKAGE here.
36876         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
36877         replaced e.g., in the *.sh files of the sh-utils.
36878
36879 1999-03-20  Jim Meyering  <meyering@ascend.com>
36880
36881         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
36882         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
36883         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
36884
36885 1999-03-19  Jim Meyering  <meyering@ascend.com>
36886
36887         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
36888
36889 1999-03-12  Jim Meyering  <meyering@ascend.com>
36890
36891         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
36892
36893 1999-03-07  Jim Meyering  <meyering@ascend.com>
36894
36895         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
36896         declared.
36897
36898 1999-02-17  Jim Meyering  <meyering@ascend.com>
36899
36900         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
36901         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
36902
36903 1999-02-07  Jim Meyering  <meyering@ascend.com>
36904
36905         * m4/group-member.m4: New file -- extracted from sh-utils'
36906         configure.in.
36907
36908         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
36909         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
36910
36911 1999-02-06  Jim Meyering  <meyering@ascend.com>
36912
36913         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
36914         * m4/fnmatch.m4: Likewise.
36915         * m4/getgroups.m4: Likewise.
36916         * m4/lstat.m4: Likewise.
36917         * m4/malloc.m4: Likewise.
36918         * m4/putenv.m4: Likewise.
36919         * m4/realloc.m4: Likewise.
36920         * m4/regex.m4: Likewise.
36921         * m4/stat.m4: Likewise.
36922         * m4/strftime.m4: Likewise.
36923         Suggestion from Alain Magloire.
36924
36925         * m4/chown.m4: Use `.$ac_objext', not `.o'.
36926         * m4/fnmatch.m4: Likewise.
36927         * m4/getgroups.m4: Likewise.
36928         * m4/getline.m4: Likewise.
36929         * m4/lstat.m4: Likewise.
36930         * m4/malloc.m4: Likewise.
36931         * m4/memcmp.m4: Likewise.
36932         * m4/putenv.m4: Likewise.
36933         * m4/realloc.m4: Likewise.
36934         * m4/regex.m4: Likewise.
36935         * m4/stat.m4: Likewise.
36936         * m4/strftime.m4: Likewise.
36937         Suggestion from Alain Magloire.
36938
36939         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
36940         an argument.
36941
36942         * m4/regex.m4: Add a run-time Test for proper operation of
36943         re_compile_pattern.
36944
36945 1999-01-31  Jim Meyering  <meyering@ascend.com>
36946
36947         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
36948
36949 1999-01-30  Jim Meyering  <meyering@ascend.com>
36950
36951         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
36952
36953         * m4/jm-mktime.m4: Make this a wrapper around the official
36954         AM_FUNC_MKTIME rather than my private copy, now that the official one
36955         is up to date.
36956         * m4/mktime.m4: Remove file.
36957
36958         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
36959         * m4/uptime.m4: Likewise.
36960         * m4/uintmax_t.m4: Likewise.
36961
36962 1999-01-28  Jim Meyering  <meyering@ascend.com>
36963
36964         * m4/jm-macros.m4: Use jm_AFS.
36965         * m4/afs.m4: New file (from fileutils' configure.in).
36966
36967         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
36968         * m4/chown.m4: Likewise.
36969         * m4/d-ino.m4: Likewise.
36970         * m4/d-type.m4: Likewise.
36971         * m4/fnmatch.m4: Likewise.
36972         * m4/getgroups.m4: Likewise.
36973         * m4/gettext.m4: Likewise.
36974         * m4/jm-mktime.m4: Likewise.
36975         * m4/jm-winsz2.m4: Likewise.
36976         * m4/lcmessage.m4: Likewise.
36977         * m4/ls-mntd-fs.m4: Likewise.
36978         * m4/malloc.m4: Likewise.
36979         * m4/memcmp.m4: Likewise.
36980         * m4/putenv.m4: Likewise.
36981         * m4/realloc.m4: Likewise.
36982         * m4/st_mtim.m4: Likewise.
36983         * m4/strftime.m4: Likewise.
36984
36985 1999-01-16  Jim Meyering  <meyering@ascend.com>
36986
36987         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
36988         (ARGMATCH_DIE_DECL): Define.
36989
36990 1999-01-12  Jim Meyering  <meyering@ascend.com>
36991
36992         * m4/Makefile.am.in: Rewrite to avoid using fmt.
36993         Reported by Lars Hecking.
36994
36995 1999-01-10  Jim Meyering  <meyering@ascend.com>
36996
36997         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
36998         gross kludge.
36999         * m4/inttypes_h.m4: Likewise.
37000         * m4/lstat.m4: Likewise.
37001         * m4/malloc.m4: Likewise.
37002         * m4/readdir.m4: Likewise.
37003         * m4/realloc.m4: Likewise.
37004         * m4/st_dm_mode.m4: Likewise.
37005         * m4/stat.m4: Likewise.
37006         * m4/utimbuf.m4: Likewise.
37007         * m4/utimes.m4: Likewise.
37008
37009         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
37010         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
37011         comments in config.h.in are meaningful.
37012
37013         * m4/jm-macros.m4: Require autoconf-2.13 here.
37014
37015         * m4/regex.m4: By default, don't use the included regex.c on systems
37016         with glibc 2.  Suggestion from Uli Drepper.
37017
37018 1999-01-02  Jim Meyering  <meyering@ascend.com>
37019
37020         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
37021
37022 1998-12-18  Jim Meyering  <meyering@ascend.com>
37023
37024         * m4/Makefile.am.in (Makefile.am): Simplify rule.
37025         Based on a suggestion from Lars Hecking.
37026
37027 1998-11-16  Paul Eggert  <eggert@twinsun.com>
37028
37029         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
37030
37031 1998-11-16  Jim Meyering  <meyering@ascend.com>
37032
37033         * m4/lfs.m4: Double-quote the `uname...` expression.
37034
37035 1998-11-14  Jim Meyering  <meyering@ascend.com>
37036
37037         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
37038         * m4/stat.m4: Likewise.
37039
37040 1998-11-03  Jim Meyering  <meyering@ascend.com>
37041
37042         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
37043         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
37044
37045 1998-10-18  Jim Meyering  <meyering@ascend.com>
37046
37047         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
37048
37049 1998-10-17  Jim Meyering  <meyering@ascend.com>
37050
37051         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
37052         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
37053         calls for those previously hard-coded headers.  Instead, take a new
37054         parameter.
37055         (jm_CHECK_DECLARATIONS): Reflect interface change.
37056         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
37057         (jm_CHECK_DECL_LOCALTIME_R): New macro.
37058
37059         * m4/mktime.m4: Test for spring-forward gap before long-running test.
37060
37061 1998-10-14  Jim Meyering  <meyering@ascend.com>
37062
37063         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
37064         instead of "TZ=America/Vancouver".  From Paul Eggert.
37065
37066 1998-10-11  Jim Meyering  <meyering@ascend.com>
37067
37068         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
37069         This adds a test for a recently added compatibility fix for mktime.c.
37070         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
37071
37072 1998-09-27  Jim Meyering  <meyering@ascend.com>
37073
37074         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
37075
37076         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
37077         ../configure.in, including a change from Gordon Matzigkeit to allow
37078         cross-compiling for the Hurd.
37079
37080         * m4/glibc.m4: New file/macro to test for the GNU C Library
37081         versions 1 and 2.  From Gordon Matzigkeit.
37082         Indent.
37083
37084 1998-09-21  Jim Meyering  <meyering@ascend.com>
37085
37086         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
37087
37088 1998-08-18  Paul Eggert  <eggert@twinsun.com>
37089
37090         Port nanosecond-resolution times to UnixWare 2.1.2 and
37091         pedantic Solaris 2.6.
37092
37093         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
37094         AC_STRUCT_ST_MTIM.
37095         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
37096         Generate name of ns member, instead of just 1 or undef.
37097         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
37098
37099 1998-08-15  Jim Meyering  <meyering@ascend.com>
37100
37101         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
37102         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
37103         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
37104         instead of jm_TYPE_SSIZE_T.
37105
37106 1998-08-12  Jim Meyering  <meyering@ascend.com>
37107
37108         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
37109
37110 1998-08-02  Jim Meyering  <meyering@ascend.com>
37111
37112         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
37113         in acconfig.h manually.
37114
37115 1998-07-31  Paul Eggert  <eggert@twinsun.com>
37116
37117         * m4/st_mtim.m4: New file.
37118
37119 1998-07-28  Jim Meyering  <meyering@ascend.com>
37120
37121         * m4/utimes.m4: Undef stat.
37122
37123 1998-07-25  Jim Meyering  <meyering@ascend.com>
37124
37125         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
37126         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
37127
37128 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
37129
37130         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
37131         uid and gid actually remain unchanged.
37132
37133 1998-07-07  Jim Meyering  <meyering@ascend.com>
37134
37135         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
37136
37137 1998-07-04  Jim Meyering  <meyering@ascend.com>
37138
37139         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
37140         to prove that this macro can be used in packages without regex.c.
37141
37142 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
37143
37144         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
37145         is to be used.
37146
37147 1998-07-03  Jim Meyering  <meyering@ascend.com>
37148
37149         * m4/gettext.m4: Add -lintl if it's found to be necessary.
37150
37151         * m4/gettext.m4: New file -- from gettext-0.10.35.
37152         * m4/lcmessage.m4: Likewise.
37153         * m4/progtest.m4: Likewise.
37154
37155         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
37156         * m4/jm-macros.m4: Require the new macro.
37157
37158 1998-06-29  Jim Meyering  <meyering@ascend.com>
37159
37160         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
37161         for the definition of NGROUPS (used in a system header included
37162         by sys/mount.h).
37163
37164 1998-06-28  Jim Meyering  <meyering@ascend.com>
37165
37166         * m4/ls-mntd-fs.m4: New file.
37167         * m4/fstypename.m4: New file.
37168
37169         * m4/jm-macros.m4: Require the new macro.
37170         * m4/jm-glibc-io.m4: New file.
37171
37172 1998-05-19  Jim Meyering  <meyering@ascend.com>
37173
37174         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
37175         * m4/lchown.m4: New file.
37176
37177         * m4/Makefile.am.in: New file.
37178         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
37179
37180 1998-05-14  Jim Meyering  <meyering@ascend.com>
37181
37182         * m4/Makefile.am (EXTRA_DIST): Add them.
37183         * m4/jm-macros.m4: New file.
37184         * m4/utimbuf.m4: New file.
37185
37186 1998-05-12  Jim Meyering  <meyering@ascend.com>
37187
37188         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
37189
37190 1998-05-11  Jim Meyering  <meyering@ascend.com>
37191
37192         * m4/isc-posix.m4: New file.
37193
37194 1998-05-10  Jim Meyering  <meyering@ascend.com>
37195
37196         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
37197
37198 1998-05-09  Jim Meyering  <meyering@ascend.com>
37199
37200         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
37201         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
37202         with automake.
37203
37204         * m4/ssize_t.m4: New file.
37205         * m4/mktime.m4: Remove file -- the new automake has this now.
37206
37207 1998-04-26  Jim Meyering  <meyering@ascend.com>
37208
37209         * m4/assert.m4: New file.
37210         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
37211
37212 1998-04-05  Jim Meyering  <meyering@ascend.com>
37213
37214         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
37215         (jm_PREREQ): Use it here.
37216
37217 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
37218
37219         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
37220         in acconfig.h.
37221
37222 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
37223
37224         * m4/prereq.m4: New file.
37225         * m4/error.m4: New file.
37226         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
37227
37228 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
37229
37230         * m4/getline.m4: Don't set am_cv_func_working_getline before the
37231         cache-check for the same variable -- that defeated the purpose of
37232         the test; the test program was never run.  This was a problem only
37233         on systems with losing getline functions -- HP-UX 10.20 is one.
37234         Reported by Bjorn Helgaas.
37235
37236 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
37237
37238         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
37239
37240 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
37241
37242         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
37243
37244         * m4/const.m4: New file.  Use an initializer in this declaration
37245         typedef int charset[2]; const charset x;
37246         Reported by Bob Glickstein.
37247
37248 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
37249
37250         * m4/chown.m4: Fix reversed types on -1 args to chown.
37251         From Kaveh Ghazi.
37252
37253 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
37254
37255         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
37256         Add lseek and memchr.
37257
37258         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
37259         T.E.Dickey <dickey@clark.net> said that some older preprocessors
37260         have a 20-character limit on names.
37261
37262 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
37263
37264         * m4/inttypes_h.m4: New file.
37265         * m4/uintmax_t.m4: New file.
37266         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
37267
37268 Copyright (C) 1997-2008 Free Software Foundation, Inc.
37269 Copying and distribution of this file, with or without modification,
37270 are permitted provided the copyright notice and this notice are preserved.